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; LCPBackground
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].
Structural comparison is typically a problem of aligning two sets of 3dimensional coordinates. (In most of the known structural alignment problems, each point is the 3D coordinates of the Cα atom, one per residue. Hence, a structure can be modeled for structural alignment purpose as a sequence of 3D points.) The alignment usually involves a rigid transformation to superimpose the two sequences of points, and a mapping which specifies the matched points. The parameters to optimize in the alignment may differ in different situations, because it is not easy to single out a set of parameters that best captures the similarity between two given structures [2]. In many situations, the alignment needs not match between every point in the two sequences. At present, there is a consensus among molecular biologists in the use of the following two parameters [24]:
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. [1113]), 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 [1523]. 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.
We first show that the difficulty of the problem does not lie solely in the individual components of their requirement. More precisely, then the problem can be solved in polynomial time.
– 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.
We consider the case where the input coordinates are integral, and the distance between two consecutive points is restricted. The first requirement is practical since in protein structures, coordinates are typically specified to a fixed precision (e.g. three decimal places in protein structures [24]), and can be trivially scaled up to integral values. Similar assumptions are made in Euclidean problems such as the Euclidean TSP [25]. The second requirement likewise does not add any restriction to the problem of protein structure alignment, since there is a natural upper bound (∼3.8Å) to the distance between two Cαatoms. In this case, the following results hold.
– 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 pointIn 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
We now state our problems. The main problem we consider is the largest common point set (LCP) problem under the RMSD, a wellknown problem in protein structure alignment. In the LCP, the objective is to find a mapping of the largest cardinality where the RMSD of the matched points is no more than a given threshold (Table 1).
Table 1. Largest Common Point (LCP) set problem definition under RMSD
We do not require the optimal superposition of P and Q in the output, since that can be computed from P^{′}, Q^{′}, and f in linear time [26]. We refer to f as an alignment. An alignment can be sequential or nonsequential: an alignment is sequential iff for any two points , , where the corresponding and , we have i_{1}i_{2} iff j_{1}j_{2}. Otherwise the alignment is nonsequential. The LCP problem which requires alignments to be sequential is said to be sequential, otherwise it is nonsequential. We mainly discuss sequential alignment in this paper. The techniques developed can be easily adapted to the nonsequential case. Given two equalsized sequences P^{′} = (p_{1},…,p_{n}) and Q^{′}, together with a bijection f between P^{′}and Q^{′}, the root mean square deviation (RMSD) is defined as
where t is a rigid transformation. The RMSD, with its corresponding transformation t, can be computed in linear time [26].
A natural variant of the LCP problem is to minimize the RMSD instead of maximizing the size of the mapping, as follows. Given an integer ℓ, find subsequences of size ℓ of the input, such that the RMSD between the points of the subsequences is minimized. We call this problem the minimum aligned distance (MAD) problem (Table 2).
Table 2. Minimum Aligned Distance (MAD) problem definition under RMSD
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.
We first consider the sequential case. Let d_{p,q} = t(p)  q^{2} and let M[i,j;k] denote the minimum squared sum cost of k pair matches for the point sets (p_{1},p_{2},...,p_{i}) and (q_{1},q_{2},...,q_{j}). If 1 ≤ k ≤ ℓ, 2 ≤ i ≤ m and 2 ≤ j ≤ n, we have a recurrence relation of
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 two pairs and . The transformations T to separate the two types of transformations that and are the transformations where
Let ∙denote dot product. If the transformation is a translation t, we have
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.
Suppose the rigid transformations T is composed of a rotation R and a translation t.
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 pointsare 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.
Points drawn from protein structures have upper bounds on their diameters because they are connected, and many are globular.
 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}).
