5b76d109f29cb9c03024a5b6a9aa572932579ff6
[jalview.git] / help / html / calculations / pca.html
1 <html>
2 <!--
3  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
4  * Copyright (C) $$Year-Rel$$ The Jalview Authors
5  * 
6  * This file is part of Jalview.
7  * 
8  * Jalview is free software: you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License 
10  * as published by the Free Software Foundation, either version 3
11  * of the License, or (at your option) any later version.
12  *  
13  * Jalview is distributed in the hope that it will be useful, but 
14  * WITHOUT ANY WARRANTY; without even the implied warranty 
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
16  * PURPOSE.  See the GNU General Public License for more details.
17  * 
18  * You should have received a copy of the GNU General Public License
19  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
20  * The Jalview Authors are detailed in the 'AUTHORS' file.
21  -->
22 <head>
23 <title>Principal Component Analysis</title>
24 </head>
25 <body>
26   <p>
27     <strong>Principal Component Analysis</strong>
28   </p>
29   <p>
30     A principal component analysis can be performed via the <a
31       href="calculations.html">calculations dialog</a> which is accessed
32     by selecting <strong>Calculate&#8594;Calculate Tree or
33       PCA...</strong>.
34   </p>
35   <p>This calculation creates a spatial representation of the
36     similarities within a selected group, or all of the sequences in an
37     alignment. After the calculation finishes, a 3D viewer displays the
38     set of sequences as points in 'similarity space', and similar
39     sequences tend to lie near each other in the space.</p>
40   <p>
41     <em>Caveats</em><br />The calculation can be computationally
42     expensive, and may fail for very large sets of sequences - usually
43     because the JVM has run out of memory. However, the PCA
44     implementation in Jalview 2.10.2 employs more memory efficient
45     matrix storage structures, allowing larger PCAs to be performed.
46   </p>
47
48   <p>
49     <strong>About PCA</strong>
50   </p>
51   <p>Principal components analysis is a technique for examining the
52     structure of complex data sets. The components are a set of
53     dimensions formed from the measured values in the data set, and the
54     principal component is the one with the greatest magnitude, or
55     length. The sets of measurements that differ the most should lie at
56     either end of this principal axis, and the other axes correspond to
57     less extreme patterns of variation in the data set.</p>
58
59   <p>
60     <em>Calculating PCAs for aligned sequences</em><br />Jalview can
61     perform PCA analysis on both proteins and nucleotide sequence
62     alignments. In both cases, components are generated by an
63     eigenvector decomposition of the matrix formed from pairwise similarity
64     scores between each pair of sequences. The similarity score model is 
65     selected on the <a href="calculations.html">calculations dialog</a>, and
66     may use one of the available score matrices, such as 
67     <a href="scorematrices.html#blosum62">BLOSUM62</a>,
68     <a href="scorematrices.html#pam250">PAM250</a>, or the <a
69       href="scorematrices.html#simplenucleotide">simple single
70       nucleotide substitution matrix</a>, or by sequence percentage identity,
71       or sequence feature similarity. 
72   </p>
73   <img src="pcaviewer.gif">
74   <p>
75     <strong>The PCA Viewer</strong>
76   </p>
77   <p>This is an interactive display of the sequences positioned
78     within the similarity space, as points in a rotateable 3D
79     scatterplot. The colour of each sequence point is the same as the
80     sequence group colours, white if no colour has been defined for the
81     sequence, and green if the sequence is part of a the currently
82     selected group.</p>
83   <p>
84     The 3d view can be rotated by dragging the mouse with the <strong>left
85       mouse button</strong> pressed. The view can also be zoomed in and out with
86     the up and down <strong>arrow keys</strong> (and the roll bar of the
87     mouse if present). Labels will be shown for each sequence if the
88     entry in the View menu is checked, and the plot background colour
89     changed from the View&#8594;Background Colour.. dialog box. The File
90     menu allows the view to be saved (<strong>File&#8594;Save</strong>
91     submenu) as an EPS or PNG image or printed, and the original
92     alignment data and matrix resulting from its PCA analysis to be
93     retrieved. The coordinates for the whole PCA space, or just the
94     current view may also be exported as CSV files for visualization in
95     another program or further analysis.
96   <p>
97   <p>Options for coordinates export are:</p>
98   <ul>
99     <li>Output Values - complete dump of analysis (TxT* matrix
100       computed from sum of scores for all pairs of aligned residues from
101       from i->j and j->i, conditioned matrix to be diagonalised,
102       tridiagonal form, major eigenvalues found)</li>
103     <li>Output Points - The eigenvector matrix - rows correspond to
104       sequences, columns correspond to each dimension in the PCA</li>
105     <li>Transformed Points - The 3D coordinates for each sequence
106       as shown in the PCA plot</li>
107   </ul>
108
109   <p>
110     A tool tip gives the sequence ID corresponding to a point in the
111     space, and clicking a point toggles the selection of the
112     corresponding sequence in the associated alignment window views.
113     <!-- Rectangular region
114 based selection is also possible, by holding the 'S' key whilst
115 left-clicking and dragging the mouse over the display. -->
116     By default, points are only associated with the alignment view from
117     which the PCA was calculated, but this may be changed via the <strong>View&#8594;Associate
118       Nodes</strong> sub-menu.
119   </p>
120   <p>
121     Initially, the display shows the first three components of the
122     similarity space, but any eigenvector can be used by changing the
123     selected dimension for the x, y, or z axis through each ones menu
124     located below the 3d display. The <strong><em>Reset</em></strong>
125     button will reset axis and rotation settings to their defaults.
126   </p>
127   <p>
128   <p>
129     <em>The output of points and transformed point coordinates was
130       added to the Jalview desktop in v2.7.</em> <em>The Reset button
131       and Change Parameters menu were added in Jalview 2.8.</em> <em>Support
132       for PAM250 based PCA was added in Jalview 2.8.1.</em>
133   </p>
134   <p>
135     <strong>Reproducing PCA calculations performed with older
136       Jalview releases</strong> Jalview 2.10.2 included a revised PCA
137     implementation which treated Gaps and non-standard residues in the
138     same way as a matrix produced with the method described in the paper
139     by G. Casari, C. Sander and A. Valencia. Structural Biology volume
140     2, no. 2, February 1995 (<a
141       href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=pubmed&dopt=Abstract&list_uids=7749921">pubmed</a>)
142     and implemented at the SeqSpace server at the EBI. To reproduce
143     calculations performed with earlier Jalview releases it is necessary
144     to execute the following Groovy script:
145   <pre>
146     jalview.analysis.scoremodels.ScoreMatrix.scoreGapAsAny=true
147     jalview.analysis.scoremodels.ScoreModels.instance.BLOSUM62.@matrix[4][1]=3
148     </pre>
149   This script enables the legacy PCA mode where gaps were treated as
150   'X', and to modify the BLOSUM62 matrix so it is asymmetric for
151   mutations between C to R (this was a typo in the original Jalview
152   BLOSUM62 matrix which was fixed in 2.10.2).
153   </p>
154 </body>
155 </html>