The difficulty of protein structure alignment under the RMSD
 Shuai Cheng Li^{1}Email author
Affiliated with
DOI: 10.1186/1748718881
© Li; licensee BioMed Central Ltd. 2013
Received: 8 December 2011
Accepted: 17 December 2012
Published: 4 January 2013
Abstract
Background
Protein structure alignment is often modeled as the largest common point set (LCP) problem based on the Root Mean Square Deviation (RMSD), a measure commonly used to evaluate structural similarity. In the problem, each residue is represented by the coordinate of the Cαatom, and a structure is modeled as a sequence of 3D points. Out of two such sequences, one is to find two equalsized subsequences of the maximum length, and a bijection between the points of the subsequences which gives an RMSD within a given threshold. The problem is considered to be difficult in terms of time complexity, but the reasons for its difficulty is not wellunderstood. Improving this time complexity is considered important in protein structure prediction and structural comparison, where the task of comparing very numerous structures is commonly encountered.
Results
To study why the LCP problem is difficult, we define a natural variant of the problem, called the minimum aligned distance (MAD). In the MAD problem, the length of the subsequences to obtain is specified in the input; and instead of fulfilling a threshold, the RMSD between the points of the two subsequences is to be minimized. Our results show that the difficulty of the two problems does not lie solely in the combinatorial complexity of finding the optimal subsequences, or in the task of superimposing the structures. By placing a limit on the distance between consecutive points, and assuming that the points are specified as integral values, we show that both problems are equally difficult, in the sense that they are reducible to each other. In this case, both problems can be exactly solved in polynomial time, although the time complexity remains high.
Conclusions
We showed insights and techniques which we hope will lead to practical algorithms for the LCP problem for protein structures. The study identified two important factors in the problem’s complexity: (1) The lack of a limit in the distance between the consecutive points of a structure; (2) The arbitrariness of the precision allowed in the input values. Both issues are of little practical concern for the purpose of protein structure alignment. When these factors are removed, the LCP problem is as hard as that of minimizing the RMSD (MAD problem), and can be solved exactly in polynomial time.
Keywords
Protein Structure Alignment RMSD LCPAbbreviations
 LCP:

Largest Common Point set
 RMSD:

Root Mean Square Deviation.
Background
A common approach to understand the properties of a protein is to compare it to other proteins. Proteins that are similar, in terms of either their amino acid sequences or 3dimensional structures, often share similar functions, or are related evolutionarily. The latter, structural comparison, is particularly interesting since protein structures are known to be more evolutionarily conserved than the biological sequences which encode them. Furthermore, proteins of similar structures may have similar functionality, even when their sequences differ [1].
 1.
the number of residues (points) or percentage of total residues (points) matched in the alignment.
 2.
the root mean square deviation (RMSD) of the matched residues (points).
In general, the RMSD need not be minimized. It suffices that it is within a reasonable threshold. Hence, a good alignment is customarily taken to be one which maximizes the number of residue matches, within a given RMSD threshold. Many structural alignment methods are based on this principle. The computational complexity of finding an optimal solution to the problem is not well understood. Shibuya et al. formulated a restricted version of the problem, and showed the problem to NPhard when the dimensionality is arbitrary. It is open whether their problem is NPhard in 3dimension [5]. Other problems related to structural comparison based on the RMSD have been found to be difficult. For example, the problem of finding a substructure from multiple 3dimensional structures which minimizes the total RMSD, is NPhard [6].
For the variants of the alignment problem that are not based on the RMSD, we have the following results. When the objective is to maximize the number of point matches which are no more than a threshold distance apart, the problem is solvable in O(n ^{32.5}) time, where n is the number of points [7]. The contact map overlap problem, where a graph is created out of each structure, and the problem is one of comparing the two graphs, is NPhard [8], and remains NPhard even when we require points that are matchable to be within a threshold distance [9]. These results, together with an early result which shows a related problem called threading to be NPhard [10], have traditionally led molecular biologists to believe that the structural alignment problem is difficult in general (e.g. [11–13]), even though a PTAS exists for the problem under a broad class of distance measures [14]. Heuristic algorithms have also been proposed for many variants of structural alignment problem [15–23]. While these methods perform reasonably well in general, they provide no guarantee on the quality of their results.
As noted by Shibuya et al., relatively few theoretical results have been obtained on problems defined over the RMSD, and the general problem of structural alignment under the RMSD remains open [5]. At present, whether the problem is intractable or not is not only of theoretical interests but also of practical concerns, due to advances in protein structure prediction which requires the comparison of very numerous structures. In this paper we show mathematical insights and techniques which we hope will lead to practical algorithms for the problem.

