Pairwise structure alignments are currently stored in the AFPChain class. The
class functions as a bean, and contains many variables used internally by
various alignment algorithms.
This data structure introduces a more explicit model for storing structure alignments. It is more flexible than the AFPChain model, adding support for
- Multiple alignments
- Non-topological alignments, such as circular permutations
- Mutable, while maintaining internal consistency
A block is a series of aligned residues within a structure. A block must be a sequential alignment; the order of residues within the block should be strictly increasing. Blocks in the same alignment should be non-overlapping. Only aligned positions are specified in the block, but individual structures may have gaps and deletions at any position. A block corresponds most closely to a traditional, sequential multiple alignment with a row for each structure and a column for each aligned position.
A match represents a set of blocks with a single global superposition. This superposition is stored in a pose, which contains the affine transform required for the superposition.
Finally, a MultipleStructureAlignment associates a set of Structures with one
or more matches.
A typical pairwise alignment would be a single match, a single pose, and a single block of two structures.