Skip to content

Commit dd2b482

Browse files
committed
Describe the GUI for multiple alignments
1 parent 34a1a4d commit dd2b482

File tree

1 file changed

+72
-20
lines changed

1 file changed

+72
-20
lines changed

structure/alignment.md

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,60 @@ Structure Alignment
33

44
## What is a Structure Alignment?
55

6-
A **structural alignment** attempts to establish equivalences between two or more polymer structures based on their shape and three-dimensional conformation. In contrast to simple structural superposition (see below), where at least some equivalent residues of the two structures are known, structural alignment requires no a priori knowledge of equivalent positions.
7-
8-
**Structural alignment** is a valuable tool for the comparison of proteins with low sequence similarity, where evolutionary relationships between proteins cannot be easily detected by standard sequence alignment techniques. **Structural alignment** can therefore be used to imply evolutionary relationships between proteins that share very little common sequence. However, caution should be exercised when using the results as evidence for shared evolutionary ancestry, because of the possible confounding effects of convergent evolution by which multiple unrelated amino acid sequences converge on a common tertiary structure.
9-
10-
**Structural alignment** of other biological structures can also be made in BioJava. For example, nucleic acids can
11-
be structurally aligned to find common structural motifs, independent of sequence simililarity. This is specially
12-
important for RNAs, because their 3D structure arrangement is important for their function.
6+
A **structural alignment** attempts to establish equivalences between two or
7+
more polymer structures based on their shape and three-dimensional conformation.
8+
In contrast to simple structural superposition (see below), where at least some
9+
equivalent residues of the two structures are known, structural alignment requires
10+
no a priori knowledge of equivalent positions.
11+
12+
A **structural alignment** is a valuable tool for the comparison of proteins with
13+
low sequence similarity, where evolutionary relationships between proteins cannot
14+
be easily detected by standard sequence alignment techniques. Therefore, a
15+
**structural alignment** can be used to imply evolutionary relationships between
16+
proteins that share very little common sequence. However, caution should be exercised
17+
when using the results as evidence for shared evolutionary ancestry, because of the
18+
possible confounding effects of convergent evolution by which multiple unrelated amino
19+
acid sequences converge on a common tertiary structure.
20+
21+
A **structural alignment** of other biological polymers can also be made in BioJava.
22+
For example, nucleic acids can be structurally aligned to find common structural motifs,
23+
independent of sequence simililarity. This is specially important for RNAs, because their
24+
3D structure arrangement is important for their function.
1325

1426
For more info see the Wikipedia article on [structure alignment](http://en.wikipedia.org/wiki/Structural_alignment).
1527

1628
## Alignment Algorithms supported by BioJava
1729

1830
BioJava comes with a number of algorithms for aligning structures. The following
1931
five options are displayed by default in the graphical user interface (GUI),
20-
although others can be accessed programmatically using the methods in
21-
[StructureAlignmentFactory]
22-
(http://www.biojava.org/docs/api/org/biojava/nbio/structure/align/StructureAlignmentFactory.html).
32+
although others can be accessed programmatically using the methods in
33+
[StructureAlignmentFactory](http://www.biojava.org/docs/api/org/biojava/nbio/structure/align/StructureAlignmentFactory.html).
2334

2435
1. Combinatorial Extension (CE)
2536
2. Combinatorial Extension with Circular Permutation (CE-CP)
2637
3. FATCAT - rigid
2738
4. FATCAT - flexible.
2839
5. Smith-Waterman superposition
2940

30-
CE and FATCAT both use structural similarity to align the structures, while
31-
Smith-Waterman performs a local sequence alignment and then displays the result
41+
**CE** and **FATCAT** both use structural similarity to align the structures, while
42+
**Smith-Waterman** performs a local sequence alignment and then displays the result
3243
in 3D. See below for descriptions of the algorithms.
3344

34-
Since BioJava version 4.1.0, multiple structure alignments can be generated and visualized.
45+
Since BioJava version 4.1.0, multiple structures can be compared at the same time in
46+
a **multiple structure alignment**, that can later be visualized in Jmol.
3547
The algorithm is described in detail below. As an overview, it uses any pairwise alignment
36-
algorithm and a reference structure to align all of the structures. Then, it runs a Monte
37-
Carlo optimization method to determine the residue equivalencies between all the strucutures,
38-
identifying conserved structural motifs.
48+
algorithm and a **reference** structure to per perform an alignment of all the structures.
49+
Then, it runs a **Monte Carlo** optimization to determine the residue equivalencies among
50+
all the strucutures, identifying conserved **structural motifs**.
3951

4052
## Alignment User Interface
4153

4254
Before going the details how to use the algorithms programmatically, let's take
43-
a look at the user interface that cames with the *biojava-structure-gui* module.
55+
a look at the user interface that comes with the *biojava-structure-gui* module.
56+
57+
### Pairwise Alignment GUI
58+
59+
Generating an instance of the GUI is just one line of code:
4460

4561
```java
4662
AlignmentGui.getInstance();
@@ -60,9 +76,45 @@ and also a 2D display, that interacts with the 3D display
6076

6177
![2D Alignment of PDB IDs 2hyn and 1zll](img/alignmentpanel.png)
6278

63-
The functionality to perform and visualize these alignments can of course be
64-
used also from your own code. Let's first have a look at the alignment
65-
algorithms.
79+
### Multiple Alignment GUI
80+
81+
Because of the inherent difference between multiple and pairwise alignments,
82+
a separate GUI is used to trigger multiple structural alignments. Generating
83+
an instance of the GUI is analogous to the pairwise alignment GUI:
84+
85+
```java
86+
MultipleAlignmentGUI.getInstance();
87+
```
88+
89+
This code shows the following user interface:
90+
91+
![Multiple Alignment GUI](img/multiple_gui.png)
92+
93+
The input format is a free text field, where the structure identifiers are
94+
indidcated, space separated. A **structure identifier** is a String that
95+
uniquely identifies a structure. It is basically composed of the pdbID, the
96+
chain letters and the ranges of residues of each chain. For the formal description
97+
visit [StructureIdentifier](http://www.biojava.org/docs/api/org/biojava/nbio/structure/StructureIdentifier.html).
98+
99+
As an example, a multiple structure alignment of 6 globins is shown here.
100+
Their structure identifiers are shown in the previous figure of the GUI.
101+
The results are shown in a graphical way, as for the pairwise alignments:
102+
103+
![3D Globin Multiple Alignment](img/multiple_jmol_globins.png)
104+
105+
The only difference with the Pairwise Alignment View is the possibility to show
106+
a subset of structures to be visualized, by checking the boxes under the 3D
107+
window and pressing the Show Only button afterwards.
108+
109+
A **sequence alignment panel** that interacts with the 3D display can also be shown.
110+
111+
![3D Globin Multiple Panel](img/multiple_panel_globins.png)
112+
113+
Explore the coloring options in the *Edit* menu, and through the *View* menu for
114+
alternative representations of the alignment.
115+
116+
The functionality to perform and visualize these alignments can also be
117+
used from your own code. Let's first have a look at the alignment algorithms.
66118

67119
## Pairwise Alignment Algorithms
68120

0 commit comments

Comments
 (0)