Background

Amino acid replacement rate matrices represent the estimates of instantaneous substitution rates between amino acids. The rates simultaneously capture aspects of DNA-level mutation, the genetic code and protein-level selection strength, which varies based on similarity in chemical and physical properties. For example, we usually observe a high substitution rate between lysine and arginine (both positively charged and polar) and a low substitution rate between lysine and cysteine (neutral and nonpolar). Ideally, the replacement rate matrix parameters are optimized against the data under study, but in practice information content in typical sequence alignments is insufficient to do so. Instead, a small number of generic matrices are made available to researchers.

Amino acid replacement rate matrices are essential for many protein analyses, including estimating pairwise distances between protein sequences, or reconstructing protein phylogenetic trees using maximum likelihood or Bayesian frameworks [1, 2] and references therein. Amino acid replacement rate matrices can also be converted into score matrices for protein sequence alignment. Roles and applications of amino acid replacement rate matrices were summarized by Thorne [3].

A number of methods have been proposed to estimate the matrices from protein alignments since the time of Dayhoff [4]. These methods belong to either counting or maximum likelihood approaches. The counting methods are fast, but they are limited to only pairwise protein alignments and closely related amino acid sequences [4, 5]. The maximum likelihood methods have been designed to fully utilize the information contained in multiple protein alignments and the corresponding phylogenetic trees which must be estimated from the data [68]. This assumes that the trees are correct, which can be ameliorated by a Bayesian analysis over a set of plausible trees but this would increase an already large computational burden.

With the rapid rise in whole genome sequencing it is now increasingly common to have access to both large numbers of taxa and long concatenated sequence alignments. This creates the opportunity to estimate data-specific amino acid replacement matrices but also requires efficient computational methods because estimating amino acid replacement rate matrices from protein alignments by maximum likelihood methods is a complex and time-consuming process [7, 9, 10] and references therein.

Recently, a fully automated maximum likelihood estimation procedure was proposed and used to estimate matrices from different data sets [8, 10, 11]. It consists of two main steps: building maximum likelihood phylogenetic trees and estimating parameters based on the information contained in multiple protein alignments and the corresponding phylogenetic trees. Building maximum likelihood trees is itself a difficult problem because the number of possible trees increases exponentially with the number of sequences in the alignment [1, 12]. A number of maximum likelihood tree search heuristics have been developed to reduce the computational burden [1316]; however, building maximum likelihood trees is still the most time consuming step in the estimation process. For example, in this study it took 98% (319 out of 324 hours) when estimating the amino acid replacement rate matrix from 100 large alignments in the HSSP (homology-derived structures of proteins) database [17].

In this paper, we propose a new maximum likelihood estimation procedure, FastMG, to work with large data sets. The key idea is to split large alignments into multiple non-overlapping sub-alignments with fewer sequences (each sub-alignment contains at most k sequences) in order to substantially reduce the computational burden of building maximum likelihood trees. The matrices are then estimated from the joint maximum likelihood analysis of the smaller sub-alignments instead of from the large original alignments.

A preliminary study showed that the splitting strategy significantly decreased the running time of the estimation procedure [9]. Here we demonstrate that a naïve random splitting method compromises the quality of the results. In contrast, our “tree-based splitting method” selects sub-trees that retain enough information to estimate accurate amino acid replacement rates. Experiments with different large data sets showed that the FastMG procedure yields similar quality matrices in much less time than the standard estimation procedure.

Results and discussion

We assessed the performance of the FastMG procedure on three large data sets: HSSP data set [17], Pfam data set [18], and our concatenated protein alignment of mitochondrial proteins from 299 mammalian species with 3062 amino acid sites. The FastMG procedure was examined with the random splitting algorithm, the tree-based splitting algorithm, and different k values targeting sub-alignment sizes of 8, 16, 24, 32, and 64 sequences. All matrices were estimated on a personal computer (Intel 2.66 GHz, 8 GB RAM). The PhyML software version 3.0 [14] was used to build maximum likelihood trees from alignments with options: 4 gamma categories model, no invariant sites, no bootstrap, SPR tree improvement, and JTT model. The XRATE software version 0.2 [19] was used to estimate model parameters using information in the alignments and corresponding phylogenetic trees. Let us denote:

  • FastMGR: The FastMG estimation procedure with the random splitting algorithm.

  • FastMGT: The FastMG estimation procedure with the tree-based splitting algorithm.

  • M k R

    : Replacement rate matrix estimated from data set M using the FastMGR procedure and threshold k (e.g., HSSP 8 R is the matrix estimated by the FastMGR procedure with k = 8).

  • M k T

    : Replacement rate matrix estimated from data set M using the FastMGT procedure and threshold k (e.g., HSSP 8 T is the matrix estimated by the FastMGT procedure with k = 8).

  • Ms: Replacement rate matrix estimated from data set M using the standard maximum likelihood estimation procedure (e.g., HSSPS is the matrix estimated by the HSSP data set using the standard estimation procedure).