if either a mapping that contains the optimal mapping is known (Theorem 3), or

if the optimal superposition is known (Lemma 1),
Our study shows that the difficulty of the LCP problem is also very much due to the two factors: (1) the problem allows the input coordinates to be of any arbitrary precision, and (2) it assumes no limit on the distance between two consecutive Cαatoms.

Given a polynomial time algorithm for finding a largest alignment of RMSD below a threshold d, one can efficiently compute an alignment of a given size ℓ which minimizes the RMSD (Theorem 7). (Since the other direction is easy, this shows that the two problems are of similar difficulty.)

The structural alignment problem under the RMSD is solvable exactly in polynomial time (Theorem 10).
Preliminary
Notations and definitions
A protein structure for alignment purpose is modeled as a finite, ordered sequence of three dimensional (3D) points. Hence, a structure of n residues is written as (p _{1},p _{2},...,p _{ n }), where each point In the ‘Results assuming integral coordinates and restricting distance between points’ section, we will further assume each p _{ i } to be integral. We write P ^{′} ⊆ P iff P ^{′} is a subsequence of P, and write f:P ↦ Q iff f is a mapping which maps points in the sequence P to points in the sequence Q.
Problem statements
Largest Common Point (LCP) set problem definition under RMSD
LCP problem by the RMSD measure  

Input:  sequences P = (p _{1},…,p _{ n }), Q = (q _{1},…,q _{ m }) and distance 
threshold . Without loss of generality assume m ≥ n.  
Output:  (i) subsequences P ^{′} ⊆ P, Q ^{′} ⊆ Q, P ^{′} = Q ^{′}, and 
(ii) bijection f:P ^{′} ↦ Q ^{′}, fulfilling the following conditions:  
(A) RMSD(P ^{′},f(P ^{′})) ≤ θ,  
(B) the score l = P ^{′} is maximized. 
where t is a rigid transformation. The RMSD, with its corresponding transformation t, can be computed in linear time [26].
Minimum Aligned Distance (MAD) problem definition under RMSD
MAD problem by the RMSD measure  

