Skip to content

Commit 509057f

Browse files
committed
Adding basic alignmentcode page with MultipleStructureAlignment proposal
1 parent ad1dfab commit 509057f

2 files changed

Lines changed: 45 additions & 1 deletion

File tree

structure/alignment.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ The functionality to perform and visualize these alignments can of course be
5353
used also from your own code. Let's first have a look at the alignment
5454
algorithms.
5555

56-
## The Alignment Algorithms
56+
## Pairwise Alignment Algorithms
5757

5858
### Combinatorial Extension (CE)
5959

@@ -247,6 +247,10 @@ are available which are not exposed in the GUI, such as outputting results to a
247247
file in various formats.
248248

249249

250+
## See Also
251+
252+
For details about performing alignments programatically, see [Structure Alignment in BioJava](alignmentcode.md)
253+
250254
## Acknowledgements
251255

252256
Thanks to P. Bourne, Yuzhen Ye and A. Godzik for granting permission to freely use and redistribute their algorithms.

structure/alignmentcode.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

Comments
 (0)