Abstract
Background
An algorithm is presented to compute a multiple structure alignment for a set of proteins and to generate a consensus (pseudo) protein which captures common substructures present in the given proteins. The algorithm represents each protein as a sequence of triples of coordinates of the alphacarbon atoms along the backbone. It then computes iteratively a sequence of transformation matrices (i.e., translations and rotations) to align the proteins in space and generate the consensus. The algorithm is a heuristic in that it computes an approximation to the optimal alignment that minimizes the sum of the pairwise distances between the consensus and the transformed proteins.
Results
Experimental results show that the algorithm converges quite rapidly and generates consensus structures that are visually similar to the input proteins. A comparison with other coordinatebased alignment algorithms (MAMMOTH and MATT) shows that the proposed algorithm is competitive in terms of speed and the sizes of the conserved regions discovered in an extensive benchmark dataset derived from the HOMSTRAD and SABmark databases.
The algorithm has been implemented in C++ and can be downloaded from the project's web page. Alternatively, the algorithm can be used via a web server which makes it possible to align protein structures by uploading files from local disk or by downloading protein data from the RCSB Protein Data Bank.
Conclusions
An algorithm is presented to compute a multiple structure alignment for a set of proteins, together with their consensus structure. Experimental results show its effectiveness in terms of the quality of the alignment and computational cost.
Background
This paper presents an algorithm to compute a multiple structure alignment for a set of proteins and to generate a consensus structure. The algorithm is called MAPSCI, which stands for Multiple Alignment of Protein Structures and Consensus Identification. MAPSCI addresses the problem of global structure alignment, which has also been considered by CEMC [1], MAMMOTH [2], and MATT [3]. Specifically, MAPSCI computes an approximation to the multiple structure alignment that minimizes the socalled SumofConsensus distance (SCdistance), i.e. the sum of the pairwise distances between the consensus structure and each protein in the set (see the Methods section for the precise definition of SCdistance). Our experiments show that MAPSCI converges quite rapidly and produces alignments that compare favorably with the alignments produced by MAMMOTH and MATT. The consensus structures generated by MAPSCI are visually quite similar to the input proteins. Although the consensus structures are not real proteins, they could be used, for instance, as templates to perform fast searches through protein structure databases, such as the Protein Data Dank [4], to identify structurally similar proteins.
MAPSCI has similar structure to the algorithm of Ye and Janardan [5]. However, MAPSCI works directly on the coordinates of the C_{α }atoms and produces true alignments; by contrast, the algorithm in [5] requires that the backbone vectors be translated to the origin, hence information about the relative positions of the C_{α }atoms in ℝ^{3 }is lost and as a result the algorithm does not generate true alignments. The Methods section presents the mathematical and algorithmic framework of MAPSCI and provides the complete details where the two algorithms differ significantly; when there is an overlap the reader is referred to publication [5].
Implementation
MAPSCI represents the input proteins and the consensus as sequences of triples of coordinates of the alphacarbon (or C_{α}) atoms along the backbone. It then computes a correspondence between the coordinate triples of the C_{α }atoms in the different protein structures by choosing one of the proteins as the initial consensus and applying an algorithm that is analogous to the centerstar method for multiple sequence alignment [6]. Next, MAPSCI derives a set of translation and rotation matrices that are optimal for the computed correspondence and uses these to align the structures in space via rigid motions and obtain the new consensus. The process is repeated until the change in SCdistance is less than a prescribed threshold. This iterative process is welldefined as it is shown in the Methods section that the SCdistance is nonincreasing from one iteration to the next. The computation of the optimal translations and rotations and the new consensus is itself an iterative process that both uses the current consensus and generates simultaneously a new one.
Table 1 summarizes the algorithm in pseudocode form. The various steps in the pseudocode are described in more detail in the Methods section. The algorithm has been implemented in C++ and can be used standalone or run remotely via a webbased interface. The source code of the implementation is available for download from the project's website (see the Availability section). The implementation is organized as a library of algorithms and simple data structures that can be integrated in other projects. Examples of using the library within a C++ program are given in the README file of the source code distribution. The iterative process described above employs pairwise structure alignment as an intermediate step and the parameters that control the execution of the multiple alignment algorithm are the parameters for the underlying pairwise alignment algorithm. The current implementation uses the pairwise alignment algorithm described in [7]; however, other algorithms for pairwise structure alignment can be used instead.
Table 1. Algorithm MAPSCI: Multiple Alignment of Protein Structures and Consensus Identification
Results
Web Server
MAPSCI has been incorporated into a web server for remote access over the Internet (see Figure 1). This tool allows for protein structures to be uploaded from files on the local disk or retrieved from the Protein Data Bank (PDB) [4] by specifying their PDB ids. The results from the alignment are annotated in the standard NBRF/PIR format, which can be previewed online via the Jalview applet [8]. Integrated with the server is the molecular viewer applet Chemis 3D [9], which allows for visualization of the aligned protein structures.
Figure 1. Web server screenshots. Screenshots from the web server: main page (top left), results page (bottom left), structure view (top right), sequence view (bottom right).
The web server offers a simple interface that allows for remote access from within other software. Table 2 gives an example of using the programming language Python to retrieve the transformed coordinates (in PDB format) for the multiple alignment of the structures from the HOMSTRAD CUB family. Additional examples and the complete set of options for remote access can be found at the server web page (see the Availability section).
Table 2. Remote access to the server
Comparison
As discussed earlier, there are many algorithms for multiple structure alignment. In general, it is difficult to make comparisons among them, since they operate under different sets of assumptions and problem formulations. We compare MAPSCI to two recent algorithms  MAMMOTH [2] and MATT [3]  which also work with coordinate triples, but employ a different objective function. Our experiments show that MAPSCI is competitive in terms of the sizes of the socalled conserved regions and runs significantly faster than the other two algorithms, hence can potentially scale to much larger datasets.
The comparison is based on two benchmark datasets. The first dataset is compiled from the HOMSTRAD database [10], which is a curated database of structurebased alignments for homologous protein families and is considered the "gold" standard. The benchmark dataset consists of the 232 HOMSTRAD families that have at least 4 structures. The second dataset consists of the superfamily set in the SABmark database [11] (version 1.65). It contains 425 families with low to intermediate sequence similarity. The metrics considered in the comparison are the strict core (or just core) and the core RMSD. This follows the experimental setup in [2] where strict core is defined as "the set of positions with 100% conservation, and within 4.0 Å of each other in the final structural alignment in 3D". A similar metric is discussed in [12] and [13]. The results are summarized in Figures 2 and 3, which show the pairwise comparisons (MAPSCI, MAMMOTH), (MAPSCI, MATT) in terms of the core size (expressed in percent of the length of the shortest protein) and the core RMSD. Table 3 provides a comparison of the average core size and average core RMSD for the three methods on the benchmark datasets.
Table 3. Benchmark datasets performance
Figure 2. HOMSTRAD dataset comparison. Comparison based on the strict core metric (expressed in percent of the size of the shortest protein) and the strict core RMSD on the HOMSTRAD dataset.
Figure 3. SABmark dataset comparison. Comparison based on the strict core metric (expressed in percent of the size of the shortest protein) and the strict core RMSD on the SABmark dataset.
In general, it is difficult to compare two algorithms based on these two metrics (larger cores tend to have larger RMSD). However, on the HOMSTRAD dataset MAPSCI outperformed MAMMOTH in 45% of the test cases and MATT in 59% of the test cases by computing alignments with both larger cores and smaller core RMSD. (MAMMOTH and MATT were better than MAPSCI on both metrics combined in 6% and 5% of the test cases, respectively). MAPSCI computed cores for all 232 test cases, while MAMMOTH failed to compute a core for one family (bowman), and MATT failed to compute a core for three families (asp, lipocalin, and tln).
On the SABmark dataset MAPSCI computed larger cores with better RMSD in 39% of the test cases when compared with MAMMOTH and in 37% of the test cases against against MATT. (MAMMOTH and MATT were better than MAPSCI on the two metrics combined in 15% and 26% of the test cases, respectively.) MATT was the most robust of the three algorithms and failed to compute a core in only five test cases; MAPSCI failed on 40 families and MAMMOTH failed on 31 families.
MAPSCI took only 151 seconds to align the 425 families in the SABmark dataset and 85 seconds to align the families in the HOMSTRAD dataset. MAMMOTH took 1100 seconds on the SABmark dataset and 649 seconds on the HOMSTRAD dataset. By contrast, MATT took several hours to process the two datasets. Figure 4 shows the actual time taken by MAPSCI for all families in the benchmark dataset in terms of the total number of residues per family. The algorithm converges very quickly and can potentially scale to large datasets. The machine used for all experiments reported in the paper runs Ubuntu Linux 8.04 and has 4 GB of RAM with Intel^{®}Core™2 Quad CPU Q9550 @ 2.83 GHz. MAMMOTH and MATT were run with their default parameter settings.
Figure 4. Execution time. The actual execution time of MAPSCI for all families in the benchmark datasets plotted in terms of the total number of residues per family.
Methods
In this section, we provide the mathematical and algorithmic framework underlying MAPSCI. As mentioned earlier MAPSCI shares common elements with the algorithm in [5], and therefore, we follow the same general outline. However, we only present the full details when there are significant differences and refer the reader to [5] when there is an overlap.
Multiple Structure Alignment: Problem Formulation
Let {P_{1}, P_{2}, ⋯, P_{k}} be the given set of K proteins and let l_{i }be the number of C_{α }atoms along the backbone of protein P_{i}. We represent P_{i }as a sequence of coordinate triples , 1 ≤ j ≤ l_{i}, that represent the coordinates of the jth C_{α }atom of P_{i }along the backbone. (As is customary [14,15], we consider only the backbone, not the amino acid residues themselves.) Let P_{0 }= , ⋯, denote the consensus structure, of length l_{0}.
A correspondence of the K proteins in and the consensus structure P_{0 }can be represented as a matrix H = ()_{0 ≤ i ≤ K,1 ≤ j ≤ L}, for some L ≥ max_{0 ≤ i ≤ K}{l_{i}}, where is either a coordinate triple belonging to the ith protein or a gap. Distances between coordinate triples are based on the squared distance between them in ℝ^{3}. The distance between a coordinate triple and a gap is called a gap penalty, and is denoted by ρ.
The results reported in this paper use 16.0 for the value of the gap penalty.
Let G_{i }= (H_{i } T_{i})R_{i }= (H_{i } e × t_{i})R_{i}, for i > 0, where R_{i }∈ ℝ^{3 × 3 }is some rotation matrix, T_{i }= e × is the translation matrix, e ∈ ℝ^{L × 1 }is a vector with 1 in each entry, and ∈ ℝ^{1 × 3 }is a translation vector. (The transformation of a gap remains a gap.) Note that P_{0 }remains unchanged, i.e. G_{0 }= H_{0}.
Under the multiple structure alignment we define the distance between the consensus structure P_{0 }and protein P_{j }as , where d(·, ·) denotes the following distance function:
The distance between P_{0 }and P_{j }can be represented compactly as , where ·_{F }denotes the Frobenius norm [16], with the additional convention that the squared difference between a coordinate triple and a gap is ρ^{2}. The total distance of the K proteins to the consensus structure, called the SumofConsensus distance, or SCdistance, is then defined as
Intuitively, the SCdistance measures how well the consensus structure represents the given set of K proteins. A similar distance function is used in [17], where each protein is represented as a set of vectors in ℝ^{4}.
We can now define the multiple structure alignment problem as follows:
Multiple Structure Alignment Problem
Given a set {P_{1}, P_{2}, ⋯, P_{K}} of protein structures, compute a transformation (i.e., rotation and translation) for each protein, and generate a consensus structure P_{0}, such that the resulting multiple structure alignment has minimum SCdistance as defined in Equation (1).
In the next section, we present a heuristic for this problem. Our algorithm approximates the global minimum of the SCdistance by iterative refinement of an initial multiple structure alignment and converges to a local minimum.
Step I: Choice of the initial consensus structure
We consider four choices for initial consensus structure: (i) median protein, i.e. the protein of median length; (ii) center protein, i.e. the protein that minimizes the sum of the pairwise distances to all the other proteins; (iii) the minmax protein, i.e. the protein with the smallest maximum pairwise distance; and (iv) maxcore protein, i.e. the protein that generates the largest initial core. (The first three choices for initial consensus are considered in [5].)
The experimental results in Figure 5 indicate that MAPSCI is quite robust in terms of the choice of initial consensus. However, the data suggests that the median protein occasionally leads to alignments with very low core size, and therefore is the least reliable choice. The other three choices seem to work well in practice, although they are more expensive computationally. The results reported in the Comparison section use the maxcore protein as the initial consensus.
Figure 5. Consensus choice comparison. Comparison between the sizes of the aligned cores for different choices of initial consensus protein.
Step II: Compute an initial correspondence
After we determine the consensus structure P_{0 }in Step I, the K  1 pairwise structure alignments between P_{0 }and P_{i }≠ P_{0}, for i = 1, ⋯, K, are computed using the algorithm in [7]. (Other pairwise structure alignment algorithms could also be used instead.) The K  1 pairwise structure are combined in Line 6 of the algorithm (Table 1) using the centerstarlike method described in [5].
Step III: Compute optimal rotation and translation matrices and consensus structure
Given a correspondence H = () the objective is to find the rotation and translation matrices R_{j }and T_{j}, for j = 1, ⋯, K, and the consensus structure , such that the sum of the pairwise alignment distances between and each (transformed) P_{j }is minimum; i.e. we wish to minimize
Direct minimization of S over , and the T_{j}'s and R_{j}'s seems difficult. Instead, we propose an iterative procedure for minimizing S. Within each iteration, the minimization of S is carried out in two stages that are interleaved: (1) computation of the optimal for given R_{j}'s and T_{j}'s, and (2) computation of the optimal R_{j}'s and T_{j}'s for a given .
Computation of the optimal consensus structure
First, we show how to compute the consensus structure, given the rotation and translation matrices R_{j}'s and T_{j}'s, as stated in the following theorem:
Theorem 1. Assume that the correspondence is represented as a matrix H = () and = (J_{1}, ⋯, J_{L})^{T }is the optimal consensus structure. For each column j, let I_{n }be the set of indices of proteins with a nongap in the jth column and I_{g }be the set of indices of proteins with a gap in the jth column. Then , in the jth position of the optimal consensus structure equals either the coordinate triple , or a gap.
Proof. For each j, we consider two distinct cases for J_{j}: either it is a coordinate triple, x, or a gap. If J_{j }is a gap, then the sum of the distances between and each protein P_{j }along the jth column is I_{n}ρ^{2}, where ρ is the gap penalty. If J_{j }is a coordinate triple, x, then the sum of the distances between and each protein P_{j }along the jth column is , which is minimized, for . Therefore, if , then the optimal choice for is the coordinate triple x_{j}; otherwise, the optimal choice for is a gap.
Computation of the optimal translation matrix
In this section, we show how to compute the optimal translation matrix T_{i}, for each i, for a given consensus structure . From Eq. (2), it is clear that the optimal T_{i }and T_{j}, for i ≠ j are independent of each other. Hence, in the following, we focus on the computation of T_{i}, for a specific i. The translation matrix T_{i }can be decomposed as T_{i }= e × t_{i}, where t_{i }∈ R^{1 × 3 }is the translation vector.
As mentioned earlier, the transformation of a gap remains a gap. Hence the computation of the translation and rotation matrices is independent of the mismatches (i.e., where at least one of the two elements being compared is a gap). We can thus simplify the computation by removing all mismatches in the alignment between the consensus structure and the ith protein P_{i}.
Let A ∈ ℝ^{n × 3 }and B ∈ ℝ^{n × 3 }consist of the coordinate triples from the consensus structure and the ith protein, respectively, after removing the mismatches. (Here n is the number of matches between the consensus structure and the ith protein, i.e., comparison of two nongaps). Without loss of generality, assume e^{T}A = [0, 0, 0], i.e., the coordinate triples in the consensus protein are centered at the origin. The optimal translation vector is the one that matches the centroids of the coordinate triple vectors from A and B as stated in the following theorem:
Theorem 2. Let A and B be defined as above. Assume that e^{T}A = [0, 0, 0]. Then for any rotation matrix R_{i}, the optimal translation vector t_{i }for minimizing is given by .
More details can be found in [18].
Computation of the optimal rotation matrix
Next, consider the rotation matrix R_{i}. We can assume that the coordinate triple vectors from both A and B are centered at the origin. It follows that
Hence the minimum of S_{i }is obtained when trace (A^{T}BR_{i}) is maximized.
Let the Singular Value Decomposition (SVD) [16] of A^{T}B be UΣV^{T}, where U and V are orthogonal and Σ is diagonal.
Theorem 3. The optimal rotation matrix R_{i }that minimizes S_{i }= A  BR_{i}^{2 }is given by R_{i }= UWV^{T}, where W = diag(1, 1, 1), if det(UV^{T}) = 1, and W = diag(1, 1, 1), if det(UV^{T}) = 1.
More details can be found in [18].
Convergence of the algorithm
In this section, we show that MAPSCI converges, by showing that the SCdistance is nonincreasing from one iteration to the next.
Recall that from Eq. (1),
Line 4 in MAPSCI decreases the distance between the consensus structure and each of the K proteins, since the dynamic programming produces an alignment with minimum cost. By the property of the centerstarlike method, Line 6 leaves unchanged the distance between the consensus structure and each of the K proteins. By Theorems 2 and 3, the transformations computed in Line 7 do not increase the distance between the consensus structure and the jth protein, for each j. It is clear that Line 8 does not change the pairwise distance, since the cost for aligning two gaps is zero. Finally, by Theorem 1, Line 9 does not increase the sum of the pairwise distances from the consensus structure to the other proteins. Hence, the SCdistance is nonincreasing, and the algorithm converges.
Complexity analysis
Let n be the maximum length of the K proteins. Then the overall running time of the algorithm is O(K^{2}n^{2}). (If we choose the initial consensus structure as the protein of median length, the running time is O(Kn^{2 }+ K^{2}n).) The run time analysis is similar to that of the algorithm in [5].
Conclusions
We have presented an algorithm, called MAPSCI, to compute a multiple structure alignment for a set of proteins, together with their consensus structure. The algorithm represents the input proteins and the consensus as sequences of coordinate triples and computes an approximation to the optimal multiple structure alignment that minimizes the sum of the pairwise distances between the consensus and each input protein. Experimental results on a benchmark datasets derived from the HOMSTRAD and SABmark databases show that the algorithm compares favorably with existing algorithms for multiple structure alignment (MAMMOTH and MATT).
Availability and requirements
• Project name: MAPSCI
• Project home page: http://www.geomcomp.umn.edu/mapsci webcite
• Operating system(s): Platformindependent
• Programming language: C++
• License: Free BSD
Authors' contributions
JY contributed to the design of the algorithm and experiments, and drafting of the manuscript. II contributed to the experiments and the implementation of the algorithm. RJ contributed to the refinement of the algorithm and drafting of the manuscript. All authors read and approved the final manuscript.
Acknowledgements
Research of JY and RJ was sponsored, in part, by the Army High Performance Computing Research Center under the auspices of the Department of the Army, Army Research Laboratory cooperative agreement number DAAD190120014, the content of which does not necessarily reflect the position or the policy of the government, and no official endorsement should be inferred.
Adam Isom contributed to the implementation of the webbased tool.
The authors thank the MAMMOTH and MATT teams for sharing their source code.
References