Input:  sequences P = (p _{1},…,p _{ n }), Q = (q _{1},…,q _{ m }) and . 
Without loss of generality assume m ≥ n.  
Output:  (i) subsequences P ^{′} ⊆ P, Q ^{′} ⊆ Q, P ^{′} = Q ^{′}, and 
(ii) bijection f:P ^{′} ↦ Q ^{′}, fulfilling the following conditions:  
(A) P ^{′} = ℓ,  
(B) d = RMSD(P ^{′},f(p ^{′})) is minimized. 
Clearly, if the MAD problem is solvable in polynomial time, then the LCP problem is solvable in polynomial time. However, the other direction is unclear. Theorem 7 will show that for P and Q of integral coordinates, if the LCP problem is solvable in polynomial time, then the MAD problem is solvable in polynomial time.
We let , , , ℓ and d _{ opt } denote an optimal P ^{′}, Q ^{′}, f, l and d, respectively. The optimal rigid transformation for superimposing and is denoted , and can be computed from , and . The symbol denotes the largest value in the coordinates of P, the largest value in the coordinates of Q, and , and we know that c _{ max } = O(n) for protein structures.
Results for general LCP and MAD
Complexity of the LCP and MAD when the optimal superposition is known
Since two point sequences with a known mapping can be superimposed optimally under the RMSD in linear time [26], it is natural to ask if the difficulty in LCP or MAD lies solely in the combinatorial complexity of finding the optimal subsets, i.e. and . Our results show the contrary: if the optimal superposition is known, both problems can be solved in polynomial time.
The base case of the recursion is obvious. Dynamic programming can be employed to fill up the respective M[i,j;k] values. After all the values are filled, one can find the maximum k, such that the squared sum is no more than k θ ^{2} for the LCP problem. The MAD problem can be solved similarly.
The nonsequential case can be similarly solved using the maximumflow minimumcost problem [27]. The following lemma states these results.
Lemma 1
If an optimal transformation is known, both the LCP problem and the MAD problem can be solved in O(mnℓ) time.
Complexity of the LCP and MAD when the matching between the point sets is known
We next ask if the difficulty in the LCP and MAD could be due to the task of superimposing P and Q in an optimal manner to identify the subsets and . To examine this possibility, we remove the combinatorial task of examining each of the possible mapping between the points, by assuming a bijection F which contains the optimal mapping. (Note that this results in the problem known as model superposition in structural biology.) Again, our results show the resultant LCP and MAD problems to be solvable exactly in polynomial time.
Assume that F is a bijection that maps points in P to points in Q. Let be the domain of F and be the range of F. Without loss of generality assume that F is sequential, and hence .
One can exhaustively evaluate all the subsequences of P ^{′} for one with the least RMSD. However, since the number of such subsequences is exponential in l, this does not immediately give us a polynomial time solution.
If a rigid transformation T for Q ^{′} is given, and all the pairs , 1 ≤ i ≤ l are sorted according to the value , the MAD problem is then to choose the first ℓ pairs from , 1 ≤ i ≤ l, and the LCP problem is to choose the first ℓ pairs, such that and ℓ = l or . This gives us an incentive to obtain a total ordering of , which will allow us to solve the MAD problem by selecting the first ℓpairs in the ordering. The set of transformations which produce the same total according to , yield the same result for the MAD problem, and therefore these transformations are equivalent. This enables us to design a discrete version of the problem.
For clarity, we first present an algorithm with only translation.
With translations only
Consider the space of all translation vectors in , and consider each vector as a point in this space (not the space that P and Q are in). The values that the variable t in Equation 4 may take form a plane in this translation space. The plane partitions the translation space into two types of translations, T _{1} and T _{2} say, where and . Since there are l pairs, there are O(l) planes, which partition the space into O(l ^{3}) cells.
The translations in each cell result in the same ordering of the pairs with respect to . For each cell, this total order can be obtained in O(l) time from any given total order of its neighbor cells, since the change is O(1). Therefore, the MAD solution can be obtained in amortized time O(l) for each cell, and the LCP solutions thus can be obtained in time O(l ^{2}). Hence the total runtime is of O(ℓ ^{4}) for the MAD problem, and O(ℓ ^{5}) for the LCP problem of translations, with the given mapping F.
With rigid transformations
The rigid transformations which separate the two relations and are as in Equation 3.
A rotation matrix contains three variables, which is specified using three angles, say α _{1}, α _{2}, α _{3}, each from Π to Π. Let r _{ i } = cos α _{ i }, s _{ i } = cos α _{ i }, then Equation 5 can be considered as a polynomial of nine variables in degree six. The nine variables are r _{ i }, s _{ i } and the three variables for translation. In total, there are O(l) such polynomials.
We know the following theorem from the literature.
Theorem 2
[7, 28]Given a set of k polynomials, , where each polynomial has a maximum degree of s, contains at most r variables, and in addition all the coefficients are rational, then all the sign conditions can be determined by O(k(k/r)^{ r } s ^{ O(r)}) arithmetic operations. A sign condition V is the vector of signs for some point ; that is, V = (sign(f _{1}(u)),...,sign(f _{ k }(u))). Two points are equivalent if their sign condition vectors are the same.
Each sign vector represents the transformations of the cell it belongs to, and it determines a total order of the pairs. Similar as in the case of translation, with Theorem 2, we have
Theorem 3
Given a bijection F:P ^{′} → Q ^{′}, where P ^{′} = l, then the MAD problem can be solved in O(l ^{10}) time and the LCP problem can be solved in O(l ^{11}) time.
Results assuming integral coordinates and restricting distance between points
One possible contributing factor to the difficulty of the LCP problem could be its flexibility in allowing input coordinates of any arbitrary precision. This is because intuitively, this arbitrariness in the precision introduces the burden of examining the solution space in an unbounded manner. However, such an exhaustive search is not necessary for the purpose of protein structure comparison, since coordinates of protein structures are specified only to three decimal places in the commonly used PDB format.
In this section, we restrict the precision in which the input coordinates may be specified. Without loss of generality, we assume that the input coordinates are given in integers, since numbers of any fixed precision can be trivially scaled up to integral values. This assumption is used to obtain Lemma 5 and Theorem 7.
We also place an upper bound on the distance between consecutive points according to the structure of proteins. As a result, c _{ max } is bounded by n, as follows.

