New alignment merge algorithm

The alignment merge algorithm has been updated. Instead of merging one subalignment at a time, it now merges all subalignments at once.

This new algorithm comes with two options:

  1. A strategy that determines which legal move from a collection of legal moves is considered to be best.
  2. A boolean that states whether the merged alignment is to be noted as unreliable in case any conflict occurred during the merge.

Legal move strategies

Minimal costs

Take a legal move with minimal costs

Maximal costs

Take a legal move with maximal costs

Random

Take an arbitrary legal move

First

Take the first legal move

The default is Maximal costs.

Conflicts result in unreliable alignment

This option helps the user to distinguish any trace alignment that resulted from the merge from any trace pseudo-alignment that result from the merge. If no conflicts have occurred while merging several trace alignments, then the resulting merged trace alignment will indeed be an alignment. If conflicts did occur, then the result will not be an alignment, but a pseudo-alignment.

By declaring the pseudo-alignments to be unreliable, the user gets visual feedbacks for them. The picture below shows this: The trace alignments highlighted with bright red are marked as unreliable, and are hence no proper alignments (in the context of the alignment merge, of course). The other trace alignments had no conflicts, and are therefore proper alignments.

By default, this option is set to false.