|
| 1 | +Structure Alignment in BioJava |
| 2 | +=== |
| 3 | + |
| 4 | +## Data Structures |
| 5 | + |
| 6 | +### Legacy AFPChain model |
| 7 | + |
| 8 | +Pairwise structure alignments are currently stored in the `AFPChain` class. The |
| 9 | +class functions as a bean, and contains many variables used internally by |
| 10 | +various alignment algorithms. |
| 11 | + |
| 12 | +### Proposed MultipleStructureAlignment data model |
| 13 | + |
| 14 | +This data structure introduces a more explicit model for storing structure |
| 15 | +alignments. It is more flexible than the AFPChain model, adding support for |
| 16 | + |
| 17 | +* Multiple alignments |
| 18 | +* Non-topological alignments, such as circular permutations |
| 19 | +* Mutable, while maintaining internal consistency |
| 20 | + |
| 21 | +A ***block*** is a series of aligned residues within a structure. A block must |
| 22 | +be a sequential alignment; the order of residues within the block should be |
| 23 | +strictly increasing. Blocks in the same alignment should be non-overlapping. |
| 24 | +Only aligned positions are specified in the block, but individual structures may |
| 25 | +have gaps and deletions at any position. A block corresponds most closely to a |
| 26 | +traditional, sequential multiple alignment with a row for each structure and a |
| 27 | +column for each aligned position. |
| 28 | + |
| 29 | +A ***match*** represents a set of blocks with a single global superposition. |
| 30 | +This superposition is stored in a ***pose***, which contains the affine |
| 31 | +transform required for the superposition. |
| 32 | + |
| 33 | +Finally, a `MultipleStructureAlignment` associates a set of Structures with one |
| 34 | +or more matches. |
| 35 | + |
| 36 | +### Examples |
| 37 | + |
| 38 | +A typical pairwise alignment would be a single match, a single pose, and a |
| 39 | +single block of two structures. |
| 40 | + |
0 commit comments