We compared M k R , M k T ,and M s matrices in terms of both quality and running time. To avoid model bias due to over-fitting, each data set consisted of two alignment sets: the training alignment set and the testing alignment set. The matrices were estimated from alignments in the training set and subsequently used to build maximum likelihood trees for alignments in the testing set. Likelihood scores for test set alignments were used to compare the quality of different matrices as used in other studies [7, 8, 11]. Moreover, we used the Kishino-Hasegawa test [20] to assess the statistical significance of the difference between two matrices as used in previous studies [8, 11].

HSSP data set

We selected 400 alignments from the HSSP database to assess the performance of estimation procedures. The 100 alignments with the largest number of sequences were used as the training alignment set for estimating matrices while the other 300 alignments were used as the testing alignment set. The 100 training alignments contained between 140 and 285 sequences (the mean and max pairwise distances between sequences were 0.481 and 1.286 respectively), for a total of 18325 sequences. The 300 testing alignments contained between 10 and 100 sequences (the mean and max pairwise distances between sequences were 0.635 and 1.846, respectively), for a total of 12854 sequences.

We examined the correlation between matrices estimated from the standard and the FastMG procedures. Table 1 shows high correlations between the 190 exchangeability coefficients of these matrices. As expected, the correlations increase with the increase of k. The results also show that tree-based splitting gives exchangeability parameters that are closer to the standard procedure. The opposite is true for the 20 frequency parameters of the matrices, likely because sub-alignments created by random splitting tend to represent the residue composition of the entire data set, whereas tree-based splitting gives sub-alignments that reflect the residue composition of individual clades. Another reason is likely because the random splitting algorithm selects taxa that are more distantly related and for which there was more time for the substitution process to reach equilibrium.

Table 1 The Pearson correlations between the HSSP S matrix and other matrices estimated by the FastMG procedure

The more important impact on tree likelihood values in pairwise comparisons between HSSPS and other matrices estimated by FastMGR and FastMGT procedures are represented in Table 2. The matrices estimated from the FastMGR procedure were not as good as the HSSPS matrix for any k value. In contrast, the FastMGT procedure generated high quality matrices and FastMGT with k ≥ 16 was at least as good as the standard estimation procedure.

Table 2 Pairwise comparisons between HSSP S and other matrices estimated from the FastMG procedure

Table 3 shows the running time of the standard estimation procedure and the FastMG procedure with different splitting algorithms and k values for the HSSP data set. The estimation time of the FastMG procedure increased linearly with the increase of k (e.g., it took 11.0 hours and 22.9 hours to estimate HSSP 8 T and HSSP 16 T , respectively). This was an order of magnitude faster than the 323.7 hours needed to estimate HSSPS. Interestingly, FastMGT was noticeably and consistently faster than FastMGR. The difference is not as large but suggests faster convergence for tree-based splitting.

Table 3 The running time of the standard estimation procedure and the FastMG procedure with different splitting algorithms and k values for the HSSP data set

Pfam data set

We also examined different estimation procedures on alignments from the Pfam database. The training alignment set contained the 100 largest alignments from the Pfam database with in total 7640 sequences and a range of 46 to 202 sequences per alignment (the mean and max pairwise distances between sequences were 1.341 and 62.428, respectively). The testing alignment set consisted of 480 other alignments with in total 5434 sequences and a range of 5 to 41 sequences per alignment (the mean and max pairwise distances between sequences were 1.174 and 63.096, respectively). Note that the Pfam alignments tended to contain fewer sequences than the HSSP alignments.

We observed similar values and trends as for the HSSP data set, with very high correlations between the PfamS matrix and matrices estimated from the FastMG procedure (see Table 4).

Table 4 The Pearson correlations between the Pfam S matrix and other matrices estimated from the FastMG procedure