Guda C, Scheeff ED, Bourne PE, Shindyalov IN: A new algorithm for the alignment of multiple protein structures using Monte Carlo optimization.
Proceedings of the Pacific Symposium on Biocomputing: 37 January 2001; Hawaii 2001, 275286.

Lupyan D, LeoMacias A, Ortiz AR: A new progressiveiterative algorithm for multiple structure alignment.
Bioinformatics 2005, 21:32553263. PubMed Abstract  Publisher Full Text

Menke M, Berger B, Cowen L: Matt: Local Flexibility Aids Protein Multiple Structure Alignment.
PLoS Computational Biology 2008, 4:00880099. Publisher Full Text

Berman HM, Westbrook J, Feng Z, Gilliland G, Bhat TN, Weissig H, Shindyalov IN, Bourne PE: The Protein Data Bank.
Nucleic Acids Research 2000, 28:235242. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Ye J, Janardan R: Approximate multiple protein structure alignment using the SumofPairs distance.
Journal of Computational Biology 2004, 11(5):9861000. PubMed Abstract  Publisher Full Text

Gusfield D: Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge University Press, Cambridge; 1997.

Ye J, Janardan R, Liu S: Pairwise protein structure alignment based on an orientationindependent backbone representation.
Journal of Bioinformatics and Computational Biology 2004, 2(4):699717. PubMed Abstract  Publisher Full Text