For a connected structure, the points are at most O(n) distance apart. That is, c _{ max } is of O(n).

For a globular structure, the points are at most O(n ^{1/3}) distance apart [14]. That is, c _{ max } is of O(n ^{1/3}).
 1.
the LCP problem is of similar difficulty as the MAD problem, and
 2.
both problems can be solved exactly in polynomial time.
Properties of protein structures
Upper and lower bounds of RMSD
We first establish some bounds to the RMSD. The minimum RMSD is zero if brings to coincide exactly with . This case is referred to as the exact matching, which can be easily solved by the method in [29]. However, if we assume the RMSD to be nonzero, then a lower bound and an upper bound for it can be computed.
Let Π be a permutation of {1,...,ℓ}. For the sequence X = (x _{1},…,x _{ n }), let 1 ≤ i,j ≤ n, denote the Euclidean distance between x _{ i } and x _{ j }. The following results, which are proven in the Appendix, can be obtained.
Lemma 4
Lemma 5 (Lower bound)
If RMSD , then RMSD .
Lemma 6 (Upper bound)
RMSD .
Using an algorithm for the LCP to solve the MAD problem
Employing an algorithm for the LCP problem to solve the MAD problem
Input:  sequences P = (p _{1},…,p _{ n }), Q = (q _{1},…,q _{ m }) and . 

Without loss of generality assume m ≥ n.  
Output:  (i) subsequences P ^{′} ⊆ P, Q ^{′} ⊆ Q, P ^{′} = Q ^{′}, and 
(ii) mapping f:P ^{′} ↦ Q ^{′}, fulfilling the following conditions:  
(A) P ^{′} = ℓ,  
(B) d = RMSD(P ^{′},f(p ^{′})) is minimized.  
1.  l ← 0, u ← ℓ c _{ max } 
2.  m ← 1/2(l + u) 
3.  Call LCP to solve the instance (P,Q,m). 
4.  If the LCP solution has size no less than ℓ 
u ← m  
else  
l ← m  
5.  If , 
Output the most recent LCP solution of size no less than ℓ.  
Otherwise, repeat Steps 25. 
Theorem 7
Solving the MAD problem is equivalent to solving O(logℓ c _{ max }) instances of the LCP problem.
Since the reduction from the LCP problem to the MAD problem is obvious, we conclude that the two problems are of similar difficulty.
Polynomial time algorithm
We now show that under the two conditions, the LCP and MAD problem can be solved in polynomial time.
As shown in the ‘Complexity of the LCP and MAD when the optimal superposition is known’ section, when the optimal superposition is known, there are polynomial time algorithms for LCP and MAD. We consider an enumeration of all the possible superpositions. Under the two conditions, we claim that there are at most polynomially many such superpositions.
 1.