The pairwise comparisons of tree likelihood values between the PfamS matrix and matrices estimated from the FastMG procedure are represented in Table 5. Again, we observed similar trends as for the HSSP data set. The quality of matrices increased with an increase of k, however, FastMGR matrices were never as good as the PfamS matrix. In contrast, FastMGT produced matrices that were in a majority of cases slightly better than the standard estimation procedure for all k values. For example, the Pfam 16 T matrix was better than the PfamS matrix on 290 out of 480 testing alignments. Moreover, the Kishino-Hasegawa test showed that the Pfam 16 T matrix was significantly better than the PfamS matrix on 104 testing alignments. The opposite was true only 41 times.

Table 5 Pairwise comparisons between the Pfam S matrix and other matrices estimated by the FastMG procedure

The running time of the standard estimation procedure and the FastMG procedure with different splitting algorithms and k values for the Pfam data set are represented in Table 6. We observed similar running time patterns as for the HSSP data set, however, the magnitude of the speed gain was less in this case (e.g. ~4 times for Pfam 16 T compared to PfamS) because of the typically lower number of sequences in the Pfam alignments.

Table 6 The running time of the standard estimation procedure and the FastMG procedure with different splitting algorithms and k values for the Pfam data set

Mammalian protein alignment

Our mammalian protein alignment (Mam) consists of the concatenated 12 mitochondrial proteins (all except ND6) of 299 mammalian species and 3602 amino acid sites. The mean and max pairwise distances between sequences were 0.256 and 0.441, respectively. Because it is a single alignment, we used 10-fold cross validation to examine the performance of different estimation procedures [21]. In particular, the 3602 amino acid sites were randomly distributed across 10 non-overlapping partitions P1, …, P10 each consisting of 360 or 361 sites. The validation was repeated 10 times. Let V t (t = 1…10) denote the tth validation (i.e. the part P t was used as the testing data and the other 9 parts were used as the training data).

Table 7 shows the likelihood comparisons between the MamS matrix and the matrices estimated from the FastMG procedure at the 10 validations. Again, the matrices estimated from the FastMGR procedure were never as good as the MamS matrix, while the matrices estimated by FastMGT with k ≥ 16 were similar or slightly better than the MamS matrix. For example, FastMGT with k = 16 gave slightly better likelihood scores than the standard estimation procedure in all 10 validations and significantly better scores in 4 validations.

Table 7 The log likelihood per site comparisons between the Mam S matrix and matrices estimated by the FastMG procedure

We also examined the performance of the original MtMam matrix [22] and matrices estimated from the FastMG procedure. Table 8 shows that the matrices estimated by FastMGT were significantly better than the original MtMam for all 10 validations.

Table 8 The log likelihood per site comparisons between the original MtMam matrix and matrices estimated by the FastMG procedure

The estimation time of different matrices is presented in Table 9. For this alignment with 299 species the FastMG procedure was an order of magnitude faster than the standard estimation procedure (e.g. FastMGT with k = 16 was about 24 times faster than the standard estimation procedure). It also repeats the trend that the tree-splitting method is both faster and yields more accurate matrices.

Table 9 The running time (hours) of different estimation procedures

Trends and special considerations

At the start of our studies we anticipated that alignment splitting would result in only minimal deterioration of matrix quality. Instead we observed, on balance, a small improvement in the performance of FastMGT matrices compared to those obtained without splitting. Although the effect is small it is consistent and suggests that a systematic effect is at play. Although further studies are needed to better understand these effects, it is plausible that the specific elimination of deeper and often less well defined branches contributes to the effect. In addition, tree-based splitting results in alignments of more closely related sequences with lower risk of sequence alignment errors.

There were a number of alignments where the matrices inferred from the standard and FastMGT procedures resulted in different tree topologies. This occurred in about 50-75% of cases for HSSP alignments and 10-25% of cases for the Pfam alignment (Tables 2 and 5, columns 4 and 5). This different rate of occurrences is expected because the HSSP alignments have more sequences and are therefore more prone to topology differences. We considered the possibility that achieving a significantly better likelihood score was due to finding a different tree topology. However, in cases where the likelihood score is significantly better only a minority of alignments has a different tree topology.

Our three test cases all include a considerable amount of sequence divergence and all show that tree-splitting is superior to random splitting. A preliminary study on closely related influenza sequences showed that tree-splitting is still optimal [9]. However, in extreme cases the number of observed substitutions upon tree-splitting may become too small to be informative. In such a case random splitting may be preferred.