Waterhouse AM, Procter JB, A MDM, M C, Barton GJ: Jalview Version 2  a multiple sequence alignment editor and analysis workbench.
Bioinformatics 2009, 25(9):11891191. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Chemis3D: Molecular Viewer Applet [http://chemis.free.fr/mol3d/] webcite

Mizuguchi K, Deane CM, Blundell TL, Overington JP: HOMSTRAD: a database of protein structure alignments for homologous families.
Protein Science 1998, 7:24692471. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

VanWalle I, Lasters I, Wyns L: SABmark  A benchmark for sequence alignment that covers the entire known fold space.
Bioinformatics 2005, 21:12671268. PubMed Abstract  Publisher Full Text

Madhusudhanm MS, Webb BM, MartiRenom MA, Eswar N, Sali A: Alignment of multiple protein structures based on sequence and structure features.
Protein Engineering, Design & Selection 2009, 22(9):569574. Publisher Full Text

Venclovas C, Zemla A, Fidelis K, Moult J: Comparison of performance in successive CASP experiments.
Proteins 2001, 45(S5):163170. Publisher Full Text

Holm L, Sander C: Protein Structure Comparison by Alignment of Distance Matrices.
Journal of Molecular Biology 1993, 233:123138. PubMed Abstract  Publisher Full Text

Singh AP, Brutlag DL: Hierarchical protein structure superposition using both secondary structure and atomic representation.
Proceedings of the Fifth International Conference on Intelligent Systems for Molecular Biology: 2126 June, 1997; Halkidiki 1997, 284293.

Golub GH, Van Loan CF: Matrix Computations. Johns Hopkins University Press, Baltimore; 1996.

Chew LP, Kedem K: Finding the consensus shape of a protein family.
Proceedings of the Eighteenth Annual ACM Symposium on Computational Geometry: 57 June 2002; Barcelona 2002, 6473. Publisher Full Text

Umeyama S: Leastsquare estimation of transformation parameters between two point patterns.
IEEE Transactions on Pattern Analysis and Machine Intelligence 1991, 13(4):376380. Publisher Full Text