Translate and such that their centroids are at the origin.
 2.
Then, rotate to find the superposition with the minimum distance [26].
Denote the translations to obtain the optimal solution for P and Q as t _{ P } and t _{ Q }, respectively, and denote the optimal rotation by .
We now show that one needs to examine only polynomially many translations and rotation combinations to discover the values for t _{ P }, t _{ Q }, and . These numbers can be effectively bounded by n when properties of protein structures are taken into account. We first describe these properties.
Number of translations
The centroid of is . To bring to origin, the translation is . Clearly, all the three coordinates of are integers since all the coordinates of the points in p ∈ P are integers. The value of xcoordinate of is bounded by . Similarly, all the three coordinates of the translation are bounded within the interval [c _{ max },c _{ max }]. To obtain an optimal MAD solution, the translation on must be in the form of , where I is an integer. Since it is possible to examine all the possible values for I, we have the following result.
Lemma 8
t _{ P },t _{ Q } ∈ {I/ℓ  ℓ c _{ max } ≤ I ≤ ℓ c _{ max }}^{3}.
Number of rotations
With the centroids of and translated to the origin, we proceed to identify the rotation in our algorithm. Let X _{ P } denote the vector for structure P. Similarly we define Y _{ P } and Z _{ P }.
Let and , , .
Each above matrix is decomposed by the singular value decomposition, and a rotation matrix is produced hereafter.
Also, it is clear that is in the form of I/ℓ ^{2}, where I is an integer. The matrix in Equation 8 has nine elements; we denote e ∈ M if e is one of these elements. The following lemma follows.
Lemma 9
For each element e ∈ Min Equation 8, .
Polynomial time algorithm
A polynomial time algorithm for the MAD problem
Input:  sequences P = (p _{1},…,p _{ n }), Q = (q _{1},…,q _{ m }) and . 