Another consideration is that our current FastMG procedure uses neighbor-joining to create the tree needed for the tree-based splitting algorithm. This scales well for alignments with hundreds or even thousands of sequences, but becomes inefficient for extremely large alignments. The performance of the FastMG procedure for such huge alignments will likely benefit from faster alignment splitting methods [23] and faster tree building methods (e.g. FastTree [24]) and this deserves further study if such cases become more common.

Conclusions

Amino acid replacement matrices are essential for many statistical methods to analyze protein sequences. Maximum likelihood methods typically generate the best replacement matrices because they can fully utilize information in the multiple protein alignments. However, for this application maximum likelihood analysis is complex and computationally expensive. Here we propose a modified maximum likelihood procedure to estimate amino acid replacement rate matrices from large data sets. The key component of the modified estimation procedure is the splitting algorithm that divides large alignments into multiple sub-alignments with fewer sequences that are subsequently used to estimate matrices. The extensive experiments showed that the FastMGT procedure performed well with large data sets and reduces the running time as function of the number of sequences from approximately quadratic to linear, as we expect based on the time complexity of tree inference (see Methods section). FastMGT with k ≥ 16 was about an order of magnitude faster than the standard estimation procedure while it did not reduce the quality of estimated matrices.

Experiments strongly suggest that k = 16 is a good choice for the FastMGT estimation procedure. Even the analysis of the 100 largest alignments of the HSSP database took less than a day with FastMGT and k = 16 on a typical desktop computer. Thus, our method now enables researchers to avoid generic pre-calculated matrices and instead estimate optimal amino acid replacement matrices for their particular needs from large data sets on their personal computers.

Methods

Model

As usual, the amino acid substitution process is assumed to be independent among amino acid sites. Although the data might not be compositionally homogeneous across the sequences in the alignment (e.g., different amino acid compositions among the clades), we assume that the standard model for the amino acid substitution process over the tree is a Markov process with time-homogeneous, time-continuous, and time-reversible properties [68] and references therein. The model is represented by a 20 × 20 instantaneous substitution rate matrix Q = {q xy } where q xy (x ≠ y) represents the number of substitutions from amino acid x to amino acid y per time unit. The diagonal elements q xx are assigned such that the row sums are all zero. Since the model is time reversible, the matrix Q can be decomposed into a symmetric exchangeability rate matrix R = {r xy } and an amino acid equilibrium frequency vector Π = {π x } such that q xy  = r xy π y and q x x =- x y q x y .

Model estimation procedure

Given a set of c protein alignments D = {D1, …, D c }, the substitution model Q can be estimated by maximizing the likelihood L(D) using equation 1 as follows

L D = i = 1 c L T i , ρ i , Q ; D i
(1)

where L(T i , ρ i , Q; D i ) is the likelihood of protein alignment D i given phylogenetic tree T i ; the rate variation model ρ i ; and substitution model Q[7, 8].

Optimizing L(D) is a difficult problem because we have to simultaneously optimize parameters of TQ, and ρ. Previous studies indicated that a good approximation of Q (Q’) can be obtained with near-optimal trees (T’) and rate variation model (ρ’) [7, 8, 10] and references therein. Because trees and rate variation models are computed a priori, the likelihood L(D) can thus be approximated by equation 2 as follows

L D = i = 1 c L Q ' ; T i ' , ρ i ' , D i
(2)

A better model Q can be estimated from alignments of D using an iterative approach as detailed in the 4-step standard estimation procedure as follows [8]:

Standard estimation procedure

  • Step 0: Input a set of multiple alignments D and a starting matrix Q (typically input only exchangeability rate matrix R, the frequency vector Π is estimated from the data D).

  • Step 1: Build phylogenetic tree T i and rate across site model ρ i for each alignment D i using maximum likelihood tree construction programs such as PhyML [14].

  • Step 2: Estimate a new exchangeability matrix Q’ using the approach described by Le and Gascuel [8] and the XRate software [19].

  • Step 3: Compare Q’ and Q, if they are nearly identical, return Q’ as the optimal model. Otherwise, assign Q ← Q’ and goto Step 1.

Previous studies have showed that this estimation procedure usually stops after three iterations. The procedure is called “standard maximum likelihood estimation procedure”.

Building maximum likelihood trees in Step 1 is a computationally expensive problem [12]. Although a number of heuristics have been proposed for searching maximum likelihood trees [1316], Step 1 is still the bottleneck of the estimation process. It is roughly estimated [25] that the computing time of PhyML (and of other similar maximum likelihood approaches) is in O(n2s), where n is the number of taxa and s the number of sites. Experiments with a number of different data sets have confirmed this approximation. Thus, it is expected that splitting the original alignments into two equally-sized sub-alignments divides the total computing time by a factor two. This property explains why the computing time to build trees displayed in Tables 3, 6 and 9 is approximately linear as a function of k (size of sub-alignments).

