Skip to main content


The difficulty of protein structure alignment under the RMSD



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 equal-sized 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 well-understood. 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.


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.


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.


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 3-dimensional 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 3-dimensional 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. 1.

    the number of residues (points) or percentage of total residues (points) matched in the alignment.

  2. 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 NP-hard when the dimensionality is arbitrary. It is open whether their problem is NP-hard in 3-dimension [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 3-dimensional structures which minimizes the total RMSD, is NP-hard [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(n32.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 NP-hard [8], and remains NP-hard 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 NP-hard [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).


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 (p1,p2,...,p n ), where each point p i R 3 .In the ‘Results assuming integral coordinates and restricting distance between points’ section, we will further assume each p i to be integral. We write PP iff P is a subsequence of P, and write f:PQ 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 well-known 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 non-sequential: an alignment is sequential iff for any two points p i 1 , p i 2 P , where the corresponding f( p i 1 )= q j 1 and f( p i 2 )= q j 2 , we have i1i2 iff j1j2. Otherwise the alignment is non-sequential. The LCP problem which requires alignments to be sequential is said to be sequential, otherwise it is non-sequential. We mainly discuss sequential alignment in this paper. The techniques developed can be easily adapted to the non-sequential case. Given two equal-sized sequences P = (p1,…,p n ) and Q, together with a bijection f between Pand Q, the root mean square deviation (RMSD) is defined as

RMSD( P , Q )= min t 1 i n | | t ( f ( p i ) ) - p i | | 2 n ,

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 P ̂ , Q ̂ , f ̂ , and d opt denote an optimal P, Q, f, l and d, respectively. The optimal rigid transformation for superimposing P ̂ and Q ̂ is denoted T, and can be computed from P ̂ , Q ̂ and f ̂ . The symbol c P max denotes the largest value in the coordinates of P, c Q max the largest value in the coordinates of Q, and c max =max{ c P max , c Q max }, 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. P ̂ and Q ̂ . Our results show the contrary: if the optimal superposition T is known, both problems can be solved in polynomial time.

We first consider the sequential case. Let dp,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 (p1,p2,...,p i ) and (q1,q2,...,q j ). If 1 ≤ k ≤ , 2 ≤ i ≤ m and 2 ≤ j ≤ n, we have a recurrence relation of

M[i,j;k]=max M [ i - 1 , j - 1 ; k - 1 ] + d p i , q j , M [ i , j - 1 ; k ] , M [ i - 1 , j ; k ]

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 non-sequential case can be similarly solved using the maximum-flow minimum-cost problem [27]. The following lemma states these results.

Lemma 1

If an optimal transformation T 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 P ̂ and Q ̂ . 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 P =( p 1 ,, p l ) be the domain of F and Q =( q 1 ,, q l ) be the range of F. Without loss of generality assume that F is sequential, and hence F( p i )= q i .

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 ( p i , q i ), 1 ≤ i ≤ l are sorted according to the value ||T( p i )- q i ||, the MAD problem is then to choose the first pairs from ( p i , q i ), 1 ≤ i ≤ l, and the LCP problem is to choose the first pairs, such that RMSD(( p 1 ,..., p ),( q 1 ,..., q ))θ and  = l or RMSD(( p 1 ,..., p , p + 1 ),( q 1 ,..., q , q + 1 ))>θ. This gives us an incentive to obtain a total ordering of ||T( p i )- q i ||, 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 ||T( p i )- q i ||, 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 ( p i , q i ) and ( p j , q j ). The transformations T to separate the two types of transformations that || T 1 ( q i )- p i ||>|| T 1 ( p j )- q j || and || T 2 ( q i )- p i |||| T 2 ( p j )- q j || are the transformations where

||T( q i )- p i | | 2 -||T( p j )- q j | | 2 =0.

Let ∙denote dot product. If the transformation is a translation t, we have

| | T ( q i ) - p i | | 2 - | | T ( q j ) - p j | | 2 = | | q i - p i - t | | 2 - | | q j - p j - t | | 2 = v = x , y , z ( v q i - v p i - v t ) 2 - v = x , y , z ( v q j - v p j - v t ) 2 = | | q i - p i | | 2 - | | q j - p j | | 2 - 2 t ( ( q i - p i ) - ( q j - p j ) ) = 0

Consider the space of all translation vectors in R 3 , 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, T1 and T2 say, where || T 1 ( q i )- p i ||>|| T 1 ( p j )- q j || and || T 2 ( q i )- p i |||| T 2 ( p j )- q j ||. Since there are l pairs, there are O(l) planes, which partition the space into O(l3) cells.

The translations in each cell result in the same ordering of the pairs with respect to ||T( p i )- q i ||. 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(l2). 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 || T 1 ( q i )- p i ||>|| T 1 ( p j )- q j || and || T 2 ( q i )- p i |||| T 2 ( p j )- q j || are as in Equation 3.

Suppose the rigid transformations T is composed of a rotation R and a translation t.

| | T ( q i ) - p i | | 2 - | | T ( q j ) - p j | | 2 = | | R ( q i ) - p i - t | | 2 - | | R ( q j ) - p j - t | | 2 = | | R ( q i ) - p i | | 2 - | | R ( q j ) - p j | | 2 - 2 t [ ( R ( q i ) - p i ) - ( R ( q j ) - p j ) ]

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,P={ f 1 ,..., f k }, 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)rsO(r)) arithmetic operations. A sign condition V is the vector of signs for some pointu R k ; that is, V = (sign(f1(u)),...,sign(f k (u))). Two pointsu, u R k 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(l10) time and the LCP problem can be solved in O(l11) 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(n1/3); that is

max p P , v = x , y , z | v p |=O(n),if P is a protein structure
max p P , v = x , y , z | v p |=O( n 1 / 3 ),if P is a globular protein structure

Our results show that, under these two conditions,

  1. 1.

    the LCP problem is of similar difficulty as the MAD problem, and

  2. 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 T brings Q ̂ to coincide exactly with P ̂ . 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 non-zero, then a lower bound and an upper bound for it can be computed.

Let Π be a permutation of {1,...,}. For the sequence X = (x1,…,x n ), let d i , j X 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
1 2 i = 1 / 2 | d Π ( i ) , Π ( i + / 2 P ̂ ) - d Π ( i ) , Π ( i + / 2 ) Q ̂ | 2 RMSD ( P ̂ , Q ̂ ) .
Lemma 5 (Lower bound)

If RMSD( P ̂ , Q ̂ )0, then RMSD( P ̂ , Q ̂ ) 12 c max 2 - 12 c max 2 - 1 2 .

Lemma 6 (Upper bound)

RMSD( P ̂ , Q ̂ )4 3 c max .

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 t1 and t2, 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 12 c max 2 - 12 c max 2 - 1 2 . Therefore if two consecutive binary search operators have the difference of the threshold values below 12 c max 2 - 12 c max 2 - 1 2 , 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 P ̂ and Q ̂ , then optimal superposition can be computed in the following two steps:

  1. 1.

    Translate P ̂ and Q ̂ such that their centroids are at the origin.

  2. 2.

    Then, rotate Q ̂ 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 R ̂ .

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 R ̂ . 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 P ̂ is p P ̂ p . To bring P ̂ to origin, the translation is - p P ̂ p . Clearly, all the three coordinates of - p P ̂ p are integers since all the coordinates of the points in pP are integers. The value of x-coordinate of - p P ̂ p is bounded by - p P ̂ x p p P ̂ c P max c max . Similarly, all the three coordinates of the translation - p P ̂ p are bounded within the interval [-c max ,c max ]. To obtain an optimal MAD solution, the translation on P ̂ must be in the form of I , 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 P ̂ and Q ̂ translated to the origin, we proceed to identify the rotation in our algorithm. Let X P denote the vector x p 1 ,..., x p for structure P. Similarly we define Y P and Z P .

Let P ̂ t =( p 1 -t,..., p -t) and Q ̂ t =( q 1 -t,..., q -t), p i P ̂ , q i Q ̂ .

Given P ̂ and Q ̂ , to compute the rotation R ̂ , the first step is to create the 3 × 3 matrix, which is (from [26])

M= X P ̂ t P X Q ̂ t Q X P ̂ t P Y Q ̂ t Q X P ̂ t P Z Q ̂ t Q Y P ̂ t P X Q ̂ t Q Y P ̂ t P Y Q ̂ t Q Y P ̂ t P Z Q ̂ t Q Z P ̂ t P X Q ̂ t Q Z P ̂ t P Y Q ̂ t Q Z P ̂ t P Z Q ̂ t Q

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,Z and V = X,Y,Z,

U P ̂ t P V Q ̂ t Q = k = 1 ( p i , k - t P ) ( q j , k - t Q ) k = 1 ( 2 c max ) 2 4 c max 2 .

Also, it is clear that U P ̂ t P V Q ̂ t Q is in the form of I/2, where I is an integer. The matrix in Equation 8 has nine elements; we denote eM if e is one of these elements. The following lemma follows.

Lemma 9

For each element eM in Equation 8, e{I/ 2 |-4 3 c max 2 I4 3 c max 2 }.

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 27 c max 18 matrices, the number of total transformations to examine is bounded by O( 33 c max 34 ). 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(34m25n) time for protein structures, and in O(34m9n) time for globular protein structures. The LCP problem can be solved in O(35m25n) time for protein structures, and in O(35m9n) time for globular protein structures. Both the MAD and LCP problems are pseudo-polynomially solvable for general point sets.


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.


In this Appendix, we include the proofs of the results in the paper which have been omitted to enhance readability.

Lemma 4

1 2 i = 1 / 2 | d Π ( i ) , Π ( i + / 2 ) P ̂ - d Π ( i ) , Π ( i + / 2 ) Q ̂ | 2 RMSD ( P ̂ , Q ̂ ) .


Without loss of generality, we just show that

1 2 i = 1 / 2 | d i , i + / 2 P ̂ - d i , i + / 2 Q ̂ | 2 RMSD( P ̂ , Q ̂ ).


r i =||T( q i )- p i | | 2 +||T( q i + / 2 )- p i + / 2 | | 2 ,

u i =〈p i ,pi + /2〉, and

v i =〈q i ,qi + /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(qi + /2)-pi + /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 ( o , p i ) and ( o , q i ) is α, where o is the origin, then by trigonometry

| | T ( q i ) - p i | | 2 + | | T ( q i + / 2 ) - p i + / 2 | | 2 = 2 [ ( 1 / 2 × | | u i | | ) 2 + ( 1 / 2 × | | v i | | ) 2 - 2 × 1 / 2 | | u i | | × 1 / 2 | | v i | | × cos α ] ( | | u i | | - | | v i | | ) 2 2

r i is the squared distance under transformation T, which may not be optimal for superimposing u i and v i . Therefore,

r i ( | | u i | | - | | v i | | ) 2 2

Putting things together, we have

RMSD ( P ̂ , Q ̂ ) r 1 + + r / 2 ( u 1 - v 1 ) 2 + + ( u / 2 - v / 2 ) 2 2 1 2 i = 1 / 2 | d i , i + / 2 P ̂ - d i , i + / 2 Q ̂ | 2

Lemma 5

If RMSD( P ̂ , Q ̂ )0, then RMSD( P ̂ , Q ̂ ) 12 c max 2 - 12 c max 2 - 1 2 .


If RMSD( P ̂ , Q ̂ ) is non-zero, then there is at least a pair of indices i and j, such that || d i , j P ̂ - d i , j Q ̂ ||>0. According to Lemma 4,

RMSD ( P ̂ , Q ̂ ) 1 2 | d i , j P ̂ - d i , j Q ̂ | 2 = | d i , j P ̂ - d i , j Q ̂ | 2 > = 12 c max 2 - 12 c max 2 - 1 2 .


Lemma 6

RMSD( P ̂ , Q ̂ )4 3 c max .


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,

× RMS D 2 ( P ̂ , Q ̂ ) = i = 1 | | T ( q i ) - p i | | 2 i = 1 ( | | q i - p i | | ) 2 i = 1 max { | | q max - p max | | 2 , | | q max + p max | | 2 } max { | | q max - p max | | 2 , | | q max + p max | | 2 } ( 2 ( c max + c max ) 2 + ( c max + c max ) 2 + ( c max + c max ) 2 ) 2 = 48 c max 2



Largest Common Point set


Root Mean Square Deviation.


  1. 1.

    Perutz MF, Rossmann MG, Cullis AF, Muirhead H, Will G: North ACT: Structure of myoglobin: a three-dimensional Fourier synthesis at 5.5 Angstrom resolution. Nature. 1960, 185: 416-422.

  2. 2.

    R Kolodny PK, Levitt M: Comprehensive evaluation of protein structure alignment methods: scoring by geometric measures. J Comput Biol. 2005, 346 (4): 1173-1188.

  3. 3.

    Sippl MJ: On distance and similarity in fold space. Bioinformatics. 2008, 24 (6): 872-873.

  4. 4.

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

  5. 5.

    Shibuya T, Jansso J, Sadakane K: Linear-time protein 3-D structure searching with insertions and deletions. Algorithms Mol Biol. 2010, 5 (7): 1-8.

  6. 6.

    Bu D, Li M, Li SC, Qian J, Xu J: Finding compact structural motifs. Theor Comput Sci. 2009, 410: 2834-2839. 10.1016/j.tcs.2009.03.023.

  7. 7.

    Ambühl C, Chakraborty S, Gärtner B: Computing Largest Common Point Sets under Approximate Congruence. ESA ’00: Proceedings of the 8th Annual European Symposium on Algorithms, Volume 1876 of Lecture Notes in Computer Science. 2000, 52-63. Saarbrücken, Germany: Springer-Verlag,

  8. 8.

    Goldman D, Papadimitriou CH, Istrail S: Algorithmic Aspects of Protein Structure Similarity. 1999, New York City, NY, USA: IEEE Computer Society,

  9. 9.

    Li SC, Ng YK: On protein structure alignment under distance constraint. 20th International Symposium on Algorithms and Computation, ISAAC 2009, Proceeedings, Volume 5878 of Lecture Notes in Computer Science. 2009, 65-76. Honolulu, HI, USA: Springer,

  10. 10.

    Lathrop RH: The Protein Threading Problem With Sequence Amino Acid Interaction Preferences Is NP-Complete. Protein Eng. 1995, 7: 1059-1068.

  11. 11.

    Godzik A: The structural alignment between two proteins: is there a unique answer?. Protein Sci. 1996, 5 (7): 1325-1338.

  12. 12.

    Eidhammer I, Jonassen I, Taylor WR: Structure Comparison and Structure Patterns. J Comput Biol. 2000, 7 (5): 685-716.

  13. 13.

    Zhao Z, Fu B, Alanis FJ, Summa CM: Feedback algorithm and web-server for protein structure alignment. J Comput Biol. 2008, 15 (5): 505-524.

  14. 14.

    Kolodny R, Linial N: Approximate Protein Structural Alignment in Polynomial Time. Proc Natl Acad Sci. 2004, 101: 12201-12206.

  15. 15.

    Akutsu T, Tashimo H: Protein structure comparison using representation by line segment sequences. Proc. Pacific Symposium on Biocomputing ’96. 1996, 25-40. Hawaii, USA: World Scientific Press,s

  16. 16.

    Alexandrov NN: SARFing the PDB. Protein Eng. 1996, 9 (9): 727-732.

  17. 17.

    Caprara A, Lancia G: Structural alignment of large-size proteins via lagrangian relaxation. RECOMB ’02: Proceedings of The Sixth Annual International Conference on Computational Biology. 2002, 100-108. New York, NY, USA: ACM,

  18. 18.

    Comin M, Guerra C, Zanotti G: PROuST: A Comparison Method of Three-Dimensional Structure of Proteins using Indexing Techniques. J Comp Biol. 2004, 11: 1061-1072. 10.1089/cmb.2004.11.1061.

  19. 19.

    Gerstein M, Levitt M: Using Iterative Dynamic Programming to Obtain Accurate Pairwise and Multiple Alignments of Protein Structures. Proceedings of the Fourth International Conference on Intelligent Systems for Molecular Biology. 1996, 59-67. St. Louis, MO, USA: AAAI Press,

  20. 20.

    Gibrat JF, Madej T, Bryant SH: Surprising similarities in structure comparison. Curr Opin Struct Biol. 1996, 6 (3): 377-385.

  21. 21.

    Holm L, Sander C: Protein structure comparison by alignment of distance matrices. J Mol Biol. 1993, 233: 123-138.

  22. 22.

    Lancia G, Carr R, Walenz B, Istrail S: 101 optimal PDB structure alignments: a branch-and-cut algorithm for the maximum contact map overlap problem. RECOMB ’01: Proceedings of The Fifth Annual International Conference on Computational Biology. New York, NY, USA: ACM 2001, 193-202..

  23. 23.

    Singh AP, Brutlag DL: Hierarchical Protein Structure Superposition Using Both Secondary Structure and Atomic Representations. Proceedings of the 5th International Conference on Intelligent Systems for Molecular Biology. 1997, 284-293. Halkidiki, Greece: AAAI Press,

  24. 24.

    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. [], []

  25. 25.

    Papadimitriou C: The Euclidean Traveling Salesman Problem is NP-Complete. Theoretial Compututer Sci. 1977, 4 (3): 237-244. 10.1016/0304-3975(77)90012-3.

  26. 26.

    Arun KS, Huang TS, Blostein SD: Least-squares fitting of two 3-D point sets. IEEE Trans Pattern Anal Mach Intell. 1987, 9 (5): 698-700.

  27. 27.

    Ahuja RK, Magnanti TL, Orlin JB: Network Flows: Theory, Algorithms, and Applications. 1993, Englewood Cliffs, NJ: Prentice Hall,

  28. 28.

    A New Algorithm to Find a Point in Every Cell Defined by a Family of Polynomials. Edited by: Caviness B, Johnson J. Springer Vienna: Springer-Verlag 1998.

  29. 29.

    de Rezende PJ, Lee DT: Point Set Pattern Matching in d-Dimensions. Algorithmica. 1995, 13 (4): 387-404. 10.1007/BF01293487.

Download references


This work is supported by the CityU SRG 7002731. The author thanks the useful discussions with Prof. Richard M. Karp

Author information

Correspondence to Shuai Cheng Li.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ contributions

SCL conceived of the results herein and wrote the manuscript.

Rights and permissions

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 (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article


  • Protein Structure
  • Alignment
  • RMSD
  • LCP