Without loss of generality assume m ≥ n.  
Output:  (i) subsets P ^{′} ⊆ P, Q ^{′} ⊆ Q, P ^{′} = Q ^{′}, and 
(ii) mapping f:P ^{ ′ }↦Q ^{′}, fulfilling the following conditions:  
(A) P ^{′} = ℓ,  
(B) d = RMSD(P ^{′},f(p ^{′})) is minimized.  
1.  For each translation t ∈ {I/ℓ  ℓ c _{ max } ≤ I ≤ ℓ c _{ max }}^{3}, 
For each 3 × 3 matrix M, where ∀e ∈ M, e ∈ {I/ℓ ^{2},  
 
Compute rotation matrix R from M.  
.  
Apply an algorithm for the case where the superposition  
is known to P and (as discussed in the ‘Complexity Of  
The LCP And MAD When The Optimal Superposition Is  
Known’ section), and denote the solution MAD(P, ).  
2.  Output the MAD(P, ) of the smallest RMSD as the solution. 
According to Lemma 8, the optimal translation t _{ P } and t _{ Q } must be within {I/ℓ  ℓ c _{ max } ≤ I ≤ ℓ c _{ max }}^{3}. To find the optimal rotation matrix, it suffices that we try all the possible values for each entry in Equation 8. Since there are matrices, the number of total transformations to examine is bounded by . It takes time O(mnℓ) to identify the MAD solution for each transformation. An LCP solution can be obtained by iterating ℓ from 1 to min{m,n} for the MAD problem.
The running time consists of the productions of three parts: the number of possible translations, the number of possible rotation matrix, and the running time for given a rotation matrix and a translation combination (that is, the running time when then transformation is known). These numbers are bounded by c _{ max }, which is bounded by m when we consider the properties of protein structures. Likewise, c _{ max } is polynomial with respect to the input size if coded in unary.
Theorem 10
The MAD problem can be solved in O(ℓ ^{34} m ^{25} n) time for protein structures, and in O(ℓ ^{34} m ^{9} n) time for globular protein structures. The LCP problem can be solved in O(ℓ ^{35} m ^{25} n) time for protein structures, and in O(ℓ ^{35} m ^{9} n) time for globular protein structures. Both the MAD and LCP problems are pseudopolynomially solvable for general point sets.
Conclusions
We studied the LCP problem under the RMSD in this paper. As it turns out, the difficulty of the problem does not lie in its combinatoric aspect or its structural superposition aspect alone. That is, if the problem is hard, then it must be a consequence of both aspects. Our results show that if one is allowed to compromise on one of the aspects, then the problem is solvable exactly in polynomial time. Regrettably, we do not see how the optimal solution can be obtained in both cases.
On the other hand, we showed an encouraging result: There is a polynomial time algorithm which solves the problem optimally, if one restricts the input coordinates in the problem to be integral, and places a limit on the distance between consecutive points. These requirements do not pose any restriction to typical uses in the analysis of protein structures, since protein structures are specified only to a fixed precision in practice, and there is an upper bound to the distance between protein residues.
One problem is that our proposed polynomial time algorithm remains high in time complexity. We hope that the present work will provide the foundation for future efforts to obtain algorithms with lower runtime complexities.
Appendix
In this Appendix, we include the proofs of the results in the paper which have been omitted to enhance readability.
Lemma 4
Proof
Without loss of generality, we just show that
.
Let
,
u _{ i }=〈p _{ i },p _{ i + ⌊ℓ/2⌋}〉, and
v _{ i }=〈q _{ i },q _{ i + ⌊ℓ/2⌋}〉, where 1≤i≤⌊ℓ/2⌋.
Lemma 5
If RMSD , then RMSD .
Proof
□
Lemma 6
RMSD .
Proof
□
Declarations
Acknowledgements
This work is supported by the CityU SRG 7002731. The author thanks the useful discussions with Prof. Richard M. Karp
Authors’ Affiliations
References
 Perutz MF, Rossmann MG, Cullis AF, Muirhead H, Will G: North ACT: Structure of myoglobin: a threedimensional Fourier synthesis at 5.5 Angstrom resolution. Nature 1960, 185:416–422.PubMedView Article
 R Kolodny PK, Levitt M: Comprehensive evaluation of protein structure alignment methods: scoring by geometric measures. J Comput Biol 2005,346(4):1173–1188.
 Sippl MJ: On distance and similarity in fold space. Bioinformatics 2008,24(6):872–873.PubMedView Article
 V A Ilyin CML A Abyzov: Structural alignment of proteins by a novel TOPOFIT method, as a superimposition of common volumes at a topomax point. Protein Sci 2004,13(7):1865–1874.View Article
 Shibuya T, Jansso J, Sadakane K: Lineartime protein 3D structure searching with insertions and deletions. Algorithms Mol Biol 2010,5(7):1–8.
 Bu D, Li M, Li SC, Qian J, Xu J: Finding compact structural motifs. Theor Comput Sci 2009, 410:2834–2839.View Article
 Ambühl C, Chakraborty S, Gärtner B: Computing Largest Common Point Sets under Approximate Congruence. In ESA ’00: Proceedings of the 8th Annual European Symposium on Algorithms, Volume 1876 of Lecture Notes in Computer Science. Saarbrücken, Germany: SpringerVerlag; 2000:52–63.
 Goldman D, Papadimitriou CH, Istrail S: Algorithmic Aspects of Protein Structure Similarity. New York City, NY, USA: IEEE Computer Society; 1999.
 Li SC, Ng YK: On protein structure alignment under distance constraint. In 20th International Symposium on Algorithms and Computation, ISAAC 2009, Proceeedings, Volume 5878 of Lecture Notes in Computer Science. Honolulu, HI, USA: Springer; 2009:65–76.
 Lathrop RH: The Protein Threading Problem With Sequence Amino Acid Interaction Preferences Is NPComplete. Protein Eng 1995, 7:1059–1068.View Article
 Godzik A: The structural alignment between two proteins: is there a unique answer? Protein Sci 1996,5(7):1325–1338.PubMedView Article
 Eidhammer I, Jonassen I, Taylor WR: Structure Comparison and Structure Patterns. J Comput Biol 2000,7(5):685–716.PubMedView Article
 Zhao Z, Fu B, Alanis FJ, Summa CM: Feedback algorithm and webserver for protein structure alignment. J Comput Biol 2008,15(5):505–524.PubMedView Article
 Kolodny R, Linial N: Approximate Protein Structural Alignment in Polynomial Time. Proc Natl Acad Sci 2004, 101:12201–12206.PubMedView Article
 Akutsu T, Tashimo H: Protein structure comparison using representation by line segment sequences. In Proc. Pacific Symposium on Biocomputing ’96. Hawaii, USA: World Scientific Press; 1996:25–40.
 Alexandrov NN: SARFing the PDB. Protein Eng 1996,9(9):727–732.PubMedView Article
 Caprara A, Lancia G: Structural alignment of largesize proteins via lagrangian relaxation. In RECOMB ’02: Proceedings of The Sixth Annual International Conference on Computational Biology. New York, NY, USA: ACM; 2002:100–108.View Article
 Comin M, Guerra C, Zanotti G: PROuST: A Comparison Method of ThreeDimensional Structure of Proteins using Indexing Techniques. J Comp Biol 2004, 11:1061–1072.View Article
 Gerstein M, Levitt M: Using Iterative Dynamic Programming to Obtain Accurate Pairwise and Multiple Alignments of Protein Structures. In Proceedings of the Fourth International Conference on Intelligent Systems for Molecular Biology. St. Louis, MO, USA: AAAI Press; 1996:59–67.
 Gibrat JF, Madej T, Bryant SH: Surprising similarities in structure comparison. Curr Opin Struct Biol 1996,6(3):377–385.PubMedView Article
 Holm L, Sander C: Protein structure comparison by alignment of distance matrices. J Mol Biol 1993, 233:123–138.PubMedView Article
 Lancia G, Carr R, Walenz B, Istrail S: 101 optimal PDB structure alignments: a branchandcut algorithm for the maximum contact map overlap problem. In RECOMB ’01: Proceedings of The Fifth Annual International Conference on Computational Biology. New York, NY, USA: ACM; 2001:193–202.View Article
 Singh AP, Brutlag DL: Hierarchical Protein Structure Superposition Using Both Secondary Structure and Atomic Representations. In Proceedings of the 5th International Conference on Intelligent Systems for Molecular Biology. Halkidiki, Greece: AAAI Press; 1997:284–293.
 Berman HM, Westbrook J, Feng Z, Gilliland G, Bhat TN, Weissig H, Shindyalov IN, Bourne PE: The protein data bank. Nucl Acids Res 2000, 28:235–242. [http://nar.oxfordjournals.org/cgi/content/abstract/28/1/235]PubMedView Article
 Papadimitriou C: The Euclidean Traveling Salesman Problem is NPComplete. Theoretial Compututer Sci 1977,4(3):237–244.View Article
 Arun KS, Huang TS, Blostein SD: Leastsquares fitting of two 3D point sets. IEEE Trans Pattern Anal Mach Intell 1987,9(5):698–700.PubMedView Article
 Ahuja RK, Magnanti TL, Orlin JB: Network Flows: Theory, Algorithms, and Applications. Englewood Cliffs, NJ: Prentice Hall; 1993.
 Caviness B, Johnson J (Eds): A New Algorithm to Find a Point in Every Cell Defined by a Family of Polynomials. Springer Vienna: SpringerVerlag; 1998.
 de Rezende PJ, Lee DT: Point Set Pattern Matching in dDimensions. Algorithmica 1995,13(4):387–404.View Article
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.