Alignment-splitting algorithms

Consider a multiple alignment D i of n sequences (d i 1, …, d i n), splitting alignment D i is a process to divide alignment D i into non-overlapping smaller sub-alignments D i 1, …, D i m such that each sequence d i j=1…n ∊ D i belongs to exactly one sub-alignment D i t(t = 1…m). For example, alignment D i of 8 sequences (d i 1, …, d i 8) can be split into three sub-alignments D i 1 = (d i 1, d i 2, d i 8), D i 2 = (d i 3, d i 4, d i 5), D i 3 = (d i 6, d i 7). Let k be the maximum number of sequences in a sub-alignment; we seek a method of alignment splitting that allows us to minimize k, to maximize computational efficiency, while retaining adequate amounts of information in sub-alignments for estimating the amino acid replacement rates.

Random splitting algorithm

Given a multiple alignment D i of n sequences (d i 1, …, d i n) and a threshold k, we describe a naïve splitting algorithm, called “Random splitting algorithm”. The general idea of the algorithm is to randomly split sequences (d i 1, …, d i n) into sub-alignments such that each sub-alignment contains at most k sequences. To prevent creating too small sub-alignments that might not contain enough information for estimating the replacement rates, the algorithm also requires that each sub-alignment needs to contain at least k/2 sequences. Thus, each sub-alignment contains from k/2 to k sequences. The random splitting algorithm is fully described in Algorithm 1.

The random splitting algorithm is very simple; however, its main drawback is that sequences of the same sub-alignment might be very distantly related. This could compromise estimation of amino acid replacement rates.

Tree-based splitting algorithm

We designed a new splitting algorithm, called tree-based splitting algorithm, to maximize homology between sequences in each sub-alignment. Let T i denote the phylogenetic tree relating sequences (d i 1, …, d i n) of D i . The key idea of the tree-based splitting algorithm is that sequences in the same sub-tree of T i should be split into the same sub-alignment. Figure 1 shows an example of 9 sequences related by a tree. The sequences can be split into 2 sub-alignments (s1, s2, s3, s8) and (s4, s5, s6, s7, s9) where (s1, s2, s3, s8) sequences belong to the left sub-tree while (s4, s5, s6, s7, s9) sequences belong to the right sub-tree.

Figure 1
figure 1

Tree-based splitting example. The tree-based splitting algorithm would divide this hypothetical tree for a 9-sequence alignment into two sub-alignments (s1, s2, s3, s8) and (s4, s5, s6, s7, s9), corresponding to the left and right sub-trees, respectively.

The tree-based splitting algorithm follows the Neighbor-joining algorithm schema [26] to step-by-step group sequences into sub-alignments. The algorithm also requires that each sub-alignment contains at least k/2 sequences and at most k sequences. The tree-based splitting algorithm is fully described in Algorithm 2.

Note that the distance matrix between sequences used in the Neighbor-joining algorithm is estimated by the maximum likelihood method using the LG matrix [8]. Technically, we used BIONJ [27] (an improved version of the Neighbor-joining algorithm) to split large alignments.

Fast maximum likelihood estimation procedure (FastMG)

The FastMG procedure consists of two phases: first, the large original alignments are split into non-overlapping sub-alignments by one of the alignment splitting algorithms; then the matrix is estimated by joint maximum likelihood analysis of the smaller sub-alignments instead of the large original alignments. The FastMG procedure is described by the following 5-steps

Fast maximum likelihood estimation procedure (FastMG)

  • Step 0: Input a set of multiple alignments D; a starting matrix Q (typically input only exchangeability rate matrix R, the frequency vector Π is estimated from the data D); and a threshold k.

  • Step 1: For each alignment D i  ∊ D, split D i into sub-alignment D i 1….D i m using either the random splitting algorithm or the tree-based splitting algorithm.

  • Step 2: Build phylogenetic tree T i jand rate across site model ρ i j for each sub-alignment D i j using maximum likelihood tree construction programs such as PhyML [14].

  • Step 3: Estimate a new matrix Q’ from sub-alignments using the approach described by Le and Gascuel [8] and the XRate software [19].

  • Step 4: Compare Q’ and Q, if they are nearly identical, return Q’ as the optimal model. Otherwise, assign Q ← Q’ and go to Step 2.