bug #h77: hmmalign corrupts column before an all-delete column

Denis Schmidt (University of Frankfurt) has reported a critical bug against hmmalign in 3.0rc1.

Any time there is an alignment column consisting of all deletions, the code is supposed to remove the alignment column altogether; instead, it overwrites the previous alignment column with an all-delete column, which most likely overwrites sequence residues and corrupts the alignment.

I inadvertently introduced this bug in 3.0rc1, when fixing a different issue. 3.0b3 does not have the bug.

A workaround is to use 'hmmalign --allcol'. The --allcol option makes every column appear in multiple alignments, even if it consists entirely of gap characters (i.e. a consensus position that none of the aligned sequences have a residue for).

The bug is fixed in the 3.0 release branch code, and the fix will appear shortly in the next release.