Given a point p, let the x coordinate of p be denoted x_{p}. Similarly, we can define y_{p} and z_{p}. Without loss of generality, we assume that the first point of a protein structure is at the origin. The largest coordinate of a protein is bounded by O(n), and the largest coordinate of a globular protein structure is bounded by O(n^{1/3}); that is
Our results show that, under these two conditions,
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)
Lemma 6 (Upper bound)
Using an algorithm for the LCP to solve the MAD problem
Suppose there is a polynomial time algorithm for solving the LCP problem. To use it to solve the MAD problem, we assume that d_{opt} ∈ [l,u], for some real l and u, l ≤ u. We use a binary search strategy in the interval [l,u], as shown in Table 3, to search for the minimum value such that the LCP solution size is ℓ. However, the search will not terminate if an arbitrary accuracy of the d_{opt} value is required. We prove below that the accuracy of d_{opt} can be defined by polynomially many bits. Given two threshold t_{1} and t_{2}, assume that we obtain two different LCP solutions, and the RMSD values of the two solutions are θ_{1} and θ_{2}, where θ_{1} > θ_{2}. Similar to the arguments in Lemma 5, the difference between θ_{1} and θ_{2} is at least . Therefore if two consecutive binary search operators have the difference of the threshold values below , the search can be terminated. The values of l and u are the same as in the previous subsection. Hence,
Table 3. Employing an algorithm for the LCP problem to solve the MAD problem
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.
First, if we know and , then optimal superposition can be computed in the following two steps:
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}.
Given and , to compute the rotation , the first step is to create the 3 × 3 matrix, which is (from [26])
Each above matrix is decomposed by the singular value decomposition, and a rotation matrix is produced hereafter.
We know that the coordinate of each point in the protein is within the interval [c_{max},c_{max}]. This implies that for U = X,Y,Zand V = X,Y,Z,
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
To compute the optimal MAD solution, we first enumerate all the possible translations and rotations. A solution is computed for each translation and rotation combination according to Lemma 1. An optimal solution can be chosen from these computed solutions (Table 4).
Table 4. A polynomial time algorithm for the MAD problem
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⌋.
First, we prove that r_{i} ≥ u_{i}  v_{i}^{2} / 2, for 1 ≤ i ≤ ⌊ℓ/2⌋. We first superimpose u_{i} and v_{i} to optimize the squared sum; that is, to find transformation T such that T(q_{i})p_{i}^{2} + T(q_{i + ⌊ℓ/2⌋})p_{i + ⌊ℓ/2⌋}^{2} is minimized. The centroids have to coincide to minimize the squared distance. Assume the centroids are at the origin and that the angle between and is α, where o is the origin, then by trigonometry
r_{i} is the squared distance under transformation , which may not be optimal for superimposing u_{i}and v_{i}. Therefore,
Putting things together, we have
□
Lemma 5
Proof
If RMSD is nonzero, then there is at least a pair of indices i and j, such that . According to Lemma 4,
□
Lemma 6
Proof
Denote the furthest point to the origin in P as p_{max}, and the furthest point to the origin in Q as q_{max}. Then,
□
Abbreviations
LCP: Largest Common Point set;RMSD: Root Mean Square Deviation.
Competing interests
The authors declare that they have no competing interests.
Authors’ contributions
SCL conceived of the results herein and wrote the manuscript.
Acknowledgements
This work is supported by the CityU SRG 7002731. The author thanks the useful discussions with Prof. Richard M. Karp
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:416422. PubMed Abstract  Publisher Full Text

R Kolodny PK, Levitt M: Comprehensive evaluation of protein structure alignment methods: scoring by geometric measures.

Sippl MJ: On distance and similarity in fold space.
Bioinformatics 2008, 24(6):872873. PubMed Abstract  Publisher Full Text

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):18651874. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Shibuya T, Jansso J, Sadakane K: Lineartime protein 3D structure searching with insertions and deletions.
Algorithms Mol Biol 2010, 5(7):18. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Bu D, Li M, Li SC, Qian J, Xu J: Finding compact structural motifs.
Theor Comput Sci 2009, 410:28342839. Publisher Full Text

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:5263. PubMed Abstract

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:6576.

Lathrop RH: The Protein Threading Problem With Sequence Amino Acid Interaction Preferences Is NPComplete.

Godzik A: The structural alignment between two proteins: is there a unique answer?
Protein Sci 1996, 5(7):13251338. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Eidhammer I, Jonassen I, Taylor WR: Structure Comparison and Structure Patterns.
J Comput Biol 2000, 7(5):685716. PubMed Abstract  Publisher Full Text

Zhao Z, Fu B, Alanis FJ, Summa CM: Feedback algorithm and webserver for protein structure alignment.
J Comput Biol 2008, 15(5):505524. PubMed Abstract  Publisher Full Text

Kolodny R, Linial N: Approximate Protein Structural Alignment in Polynomial Time.
Proc Natl Acad Sci 2004, 101:1220112206. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

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:2540.

Alexandrov NN: SARFing the PDB.
Protein Eng 1996, 9(9):727732. PubMed Abstract  Publisher Full Text

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:100108. PubMed Abstract  Publisher Full Text

Comin M, Guerra C, Zanotti G: PROuST: A Comparison Method of ThreeDimensional Structure of Proteins using Indexing Techniques.
J Comp Biol 2004, 11:10611072. Publisher Full Text

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:5967.

Gibrat JF, Madej T, Bryant SH: Surprising similarities in structure comparison.
Curr Opin Struct Biol 1996, 6(3):377385. PubMed Abstract  Publisher Full Text

Holm L, Sander C: Protein structure comparison by alignment of distance matrices.
J Mol Biol 1993, 233:123138. PubMed Abstract  Publisher Full Text

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:193202. PubMed Abstract  Publisher Full Text

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:284293.

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:235242.
[http://nar.oxfordjournals.org/cgi/content/abstract/28/1/235 webcite]
PubMed Abstract  Publisher Full Text  PubMed Central Full Text 
Papadimitriou C: The Euclidean Traveling Salesman Problem is NPComplete.
Theoretial Compututer Sci 1977, 4(3):237244. Publisher Full Text

Arun KS, Huang TS, Blostein SD: Leastsquares fitting of two 3D point sets.
IEEE Trans Pattern Anal Mach Intell 1987, 9(5):698700. PubMed Abstract

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):387404. Publisher Full Text