Multiple structure alignment and consensus identification for proteins

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 alpha-carbon 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 coordinate-based 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 CE-MC [1], MAMMOTH [2], and MATT [3]. Specifically, MAPSCI computes an approximation to the multiple structure alignment that minimizes the so-called Sum-of-Consensus 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 SC-distance). Our experiments show that MAPSCI converges quite rapidly and produces alignments that compare favorably with the alignments produced by MAM-MOTH 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 a 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 a atoms in R 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 a ) atoms along the backbone. It then computes a correspondence between the coordinate triples of the C a 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 center-star 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 SC-distance is less than a prescribed threshold. This iterative process is well-defined as it is shown in the Methods section that the SC-distance is non-increasing 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 web-based 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.

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.
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).

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 so-called 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.
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,

Do
3. if i = 0 then compute pairwise structure alignment between P i 0 and every P j .
4. else use standard dynamic programming to align P i 0 with every P j . 5. i i + 1.
6. Compute correspondence  i from the above alignments (either pairwise or dynamic programming) using center-star-like method. 7. Compute optimal translation matrix T j i and optimal rotation matrix R j i iteratively (Theorems 2 and 3). Transform P j by R j i and T j i for every j to obtain multiple structure alignment ℳ i . SC i SC(ℳ i ).
8. Post-process ℳ i by removing all columns consisting of only gaps.
9. Compute new consensus structure P i 0 from ℳ i by Theorem 1. 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.

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 a atoms along the backbone of protein P i . We represent P i as a sequence of coordinate triples coordinates of the jth C a 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 =  u 1 0 , ...,  u l 0 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 = ( where  h ij 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 R 3 . The distance between a coordinate triple and a gap is called a gap penalty, and is denoted by r.
The results reported in this paper use 16.0 for the value of the gap penalty.
Let Under the multiple structure alignment we define the distance between the consensus structure P 0 and protein P j as D P P d g g , where d(·, ·) denotes the following distance function: .
The distance between P 0 and P j can be represented compactly as D P P G G j j F ( , ) || || 0 0 2   , where ||·|| F denotes the Frobenius norm [16], with the additional convention that the squared difference between a coordinate triple and a gap is r 2 . The total distance of the K proteins to the consensus structure, called the Sum-of-Consensus distance, or SC-distance, is then defined as (1) Table 2 Remote access to the server import urllib2 url = "http://www.geom-comp.umn.edu/mapsci/align.cgi?wsget=pdb&rcsb=1sfp+1spp:A+1spp:B" server = urllib2.urlopen(url) output = file("alignment.zip", 'wb') output.write(server.read()) output.close() server.close() 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). Statistics for the performance of the three methods on the benchmark datasets. The subscripts in the Average Core RMSD columns indicate how many values were used in computing the statistics, since the algorithms failed to compute a core for some of the data sets. For the Average Core (%) columns all reported values were used and therefore n = 232 and n = 425 for the HOMSTRAD and SABmark datasets, respectively.
Intuitively, the SC-distance 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 R 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 SC-distance as defined in Equation (1).
In the next section, we present a heuristic for this problem. Our algorithm approximates the global minimum of the SC-distance 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.
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 center-star-like method described in [5].
Step III: Compute optimal rotation and translation matrices and consensus structure Given a correspondence H = (  h ij ) the objective is to find the rotation and translation matrices R j and T j , for j = 1, ..., K, and the consensus structure J , such that the sum of the pairwise alignment distances between J and each (transformed) P j is minimum; i.e. we wish to minimize Direct minimization of S over J , 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 J 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 J .

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: 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 J and each protein P j along the jth column is |I n |r 2 , where r is the gap penalty. If J j is a coordinate triple, x, then the sum of the distances between J and each protein P j along the , then the optimal choice for J j is the coordinate triple x j ; otherwise, the optimal choice for J j 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 J . 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 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 J and the ith protein P i .
Let A R n × 3 and B R 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 non-gaps). 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 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.
More details can be found in [18].

Convergence of the algorithm
In this section, we show that MAPSCI converges, by showing that the SC-distance is non-increasing 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 center-star-like 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 SC-distance is non-increasing, 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).