I just came across something I would call a bug: assume you have two contigs which get joined and this introduces gaps in the reads of one contig. Then gap5 will give the inserted gaps a quality value of 0, which is extremely dangerous if not totally wrong if afterwards the consensus is calculated by taking quality values into.
Here's what happened to me: in a join, the end of a contig with two erroneous bases got joined to the widdle of another contig with hundreds of correct Solexa bases like this:
When calculating the consensus again in MIRA (which takes quality values into account), the two "A" bases had a quality so much larger (upper 30's) than the gap bases (having 0), that the consensus algorithm took both the "A" bases as well as the gap bases into account for building a consensus. Under normal circumstances my algorithms would have given a IUPAC base as consensus, but as there is no IUPAC for "base or gap", the base wins out and therefore things go awfully wrong.
Would there be anything speaking against the rule to insert gap bases with a quality calculated as the average of the neighbouring bases?