FastTree 2 – Approximately Maximum-Likelihood Trees for Large Alignments — TEI-tagged view

Morgan N. Price, Paramvir S. Dehal, Adam P. Arkin · 2010 · bioinformatics · doi:10.1371/journal.pone.0009490 · TEI xml · tagged edition · index · concepts · authors
Where this record's text came from. 2026-08-30 schema-0.3 pass: every quote verified as an exact substring of the staged text and anchored at merge time; concept terms verified present; every edge endpoint an existing node.
Other fields define these differently the same word, defined another way in another discipline
memory 23 fields · bootstrap 2 fields · protein sequences 2 fields · branch lengths 2 fields · DNA 2 fields · likelihood 2 fields · and 3 more →
Tags on this paper every tag the record carries, whether or not the words occur in the text below — a number is how many papers in the corpus carry that tag; a tag with no number is unique to this paper
phylogenies DNA3 protein sequences3 gene families FastTree 1.0 minimum-evolution topology5 branch lengths2 neighbor joining nearest-neighbor interchanges profiles of subtrees pairwise distances maximum-likelihood (ML) approach transition rate matrix likelihood4 PhyML RAxML FastTree 2 subtree-pruning-regrafting heuristics2 CAT rate of evolution gamma distribution approximately-maximum-likelihood method topological accuracy proportion of the splits in the true trees that are recovered strongly supported both SH-like local supports and approximate likelihood ratio test… local support values FastME exact neighbor joining 16S ribosomal RNAs protein families from COG bootstrap50 SH test posterior distributions2 up-posterior subtree skipping star topology GTR model Jukes Cantor Bayesian approach rate categories likelihood vectors single-precision floating point rotated form SSE2 instructions Brent's method profile alignment system-or-tool-building173
Method, as described: neighbor-joining initialization, minimum-evolution NNIs and linear SPRs, CAT-based maximum-likelihood NNIs, branch-length optimization, and SH-like local supports

Colour legend

PLoS ONE<title level="j">A work — the journal / venue title.
2010<date>A year or date.

Morgan N. PricepersName, Paramvir S. DehalpersName, Adam P. ArkinpersName (2010date). “FastTree 2 – Approximately Maximum-Likelihood Trees for Large Alignments.” PLoS ONEtitle·j.

Object of study — scalable approximately maximum-likelihood phylogenetic inference for very large DNAterm and protein sequenceterm alignments

Research question — whether restricted tree-search heuristicsterm can retain phylogenetic accuracy while making maximum-likelihood-scale inference practical for hundreds of thousands of sequences

Contribution — FastTree 2term, its minimum-evolutionterm SPR and maximum-likelihood NNI pipeline, CATterm rate approximation, local support procedure, and comparative accuracy/scalability evaluation

Cross-disciplinary analysis
content-tags & facets: phenomenon · claim-type · cross-domain-transfer · mechanism · claim-relation · replication-status · limitation — grounded in the full text
phenomenonthe computational accuracy, likelihood, speed, memory use, and support reliability of large-scale phylogenetic tree inference — “We compared FastTree's speed and accuracy to those of PhyML 3.0 and RAxML 7, the most popular maximum-likelihood methods. To measure the quality of the resulting trees, we measured the topological accuracy on simulated alignments and the likelihood on genuine biological alignments.”
claim-typemethod — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”
method — evidence — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”
object of study — evidence — “FastTree 2 allows the inference of maximum-likelihood phylogenies for huge alignments. FastTree 2 is freely available at http://www.microbesonline.org/fasttree .”
research question — evidence — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”
contribution — evidence — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”
mechanismneighbor-joining starting tree A fast distance-based topology initializes the later refinement phases. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”mechanisms[0]
mechanismminimum-evolution NNIs Local node swaps refine the initial topology under total branch length. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”mechanisms[1]
mechanismlinear SPRs Two bounded rounds examine short regrafts first and greedily extend promising moves. — “To reduce the number of SPR moves considered from O( ) to O( ), FastTree does just two rounds of “linear SPRs.” For each node, FastTree does an exhaustive search for moves up to length two. It extends each of these moves up to a length of 10 along the best choice at each point along the way.”mechanisms[2]
mechanismmaximum-likelihood NNIs Local rearrangements accept likelihood-improving topologies after branch optimization. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”mechanisms[3]
mechanismCAT approximation Each site selects one of 20 estimated rates instead of summing across gamma categories. — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”mechanisms[4]
mechanismsearch-space heuristics Limits on moves and optimization preserve predictable scaling. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are: It uses “linear SPRs” to consider just of the possible SPR moves. At each node, it examines the shortest SPRs first and then extends the most promising candidates. It searches for SPR moves for every subtree just twice, instead of iterating until convergence. During the ML phase, it limits the ML NNIs to at most rounds; in practice, it converges before it reaches this limit, but the limit ensures a predictable running time. It limits the effort to optimize model parameters and branch lengths. It abandons optimization for NNI moves that seem, after partial optimization, to significantly lower the likelihood. It does not try to improve parts of the tree that did not improve in recent rounds.”mechanisms[5]
mechanismprofiles of subtrees Profile storage replaces a full pairwise-distance matrix and lowers memory demand. — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”mechanisms[6]
mechanismposterior distributions Internal-node state probabilities support likelihood evaluation and local topology changes. — “The key data structures for the maximum likelihood phase are the tree topology, the branch lengths, and the posterior distributions for each internal node. (FastTree stores the tree with a trifurcation at the root, but the placement of the root is not biologically meaningful and does not affect the likelihood [5] .) The posterior distribution for an internal node describes the state of the corresponding ancestor, given the branch lengths and the sequences beneath it. For example, for nucleotide data, it stores the probability that a given site was an A, C, G, or T. FastTree stores posterior distributions for internal nodes (not for the root), and they require O( ) space each, where is the alignment's length and is the number of characters in the alphabet.”mechanisms[7]
mechanismup-posterior A path-local representation of the rest of the tree permits temporary rerooting around the current node. — “The up-posterior for a node can be computed from its parent's up-posterior and its sibling's posterior distribution. FastTree only stores these up-posteriors for the path to the root from its current location in the tree, so they take O( ) space, where is the maximum depth of the tree. Because FastTree always visits children before their parents, the posterior and up-posterior distributions it uses are up to date, even as the topology changes.”mechanisms[8]
mechanismsubtree skipping Unchanged subtrees are omitted after two unproductive recent rounds. — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”mechanisms[9]
mechanismstar topology test A well-supported current quartet bypasses optimization of unlikely alternate NNIs. — “If the current topology (A,B,(C,D)) is much better than the star topology (A,B,C,D) then an NNI is unlikely to give an improvement. Specifically, if the current topology is significantly (5 log-likelihood units) more likely than the star topology (after optimizing the internal branch length), then FastTree does not optimize the other branch lengths or consider the two alternate topologies. However, FastTree only uses this heuristic if the node that was unchanged in the last round of NNIs. To approximate the likelihood of the star topology, FastTree uses the likelihood with the minimal internal branch length of 0.0001.”mechanisms[10]
mechanismBayesian approach A peaked gamma prior regularizes per-site rate-category selection. — “Second, unless the -nocat option is set, FastTree estimates the rate of evolution at each site. Given the desired number of categories of relative rates , FastTree selects values that are logarithmically spaced between and . By default, , and the relative rates range from 0.05 to 20. For each of these relative rates, FastTree recomputes all posterior distributions and recalculates the log likelihood of the tree at each site. FastTree then uses a Bayesian approach to select which rate to use at each site: FastTree maximizes , where is a gamma-distributed prior. To avoid overfitting, we made the prior more peaked than real rate variation in alignments: the prior has a shape parameter of 3, a scale parameter of 1/3, and a mean of 1. After choosing the rate categories, FastTree scales the rates so that the average rate across all sites is 1.0.”mechanisms[11]
mechanismSH test One thousand site-likelihood bootstrap replicates estimate split confidence. — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”mechanisms[12]
mechanismrotated form Multiplication by the transition eigen-matrix reduces per-site likelihood-computation cost. — “Similar to RAxML, FastTree stores the posterior distributions in a rotated form, multiplied by the eigen-matrix of the transition matrix. (For the Jukes Cantor model, this is not necessary.) This reduces the time for likelihood computations from O( ) per site to O( ), while leaving the cost of computing the posterior distribution at O( ) per site (but with a higher constant factor).”mechanisms[13]
mechanismSSE2 instructions Vector operations process four single-precision values per instruction. — “FastTree uses SSE2 instructions, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating point values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).”mechanisms[14]
mechanismBrent's method One-dimensional interval halving optimizes model and branch parameters in repeated turns. — “To find the parameters that optimize the likelihood, FastTree uses Brent's method, a numerical method that iteratively halves the interval it is searching within ( http://en.wikipedia.org/wiki/Brents_method ). Because Brent's method only operates in one dimension, FastTree optimizes different parameters in turn, and then repeats the rounds of optimization (for example, it optimizes the first branch length, then the second, then the third, then repeats).”mechanisms[15]
extends FastTree 1.0 — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”claim_relations[0]
builds-on neighbor joining and nearest-neighbor interchange phylogeny construction — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”claim_relations[1]
contrasts-with PhyML 3 default NNI search — “We will show that in practice, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyML 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2 recovers a higher proportion of true splits, and on genuine alignments, FastTree 2's topologies tend to have higher likelihoods. FastTree's minimum-evolution SPR moves give it a better starting tree than PhyML's starting tree, which is obtained with BIONJ (a weighted variant of neighbor joining [18] ). This more than makes up for FastTree's heuristics, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CAT approximation instead of the model (which is itself an approximation of the continuous gamma distribution) has little effect on the quality of the tree.”claim_relations[2]
contrasts-with RAxML 7 maximum-likelihood SPR search — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”claim_relations[3]
sensephylogeny as a sequence-derived evolutionary relationship topology — “Inferring evolutionary relationships, or phylogenies, from families of related DNA or protein sequences is a central method in computational biology. Sequence-based phylogenies are widely used to understand the evolutionary relationships of organisms and to analyze the functions of genes.”senses[0]
senseminimum evolution as minimizing total branch length, not runtime — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”senses[1]
sensemaximum likelihood as a ranking criterion that does not prescribe a search — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”senses[2]
senseapproximately maximum likelihood as monotonic improvement without local-optimum guarantee — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”senses[3]
sensetopological accuracy as true-split recovery rather than likelihood — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”senses[4]
sensestrong support as agreement of two local tests at a 95-percent threshold — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”senses[5]
senseCAT as point selection of a per-site rate rather than integration over rates — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”senses[6]
senseposterior distribution as an ancestral-state probability vector at an internal node — “The key data structures for the maximum likelihood phase are the tree topology, the branch lengths, and the posterior distributions for each internal node. (FastTree stores the tree with a trifurcation at the root, but the placement of the root is not biologically meaningful and does not affect the likelihood [5] .) The posterior distribution for an internal node describes the state of the corresponding ancestor, given the branch lengths and the sequences beneath it. For example, for nucleotide data, it stores the probability that a given site was an A, C, G, or T. FastTree stores posterior distributions for internal nodes (not for the root), and they require O( ) space each, where is the alignment's length and is the number of characters in the alphabet.”senses[7]
senseup-posterior as the rest-of-tree distribution enabling temporary rerooting — “The up-posterior for a node can be computed from its parent's up-posterior and its sibling's posterior distribution. FastTree only stores these up-posteriors for the path to the root from its current location in the tree, so they take O( ) space, where is the maximum depth of the tree. Because FastTree always visits children before their parents, the posterior and up-posterior distributions it uses are up to date, even as the topology changes.”senses[8]
sensesubtree skipping as recent-history pruning rather than permanent exclusion — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”senses[9]
senselocal support as a quartet-local reliability estimate, not a global topology search — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”senses[10]
sensescalability as combined runtime and memory behavior on hundreds of thousands of sequences — “For one of the largest alignments existing today, containing 237,882 16S ribosomal RNAs, FastTree took less than a day and 5.8 GB of memory on a desktop computer. For comparison, given that RAxML took over 2 days for just 15,011 sequences, and optimistically assuming O( ) scaling, RAxML would take around half a year for the full 16S alignment. Analyzing such alignments with traditional minimum evolution approaches based on a distance matrix would also be prohibitive – just computing and storing all pairwise distances for these sequences, without computing a topology, would require roughly a day and a half and 113 GB of storage.”senses[11]
controlsimulated alignments with known true trees, varying site rates, and realistic gaps — held — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).” — rules out reliance on likelihood alone when true topology is unknown — “We tested FastTree on simulated protein alignments with 250 to 5,000 sequences [2] . These simulations were derived from diverse gene families that arise in genome-scale studies (“Collections of Orthologous Groups” or COGs, [20] ). The simulations include varying evolutionary rates across sites and include realistic placement of gaps. The simulations are available from the FastTree web site ( http://microbesonline.org/fasttree/#Sims ).”controls[0]
controlPhyML initialized with FastTree's minimum-evolution tree — held — “To understand why FastTree 2 was outperforming PhyML 3 with NNI search, we ran PhyML 3 with FastTree's minimum-evolution tree as its starting tree. For the protein simulations with 250 sequences, this improved PhyML's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolution phase yields more accurate starting trees than either PhyML 3's approach of using BIONJ with maximum-likelihood distances or RAxML's implementation of parsimony ( Table 1 ).” — rules out confounding of NNI implementation with starting-tree quality — “To understand why FastTree 2 was outperforming PhyML 3 with NNI search, we ran PhyML 3 with FastTree's minimum-evolution tree as its starting tree. For the protein simulations with 250 sequences, this improved PhyML's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolution phase yields more accurate starting trees than either PhyML 3's approach of using BIONJ with maximum-likelihood distances or RAxML's implementation of parsimony ( Table 1 ).”controls[1]
controlPhyML re-optimization of FastTree topologies under the comparison rate model — held — “Because FastTree 2 does not exhaustively optimize the likelihood, and because it reports branch lengths and local support values that were estimated using the CAT approximation, we compared its branch lengths and local support values to -based lengths and supports. Specifically, for the protein simulations with 250 sequences, we re-optimized the branch lengths and computed local SH-like support values for the FastTree topologies with PhyML 3 and . (For both tools, we used the Jones-Taylor-Thorton (JTT) model of amino acid evolution.) PhyML's internal branch lengths were well correlated with those from FastTree ( = 0.90). For branch lengths of 1.0 or less, the average difference was just 0.01, and for branch lengths between 0.01 and 1.0, the average percent difference was 13%. For internal branch lengths on correct splits, FastTree agreed slightly better with the true lengths (median absolute difference of 0.062 for PhyML and 0.059 for FastTree). Thus, the CAT approximation gave acceptable branch lengths.” — rules out attributing branch-length differences solely to topology — “Because FastTree 2 does not exhaustively optimize the likelihood, and because it reports branch lengths and local support values that were estimated using the CAT approximation, we compared its branch lengths and local support values to -based lengths and supports. Specifically, for the protein simulations with 250 sequences, we re-optimized the branch lengths and computed local SH-like support values for the FastTree topologies with PhyML 3 and . (For both tools, we used the Jones-Taylor-Thorton (JTT) model of amino acid evolution.) PhyML's internal branch lengths were well correlated with those from FastTree ( = 0.90). For branch lengths of 1.0 or less, the average difference was just 0.01, and for branch lengths between 0.01 and 1.0, the average percent difference was 13%. For internal branch lengths on correct splits, FastTree agreed slightly better with the true lengths (median absolute difference of 0.062 for PhyML and 0.059 for FastTree). Thus, the CAT approximation gave acceptable branch lengths.”controls[2]
controlFastME starting trees plus exhaustive NNIs and extra branch optimization — held — “We then examined how the topological accuracy of FastTree 2 is affected by its heuristics. As shown in Table 1 , the minimum-evolution phase of FastTree, which uses linear SPRs, is not as accurate as FastME 2, a minimum-evolution method that performs exhaustive SPR moves [8] , [12] . FastME computes distances between internal nodes differently from the minimum-evolution phase of FastTree: FastME uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastME with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolution methods with SPRs to FastTree's heuristics. To eliminate this effect, we ran FastTree with the FastME starting tree. To eliminate the effect of FastTree's ML heuristics, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengths within each NNI (4 rounds of optimizing branch lengths for each quartet, instead of 1–2 rounds). In combination, FastTree 2 with FastME+SPR starting trees and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequences from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristics have little effect on accuracy, and that removing them would improve the topology little relative to adding ML SPRs (e.g., RAxML 7.2.1 was 88.4% accurate).” — rules out the combined contribution of FastTree's search heuristics — “We then examined how the topological accuracy of FastTree 2 is affected by its heuristics. As shown in Table 1 , the minimum-evolution phase of FastTree, which uses linear SPRs, is not as accurate as FastME 2, a minimum-evolution method that performs exhaustive SPR moves [8] , [12] . FastME computes distances between internal nodes differently from the minimum-evolution phase of FastTree: FastME uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastME with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolution methods with SPRs to FastTree's heuristics. To eliminate this effect, we ran FastTree with the FastME starting tree. To eliminate the effect of FastTree's ML heuristics, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengths within each NNI (4 rounds of optimizing branch lengths for each quartet, instead of 1–2 rounds). In combination, FastTree 2 with FastME+SPR starting trees and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequences from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristics have little effect on accuracy, and that removing them would improve the topology little relative to adding ML SPRs (e.g., RAxML 7.2.1 was 88.4% accurate).”controls[3]
controlexact-neighbor-joining and fastest-heuristic starting-tree variants — held — “We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNA alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristics. In these simulations, FastTree gave much more accurate topologies than exact neighbor joining or Clearcut [24] , a faster heuristic variant of neighbor joining ( Table 1 ). (To analyze such large alignments with exact neighbor joining, we used NINJA [25] .) To verify that the heuristics in FastTree's neighbor joining phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting tree, before doing minimum-evolution NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristics for the neighbor joining phase (-fastest). All three variants found 92.10% of splits correctly.” — rules out accuracy loss caused by neighbor-joining shortcuts — “We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNA alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristics. In these simulations, FastTree gave much more accurate topologies than exact neighbor joining or Clearcut [24] , a faster heuristic variant of neighbor joining ( Table 1 ). (To analyze such large alignments with exact neighbor joining, we used NINJA [25] .) To verify that the heuristics in FastTree's neighbor joining phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting tree, before doing minimum-evolution NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristics for the neighbor joining phase (-fastest). All three variants found 92.10% of splits correctly.”controls[4]
controlsimulations with and without genuine site-rate variation — held — “We confirmed that the Bayesian approach to setting the rate categories prevents overfitting on small alignments. For example, on simulated protein alignments with just 10 sequences (from [2] ), adding the CAT model improves FastTree's accuracy from 76.2% to 78.0%. (For comparison, PhyML without or SPRs was 74.4% accurate [2] .) Conversely, on nucleotide simulations with 24 sequences that (unrealistically) do not contain any rate variation across sites (the fast-evolving alignments of [12] ), the CAT model only reduces accuracy slightly, from 93.6% to 93.4%. (For comparison, PhyML without or SPRs was 93.6% accurate [2] .)” — rules out CAT improvement caused only by overfitting rate categories — “We confirmed that the Bayesian approach to setting the rate categories prevents overfitting on small alignments. For example, on simulated protein alignments with just 10 sequences (from [2] ), adding the CAT model improves FastTree's accuracy from 76.2% to 78.0%. (For comparison, PhyML without or SPRs was 74.4% accurate [2] .) Conversely, on nucleotide simulations with 24 sequences that (unrealistically) do not contain any rate variation across sites (the fast-evolving alignments of [12] ), the CAT model only reduces accuracy slightly, from 93.6% to 93.4%. (For comparison, PhyML without or SPRs was 93.6% accurate [2] .)”controls[5]
noteFastTree 1.0 — FastTree 2 retains the scalable predecessor and adds SPR and ML-NNI stages. — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”claim_relations[0]
weightFastTree 1.0 — 0.95 — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”claim_relations[0]
noteneighbor joining and nearest-neighbor interchange phylogeny construction — The new pipeline begins from these established operations. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”claim_relations[1]
weightneighbor joining and nearest-neighbor interchange phylogeny construction — 0.95 — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”claim_relations[1]
notePhyML 3 default NNI search — The paper directly compares accuracy and explains the initialization difference. — “We will show that in practice, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyML 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2 recovers a higher proportion of true splits, and on genuine alignments, FastTree 2's topologies tend to have higher likelihoods. FastTree's minimum-evolution SPR moves give it a better starting tree than PhyML's starting tree, which is obtained with BIONJ (a weighted variant of neighbor joining [18] ). This more than makes up for FastTree's heuristics, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CAT approximation instead of the model (which is itself an approximation of the continuous gamma distribution) has little effect on the quality of the tree.”claim_relations[2]
weightPhyML 3 default NNI search — 0.95 — “We will show that in practice, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyML 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2 recovers a higher proportion of true splits, and on genuine alignments, FastTree 2's topologies tend to have higher likelihoods. FastTree's minimum-evolution SPR moves give it a better starting tree than PhyML's starting tree, which is obtained with BIONJ (a weighted variant of neighbor joining [18] ). This more than makes up for FastTree's heuristics, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CAT approximation instead of the model (which is itself an approximation of the continuous gamma distribution) has little effect on the quality of the tree.”claim_relations[2]
noteRAxML 7 maximum-likelihood SPR search — The comparison exposes the accuracy versus computation tradeoff. — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”claim_relations[3]
weightRAxML 7 maximum-likelihood SPR search — 0.95 — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”claim_relations[3]
noteFastTree 2 —is-a→ approximately-maximum-likelihood method — Direct categorical statement. — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”concept_edges[0]
relationFastTree 2 —is-a→ approximately-maximum-likelihood method — FastTree 2 is an approximately-maximum-likelihood method. — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”concept_edges[0]
notetopological accuracy —operationalised-as→ proportion of the splits in the true trees that are recovered — Exact operational definition. — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concept_edges[1]
relationtopological accuracy —operationalised-as→ proportion of the splits in the true trees that are recovered — Topological accuracy is defined as the proportion of true-tree splits recovered. — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concept_edges[1]
notestrongly supported —operationalised-as→ both SH-like local supports and approximate likelihood ratio test (aLRT) supports — Exact thresholded operational definition. — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”concept_edges[2]
relationstrongly supported —operationalised-as→ both SH-like local supports and approximate likelihood ratio test (aLRT) supports — Strong support is defined by both local-support measures reaching 95 percent. — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”concept_edges[2]
noteFastTree 2 —contrasted-with→ PhyML — Direct comparative finding. — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concept_edges[3]
relationFastTree 2 —contrasted-with→ PhyML — FastTree 2 is slightly more accurate than PhyML with default NNI settings. — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concept_edges[3]
weightFastTree 2 —contrasted-with→ PhyML — 0.95 — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concept_edges[3]
noteFastTree 2 —contrasted-with→ RAxML — Direct two-dimensional tradeoff. — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”concept_edges[4]
relationFastTree 2 —contrasted-with→ RAxML — FastTree is faster but less accurate than the more intensive RAxML SPR search. — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”concept_edges[4]
weightFastTree 2 —contrasted-with→ RAxML — 0.95 — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”concept_edges[4]
noteCAT —contrasted-with→ gamma distribution — Explicit rather-than contrast. — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”concept_edges[5]
relationCAT —contrasted-with→ gamma distribution — CAT selects a site-rate estimate rather than summing across rates approximating a gamma distribution. — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”concept_edges[5]
weightCAT —contrasted-with→ gamma distribution — 0.95 — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”concept_edges[5]
noteposterior distributions —contrasted-with→ likelihood vectors — Explicit whereas contrast. — “Whereas RAxML stores likelihood vectors (that is, the joint likelihood of a subtree and of a given character at an internal node), FastTree stores posterior distributions, which are normalized so that each site's values sum to 1. This may improve numerical stability for huge alignments. To reduce memory usage, FastTree stores these vectors in single-precision floating point. Log-likelihoods for the tree or for specific sites are stored with double precision.”concept_edges[6]
relationposterior distributions —contrasted-with→ likelihood vectors — FastTree stores normalized posterior distributions whereas RAxML stores likelihood vectors. — “Whereas RAxML stores likelihood vectors (that is, the joint likelihood of a subtree and of a given character at an internal node), FastTree stores posterior distributions, which are normalized so that each site's values sum to 1. This may improve numerical stability for huge alignments. To reduce memory usage, FastTree stores these vectors in single-precision floating point. Log-likelihoods for the tree or for specific sites are stored with double precision.”concept_edges[6]
weightposterior distributions —contrasted-with→ likelihood vectors — 0.95 — “Whereas RAxML stores likelihood vectors (that is, the joint likelihood of a subtree and of a given character at an internal node), FastTree stores posterior distributions, which are normalized so that each site's values sum to 1. This may improve numerical stability for huge alignments. To reduce memory usage, FastTree stores these vectors in single-precision floating point. Log-likelihoods for the tree or for specific sites are stored with double precision.”concept_edges[6]
noteprofiles of subtrees —contrasted-with→ pairwise distances — Explicit replacement contrast. — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concept_edges[7]
relationprofiles of subtrees —contrasted-with→ pairwise distances — FastTree stores subtree profiles instead of all pairwise distances. — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concept_edges[7]
weightprofiles of subtrees —contrasted-with→ pairwise distances — 0.95 — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concept_edges[7]
outcomecontrol — held — “We tested FastTree on simulated protein alignments with 250 to 5,000 sequences [2] . These simulations were derived from diverse gene families that arise in genome-scale studies (“Collections of Orthologous Groups” or COGs, [20] ). The simulations include varying evolutionary rates across sites and include realistic placement of gaps. The simulations are available from the FastTree web site ( http://microbesonline.org/fasttree/#Sims ).” — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”controls[0]
outcomecontrol — held — “To understand why FastTree 2 was outperforming PhyML 3 with NNI search, we ran PhyML 3 with FastTree's minimum-evolution tree as its starting tree. For the protein simulations with 250 sequences, this improved PhyML's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolution phase yields more accurate starting trees than either PhyML 3's approach of using BIONJ with maximum-likelihood distances or RAxML's implementation of parsimony ( Table 1 ).”controls[1]
outcomecontrol — held — “Because FastTree 2 does not exhaustively optimize the likelihood, and because it reports branch lengths and local support values that were estimated using the CAT approximation, we compared its branch lengths and local support values to -based lengths and supports. Specifically, for the protein simulations with 250 sequences, we re-optimized the branch lengths and computed local SH-like support values for the FastTree topologies with PhyML 3 and . (For both tools, we used the Jones-Taylor-Thorton (JTT) model of amino acid evolution.) PhyML's internal branch lengths were well correlated with those from FastTree ( = 0.90). For branch lengths of 1.0 or less, the average difference was just 0.01, and for branch lengths between 0.01 and 1.0, the average percent difference was 13%. For internal branch lengths on correct splits, FastTree agreed slightly better with the true lengths (median absolute difference of 0.062 for PhyML and 0.059 for FastTree). Thus, the CAT approximation gave acceptable branch lengths.”controls[2]
outcomecontrol — held — “We then examined how the topological accuracy of FastTree 2 is affected by its heuristics. As shown in Table 1 , the minimum-evolution phase of FastTree, which uses linear SPRs, is not as accurate as FastME 2, a minimum-evolution method that performs exhaustive SPR moves [8] , [12] . FastME computes distances between internal nodes differently from the minimum-evolution phase of FastTree: FastME uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastME with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolution methods with SPRs to FastTree's heuristics. To eliminate this effect, we ran FastTree with the FastME starting tree. To eliminate the effect of FastTree's ML heuristics, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengths within each NNI (4 rounds of optimizing branch lengths for each quartet, instead of 1–2 rounds). In combination, FastTree 2 with FastME+SPR starting trees and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequences from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristics have little effect on accuracy, and that removing them would improve the topology little relative to adding ML SPRs (e.g., RAxML 7.2.1 was 88.4% accurate).”controls[3]
outcomecontrol — held — “We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNA alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristics. In these simulations, FastTree gave much more accurate topologies than exact neighbor joining or Clearcut [24] , a faster heuristic variant of neighbor joining ( Table 1 ). (To analyze such large alignments with exact neighbor joining, we used NINJA [25] .) To verify that the heuristics in FastTree's neighbor joining phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting tree, before doing minimum-evolution NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristics for the neighbor joining phase (-fastest). All three variants found 92.10% of splits correctly.”controls[4]
outcomecontrol — held — “We confirmed that the Bayesian approach to setting the rate categories prevents overfitting on small alignments. For example, on simulated protein alignments with just 10 sequences (from [2] ), adding the CAT model improves FastTree's accuracy from 76.2% to 78.0%. (For comparison, PhyML without or SPRs was 74.4% accurate [2] .) Conversely, on nucleotide simulations with 24 sequences that (unrealistically) do not contain any rate variation across sites (the fast-evolving alignments of [12] ), the CAT model only reduces accuracy slightly, from 93.6% to 93.4%. (For comparison, PhyML without or SPRs was 93.6% accurate [2] .)”controls[5]
relationgene families → phylogenies — Growing gene families make phylogenetic inference computationally challenging. — “The largest gene families already contain tens to hundreds of thousands of representatives, and with the rapid improvements in DNA sequencing, we expect even larger data sets to arrive soon. Large families can be aligned with profile-based methods that scale linearly with the number of sequences ( http://hmmer.janelia.org/ ; [1] ). However, most methods for inferring phylogenies from these alignments scale as O( ) or worse, where is the number of sequences and is the length (width) of the alignment. Thus, inferring phylogenies has become computationally challenging.”unhoused_relations[0]
weightgene families → phylogenies — 0.95 — “The largest gene families already contain tens to hundreds of thousands of representatives, and with the rapid improvements in DNA sequencing, we expect even larger data sets to arrive soon. Large families can be aligned with profile-based methods that scale linearly with the number of sequences ( http://hmmer.janelia.org/ ; [1] ). However, most methods for inferring phylogenies from these alignments scale as O( ) or worse, where is the number of sequences and is the length (width) of the alignment. Thus, inferring phylogenies has become computationally challenging.”unhoused_relations[0]
relationheuristics → FastTree 2 — Search restrictions preserve FastTree 2 scalability while limiting optimality. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are: It uses “linear SPRs” to consider just of the possible SPR moves. At each node, it examines the shortest SPRs first and then extends the most promising candidates. It searches for SPR moves for every subtree just twice, instead of iterating until convergence. During the ML phase, it limits the ML NNIs to at most rounds; in practice, it converges before it reaches this limit, but the limit ensures a predictable running time. It limits the effort to optimize model parameters and branch lengths. It abandons optimization for NNI moves that seem, after partial optimization, to significantly lower the likelihood. It does not try to improve parts of the tree that did not improve in recent rounds.”unhoused_relations[1]
weightheuristics → FastTree 2 — 0.95 — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are: It uses “linear SPRs” to consider just of the possible SPR moves. At each node, it examines the shortest SPRs first and then extends the most promising candidates. It searches for SPR moves for every subtree just twice, instead of iterating until convergence. During the ML phase, it limits the ML NNIs to at most rounds; in practice, it converges before it reaches this limit, but the limit ensures a predictable running time. It limits the effort to optimize model parameters and branch lengths. It abandons optimization for NNI moves that seem, after partial optimization, to significantly lower the likelihood. It does not try to improve parts of the tree that did not improve in recent rounds.”unhoused_relations[1]
relationCAT → rate of evolution — CAT assigns the most likely fixed rate to each site. — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”unhoused_relations[2]
relationminimum-evolution → PhyML — FastTree's minimum-evolution starting tree explains its advantage over default PhyML NNI search. — “We will show that in practice, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyML 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2 recovers a higher proportion of true splits, and on genuine alignments, FastTree 2's topologies tend to have higher likelihoods. FastTree's minimum-evolution SPR moves give it a better starting tree than PhyML's starting tree, which is obtained with BIONJ (a weighted variant of neighbor joining [18] ). This more than makes up for FastTree's heuristics, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CAT approximation instead of the model (which is itself an approximation of the continuous gamma distribution) has little effect on the quality of the tree.”unhoused_relations[3]
weightminimum-evolution → PhyML — 0.95 — “We will show that in practice, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyML 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2 recovers a higher proportion of true splits, and on genuine alignments, FastTree 2's topologies tend to have higher likelihoods. FastTree's minimum-evolution SPR moves give it a better starting tree than PhyML's starting tree, which is obtained with BIONJ (a weighted variant of neighbor joining [18] ). This more than makes up for FastTree's heuristics, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CAT approximation instead of the model (which is itself an approximation of the continuous gamma distribution) has little effect on the quality of the tree.”unhoused_relations[3]
relationbootstrap → local support values — SH-like local supports provide a quicker reliability estimate than full bootstrapping. — “Because of its speed, FastTree 2 is suitable for bootstrapping. However, to provide a quicker estimate of the tree's reliability, FastTree 2 provides local support values based on the Shimodaira-Hasegawa (SH) test [16] , [17] , [19] . FastTree 2 should be useful for reconstructing the tree of life and for analyzing the millions of uncharacterized proteins that are being identified by genome sequencing.”unhoused_relations[4]
weightbootstrap → local support values — 0.95 — “Because of its speed, FastTree 2 is suitable for bootstrapping. However, to provide a quicker estimate of the tree's reliability, FastTree 2 provides local support values based on the Shimodaira-Hasegawa (SH) test [16] , [17] , [19] . FastTree 2 should be useful for reconstructing the tree of life and for analyzing the millions of uncharacterized proteins that are being identified by genome sequencing.”unhoused_relations[4]
relationsubtree skipping → likelihood — Subtree skipping avoids work where recent rounds did not improve likelihood. — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”unhoused_relations[5]
weightsubtree skipping → likelihood — 0.95 — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”unhoused_relations[5]
relationsubtree skipping → FastTree 2 — Subtree skipping typically gives FastTree's ML phase a threefold speedup. — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”unhoused_relations[6]
weightsubtree skipping → FastTree 2 — 0.95 — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”unhoused_relations[6]
relationSSE2 instructions → FastTree 2 — SSE2 vector operations speed protein-alignment computation by up to 50 percent. — “FastTree uses SSE2 instructions, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating point values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).”unhoused_relations[7]
weightSSE2 instructions → FastTree 2 — 0.95 — “FastTree uses SSE2 instructions, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating point values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).”unhoused_relations[7]
relationprofiles of subtrees → pairwise distances — Subtree profiles require far less memory than storing pairwise distances. — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”unhoused_relations[8]
weightprofiles of subtrees → pairwise distances — 0.95 — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”unhoused_relations[8]
relationlocal support values → star topology — Local supports can be biased upward when high-likelihood alternatives are not considered. — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”unhoused_relations[9]
weightlocal support values → star topology — 0.7 — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”unhoused_relations[9]
relationprofile alignment → protein families from COG — Profile alignment may be inaccurate for diverse protein families. — “Such huge families also raise challenges for multiple sequence alignment. We have used profile alignment to avoid the challenges of multiple sequence alignment on large families. This works well for 16S RNAs because Infernal takes advantage of highly conserved secondary structure [1] , but we are not sure that it gives accurate results for diverse protein families. In contrast, traditional progressive multiple sequence alignment methods are not scalable because their output grows as O( ): there are O( ) independent insertions, and each insertion requires a new column in the alignment and hence O( ) storage. However, Fast Statistical Alignment uses an O( ) representation, both internally and as an output format [31] . Combining this representation with fast guide tree construction, it should be possible to build progressive multiple sequence alignments with millions of sequences.”unhoused_relations[10]
weightprofile alignment → protein families from COG — 0.5 — “Such huge families also raise challenges for multiple sequence alignment. We have used profile alignment to avoid the challenges of multiple sequence alignment on large families. This works well for 16S RNAs because Infernal takes advantage of highly conserved secondary structure [1] , but we are not sure that it gives accurate results for diverse protein families. In contrast, traditional progressive multiple sequence alignment methods are not scalable because their output grows as O( ): there are O( ) independent insertions, and each insertion requires a new column in the alignment and hence O( ) storage. However, Fast Statistical Alignment uses an O( ) representation, both internally and as an output format [31] . Combining this representation with fast guide tree construction, it should be possible to build progressive multiple sequence alignments with millions of sequences.”unhoused_relations[10]
relationlikelihood → bootstrap — Large likelihood gains can coexist with few individually bootstrap-supported topology changes. — “Finally, it is not clear how to assess the quality or reliability of such large trees. Different methods gave very different topologies and large differences in likelihood, and yet few of the differences were well-supported by the bootstrap. In fact, a topology with relatively poor likelihood could have relatively good agreement with the best tree. This could indicate that higher-likelihood trees contain many improvements, but that few of the individual improvements are statistically significant. This is expected if there is limited phylogenetic signal. Alternatively, the bootstrap could be too conservative. Local support values do suggest a greater number of significant differences ( Table 3 ), but local support values may be biased upwards because they do not consider all of the alternate topologies. Further study of these questions is needed.”unhoused_relations[11]
weightlikelihood → bootstrap — 0.7 — “Finally, it is not clear how to assess the quality or reliability of such large trees. Different methods gave very different topologies and large differences in likelihood, and yet few of the differences were well-supported by the bootstrap. In fact, a topology with relatively poor likelihood could have relatively good agreement with the best tree. This could indicate that higher-likelihood trees contain many improvements, but that few of the individual improvements are statistically significant. This is expected if there is limited phylogenetic signal. Alternatively, the bootstrap could be too conservative. Local support values do suggest a greater number of significant differences ( Table 3 ), but local support values may be biased upwards because they do not consider all of the alternate topologies. Further study of these questions is needed.”unhoused_relations[11]
no type for thisgene families → phylogenies — Growing gene families make phylogenetic inference computationally challenging. — “The largest gene families already contain tens to hundreds of thousands of representatives, and with the rapid improvements in DNA sequencing, we expect even larger data sets to arrive soon. Large families can be aligned with profile-based methods that scale linearly with the number of sequences ( http://hmmer.janelia.org/ ; [1] ). However, most methods for inferring phylogenies from these alignments scale as O( ) or worse, where is the number of sequences and is the length (width) of the alignment. Thus, inferring phylogenies has become computationally challenging.”unhoused_relations[0]
no type for thisheuristics → FastTree 2 — Search restrictions preserve FastTree 2 scalability while limiting optimality. — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are: It uses “linear SPRs” to consider just of the possible SPR moves. At each node, it examines the shortest SPRs first and then extends the most promising candidates. It searches for SPR moves for every subtree just twice, instead of iterating until convergence. During the ML phase, it limits the ML NNIs to at most rounds; in practice, it converges before it reaches this limit, but the limit ensures a predictable running time. It limits the effort to optimize model parameters and branch lengths. It abandons optimization for NNI moves that seem, after partial optimization, to significantly lower the likelihood. It does not try to improve parts of the tree that did not improve in recent rounds.”unhoused_relations[1]
no type for thisCAT → rate of evolution — CAT assigns the most likely fixed rate to each site. — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”unhoused_relations[2]
no type for thisminimum-evolution → PhyML — FastTree's minimum-evolution starting tree explains its advantage over default PhyML NNI search. — “We will show that in practice, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyML 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2 recovers a higher proportion of true splits, and on genuine alignments, FastTree 2's topologies tend to have higher likelihoods. FastTree's minimum-evolution SPR moves give it a better starting tree than PhyML's starting tree, which is obtained with BIONJ (a weighted variant of neighbor joining [18] ). This more than makes up for FastTree's heuristics, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CAT approximation instead of the model (which is itself an approximation of the continuous gamma distribution) has little effect on the quality of the tree.”unhoused_relations[3]
no type for thisbootstrap → local support values — SH-like local supports provide a quicker reliability estimate than full bootstrapping. — “Because of its speed, FastTree 2 is suitable for bootstrapping. However, to provide a quicker estimate of the tree's reliability, FastTree 2 provides local support values based on the Shimodaira-Hasegawa (SH) test [16] , [17] , [19] . FastTree 2 should be useful for reconstructing the tree of life and for analyzing the millions of uncharacterized proteins that are being identified by genome sequencing.”unhoused_relations[4]
no type for thissubtree skipping → likelihood — Subtree skipping avoids work where recent rounds did not improve likelihood. — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”unhoused_relations[5]
no type for thissubtree skipping → FastTree 2 — Subtree skipping typically gives FastTree's ML phase a threefold speedup. — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”unhoused_relations[6]
no type for thisSSE2 instructions → FastTree 2 — SSE2 vector operations speed protein-alignment computation by up to 50 percent. — “FastTree uses SSE2 instructions, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating point values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).”unhoused_relations[7]
no type for thisprofiles of subtrees → pairwise distances — Subtree profiles require far less memory than storing pairwise distances. — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”unhoused_relations[8]
no type for thislocal support values → star topology — Local supports can be biased upward when high-likelihood alternatives are not considered. — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”unhoused_relations[9]
no type for thisprofile alignment → protein families from COG — Profile alignment may be inaccurate for diverse protein families. — “Such huge families also raise challenges for multiple sequence alignment. We have used profile alignment to avoid the challenges of multiple sequence alignment on large families. This works well for 16S RNAs because Infernal takes advantage of highly conserved secondary structure [1] , but we are not sure that it gives accurate results for diverse protein families. In contrast, traditional progressive multiple sequence alignment methods are not scalable because their output grows as O( ): there are O( ) independent insertions, and each insertion requires a new column in the alignment and hence O( ) storage. However, Fast Statistical Alignment uses an O( ) representation, both internally and as an output format [31] . Combining this representation with fast guide tree construction, it should be possible to build progressive multiple sequence alignments with millions of sequences.”unhoused_relations[10]
no type for thislikelihood → bootstrap — Large likelihood gains can coexist with few individually bootstrap-supported topology changes. — “Finally, it is not clear how to assess the quality or reliability of such large trees. Different methods gave very different topologies and large differences in likelihood, and yet few of the differences were well-supported by the bootstrap. In fact, a topology with relatively poor likelihood could have relatively good agreement with the best tree. This could indicate that higher-likelihood trees contain many improvements, but that few of the individual improvements are statistically significant. This is expected if there is limited phylogenetic signal. Alternatively, the bootstrap could be too conservative. Local support values do suggest a greater number of significant differences ( Table 3 ), but local support values may be biased upwards because they do not consider all of the alternate topologies. Further study of these questions is needed.”unhoused_relations[11]
limitationFastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”limitations[0]
limitationFastTree 2 is less accurate than methods conducting maximum-likelihood SPR searches. — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”limitations[1]
limitationThe CAT approximation can be insufficient when precise branch lengths are essential. — “If accurate branch lengths are essential, however, then neither the CAT approximation nor the standard approximation is sufficient. The approximation was introduced for alignments with just 10 sequences, and four discrete rate categories may not suffice to give accurate likelihoods on larger alignments [15] , [22] . For alignments of 16S ribosomal RNAs, branch lengths can be a factor of two shorter than branch lengths ( Figure S1 ). As explained in Figure S1 , correcting by the average posterior rate reduces this problem, and FastTree can compute a fast but accurate approximation to -based lengths.”limitations[2]
limitationFour-category gamma approximations can also give inaccurate branch lengths for large alignments. — “If accurate branch lengths are essential, however, then neither the CAT approximation nor the standard approximation is sufficient. The approximation was introduced for alignments with just 10 sequences, and four discrete rate categories may not suffice to give accurate likelihoods on larger alignments [15] , [22] . For alignments of 16S ribosomal RNAs, branch lengths can be a factor of two shorter than branch lengths ( Figure S1 ). As explained in Figure S1 , correcting by the average posterior rate reduces this problem, and FastTree can compute a fast but accurate approximation to -based lengths.”limitations[3]
limitationFastTree local support distinguished correct from incorrect splits slightly less well than PhyML. — “The local SH-like support values also showed a good correlation between FastTree and PhyML ( = 0.90). For splits with local support values of at least 0.9 from either FastTree or PhyML, the average absolute difference was just 0.008, which is not much greater than the sampling error. (For example, with 1,000 bootstraps and 95% support, the standard deviation of support values due to sampling is = 0.007.) FastTree was less effective than PhyML in distinguishing correct from incorrect splits, but the difference was slight: the area under the receiver operating curve (AOC) was 0.880 instead of 0.887 ( , test of [23] ).”limitations[4]
limitationLikelihood comparisons on genuine alignments favor the more intensive RAxML search. — “On the larger alignments, RAxML 7.2.1's likelihoods were much higher than FastTree's, and all of the differences in likelihood were statistically significant (all , SH test using CONSEL [28] ). However, FastTree did find most of the splits in the RAxML topology that had strong support ( Table 3 ). For example, FastTree found 96–98% of RAxML's splits that had global bootstrap of 90% or higher.”limitations[5]
limitationMinimum-evolution initialization quality varied between COG and 16S data, and its biological meaning was unclear. — “As measured by likelihood, FastTree's minimum-evolution starting trees were much better than RAxML's parsimony starting trees for the COG alignments, but much worse for large 16S rRNA alignments ( Figure 2 and Table S1 ). The differences in likelihood reflects the criterion, and not merely differences in the search strategy: for the COG alignments, the RAxML parsimony starting trees were more parsimonious than FastTree's minimum-evolution trees (average parsimony scores of 281,237 and 283,125, respectively). Conversely, for the 16S alignment with 4,114 sequences, FastTree's minimum-evolution tree was shorter than the parsimony tree (lengths of 43.0 and 44.6, respectively). For this alignment, the minimum-evolution tree's log likelihood was 2,705 worse than parsimony's, yet minimum evolution found more of the strongly-supported splits in the final RAxML tree: minimum evolution found 826 of the 851 splits with a global bootstrap 90%, while parsimony found 814 of them. Thus, we are not sure if the difference in likelihood is biologically meaningful.”limitations[6]
limitationNeighbor joining becomes the computational bottleneck as alignments approach millions of sequences. — “Because DNA sequencing technology is improving rapidly, we expect to have alignments with millions of sequences soon. For these huge alignments, the most computationally demanding step will be the initial neighbor-joining phase. In FastTree 2.0, which is described here, neighbor joining takes O( ) time and O( ) space, while the other stages take at most O( ) time and O( ) space. For example, for 237,882 16S sequences, the neighbor-joining phase of FastTree 2.0 already takes 10.8 of the 21.8 hours. In FastTree 2.1, we have improved the scaling of time and memory from O( ) to O( ), without affecting accuracy in our simulations (data not shown). FastTree 2.1 also supports parallel execution of the key steps in the neighbor-joining phase. To improve scalability further, it might be possible to use a divide-and-conquer method to find clusters of closely related sequences in O( ) time, as in PartTree [30] . In our simulations, PartTree starting trees do not allow FastTree to reach the same accuracy as FastTree's neighbor-joining starting tree does (data not shown), but a divide-and-conquer approach might still suffice to obtain a partially resolved initial tree.”limitations[7]
limitationProfile alignment may be inaccurate for diverse protein families even though it works well for structurally conserved 16S RNA. — “Such huge families also raise challenges for multiple sequence alignment. We have used profile alignment to avoid the challenges of multiple sequence alignment on large families. This works well for 16S RNAs because Infernal takes advantage of highly conserved secondary structure [1] , but we are not sure that it gives accurate results for diverse protein families. In contrast, traditional progressive multiple sequence alignment methods are not scalable because their output grows as O( ): there are O( ) independent insertions, and each insertion requires a new column in the alignment and hence O( ) storage. However, Fast Statistical Alignment uses an O( ) representation, both internally and as an output format [31] . Combining this representation with fast guide tree construction, it should be possible to build progressive multiple sequence alignments with millions of sequences.”limitations[8]
limitationThe reliability of extremely large trees remains difficult to assess because methods disagree while few differences are bootstrap-supported. — “Finally, it is not clear how to assess the quality or reliability of such large trees. Different methods gave very different topologies and large differences in likelihood, and yet few of the differences were well-supported by the bootstrap. In fact, a topology with relatively poor likelihood could have relatively good agreement with the best tree. This could indicate that higher-likelihood trees contain many improvements, but that few of the individual improvements are statistically significant. This is expected if there is limited phylogenetic signal. Alternatively, the bootstrap could be too conservative. Local support values do suggest a greater number of significant differences ( Table 3 ), but local support values may be biased upwards because they do not consider all of the alternate topologies. Further study of these questions is needed.”limitations[9]
limitationLocal support values may be upward biased because they do not examine every alternate topology. — “Finally, it is not clear how to assess the quality or reliability of such large trees. Different methods gave very different topologies and large differences in likelihood, and yet few of the differences were well-supported by the bootstrap. In fact, a topology with relatively poor likelihood could have relatively good agreement with the best tree. This could indicate that higher-likelihood trees contain many improvements, but that few of the individual improvements are statistically significant. This is expected if there is limited phylogenetic signal. Alternatively, the bootstrap could be too conservative. Local support values do suggest a greater number of significant differences ( Table 3 ), but local support values may be biased upwards because they do not consider all of the alternate topologies. Further study of these questions is needed.”limitations[10]
limitationThe FastTree SPR length-change formula is approximate because log-corrected profile distances do not cancel exactly. — “In FastME, the above formula for the change in tree length is exactly correct because the changes in other branch lengths in the tree can be expressed as combinations of distances that cancel each other out [26] . In FastTree, however, the formula for the change in tree length is an approximation, because the log-corrected distances do not cancel in this way. Nevertheless, FastTree with NNIs and FastME with NNIs give very similar results [2] , and computing the exact change in total tree length does not improve the accuracy of FastTree's SPRs (data not shown).”limitations[11]
Content tags
content-observations: finding · quantity · variable · definition · key-term — grounded in the full text
findingFastTree 2 improves FastTree 1 accuracy without sacrificing scalability. — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.findings[0]
findingFastTree 2 is slightly more accurate than default PhyML NNI search on simulated and genuine alignments. — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.findings[1]
findingMaximum-likelihood SPR methods remain more accurate, but most disagreeing splits are poorly supported. — “Although FastTree 2 is significantly less accurate than ML methods that use SPR moves, such as PhyML with slower settings or RAxML, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2 can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2 is at least 100 times faster than either PhyML 3.0 or RAxML 7.2.1. FastTree 2 is faster than RAxML 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxML 7 optimizes branch lengths under the model. However, FastTree also has a faster starting tree, and it initially increases the likelihood more quickly than RAxML 7 does.”content_tags.findings[2]
findingFor large alignments FastTree 2 is 100 to 1,000 times faster than the more intensive alternatives. — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.findings[3]
findingA 237,882-sequence 16S analysis completed in 22 hours with 5.8 GB of memory on a desktop. — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.findings[4]
findingFastTree's heuristics preserve a monotonically increasing CAT likelihood but do not guarantee a local optimum. — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”content_tags.findings[5]
findingThe CAT approximation was much faster and approximately as accurate as summing over four gamma rates for large alignments. — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”content_tags.findings[6]
findingFastTree 2 recovered more true splits than default PhyML and minimum-evolution or parsimony methods, but fewer than ML-SPR methods. — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”content_tags.findings[7]
findingOnly 16 percent of true PhyML-SPR splits missed by FastTree were strongly supported, while 20 percent of strongly supported disagreements were incorrect. — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”content_tags.findings[8]
findingSupplying PhyML with FastTree's starting tree made their simulated accuracies statistically indistinguishable. — “To understand why FastTree 2 was outperforming PhyML 3 with NNI search, we ran PhyML 3 with FastTree's minimum-evolution tree as its starting tree. For the protein simulations with 250 sequences, this improved PhyML's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolution phase yields more accurate starting trees than either PhyML 3's approach of using BIONJ with maximum-likelihood distances or RAxML's implementation of parsimony ( Table 1 ).”content_tags.findings[9]
findingFastTree and PhyML branch lengths and SH-like supports were highly correlated, though accurate branch lengths can require richer rate treatment. — “Because FastTree 2 does not exhaustively optimize the likelihood, and because it reports branch lengths and local support values that were estimated using the CAT approximation, we compared its branch lengths and local support values to -based lengths and supports. Specifically, for the protein simulations with 250 sequences, we re-optimized the branch lengths and computed local SH-like support values for the FastTree topologies with PhyML 3 and . (For both tools, we used the Jones-Taylor-Thorton (JTT) model of amino acid evolution.) PhyML's internal branch lengths were well correlated with those from FastTree ( = 0.90). For branch lengths of 1.0 or less, the average difference was just 0.01, and for branch lengths between 0.01 and 1.0, the average percent difference was 13%. For internal branch lengths on correct splits, FastTree agreed slightly better with the true lengths (median absolute difference of 0.062 for PhyML and 0.059 for FastTree). Thus, the CAT approximation gave acceptable branch lengths.”content_tags.findings[10]
findingRemoving FastTree's major search heuristics improved 5,000-protein simulated accuracy only from 84.3 to 85.0 percent. — “We then examined how the topological accuracy of FastTree 2 is affected by its heuristics. As shown in Table 1 , the minimum-evolution phase of FastTree, which uses linear SPRs, is not as accurate as FastME 2, a minimum-evolution method that performs exhaustive SPR moves [8] , [12] . FastME computes distances between internal nodes differently from the minimum-evolution phase of FastTree: FastME uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastME with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolution methods with SPRs to FastTree's heuristics. To eliminate this effect, we ran FastTree with the FastME starting tree. To eliminate the effect of FastTree's ML heuristics, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengths within each NNI (4 rounds of optimizing branch lengths for each quartet, instead of 1–2 rounds). In combination, FastTree 2 with FastME+SPR starting trees and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequences from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristics have little effect on accuracy, and that removing them would improve the topology little relative to adding ML SPRs (e.g., RAxML 7.2.1 was 88.4% accurate).”content_tags.findings[11]
findingRegular, exact-neighbor-joining-start, and fastest-heuristic variants all recovered 92.10 percent of splits in 78,000-sequence simulations. — “We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNA alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristics. In these simulations, FastTree gave much more accurate topologies than exact neighbor joining or Clearcut [24] , a faster heuristic variant of neighbor joining ( Table 1 ). (To analyze such large alignments with exact neighbor joining, we used NINJA [25] .) To verify that the heuristics in FastTree's neighbor joining phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting tree, before doing minimum-evolution NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristics for the neighbor joining phase (-fastest). All three variants found 92.10% of splits correctly.”content_tags.findings[12]
findingOn large genuine alignments FastTree retained 96 to 98 percent of RAxML splits having at least 90 percent global bootstrap support. — “On the larger alignments, RAxML 7.2.1's likelihoods were much higher than FastTree's, and all of the differences in likelihood were statistically significant (all , SH test using CONSEL [28] ). However, FastTree did find most of the splits in the RAxML topology that had strong support ( Table 3 ). For example, FastTree found 96–98% of RAxML's splits that had global bootstrap of 90% or higher.”content_tags.findings[13]
findingFastTree was 100 to 800 times faster than fast-convergence RAxML on alignments with thousands of sequences. — “Finally, we compared the computational performance of FastTree, RAxML, and PhyML, on genuine alignments. As shown in Table 4 , for alignments with 500 sequences, FastTree is about 100 times faster than RAxML 7.0.4 when using the same model of evolution, and even faster relative to PhyML 3. For alignments with thousands of sequences, FastTree was still 100–800 times faster than RAxML 7.2.1 with fast convergence of SPRs, while PhyML 3 did not complete in a reasonable amount of time.”content_tags.findings[14]
findingFastTree's local support computation added little runtime relative to tree inference. — “All of the FastTree times include the computation of local SH-like support values, while the other tools were run without support values. The local support values do not affect FastTree's running time much. For example, across seven COG alignments with 2,500 protein sequences each, the average time for FastTree to infer a tree is 345 seconds, and the average time for it to compute SH-like supports is 51 seconds. For the full alignment of 237,882 16S rRNAs, the supports required just one hour.”content_tags.findings[15]
findingGiven the same starting tree, FastTree's ML phase achieved about one RAxML SPR round's likelihood gain in roughly 40 percent of the time. — “Given the same starting tree, FastTree's ML phase improved the likelihood by roughly the same amount as one round of RAxML's SPR moves, and in about 40% of the time ( Figure 2 ). FastTree's ML phase also performs about as well as one round of RAxML's SPR moves in finding well-supported splits ( Figure S2 ). We obtained similar results for other large 16S alignments ( Table S1 ). Although this comparison shows that FastTree is initially faster than RAxML, the RAxML's first round of SPR moves is only a fraction of its run time. Most of the difference in speed between FastTree and RAxML is because of RAxML's more thorough search for a better topology and because of RAxML's branch lengths.”content_tags.findings[16]
findingRAxML parsimony initialization was 4 to 17 times slower than FastTree minimum evolution in the tested versions. — “RAxML's parsimony phase was 4–17 times slower than FastTree's minimum evolution phase, and generally slower than FastTree with ML NNIs. FastTree's speed advantage grows with larger alignments (data not shown), which is expected because FastTree should scale as O( ) and RAxML's parsimony phase uses randomized stepwise addition, which scales as O( ), as well as limited parsimony-based SPR moves. There are faster implementations of parsimony, such as RAxML 7.2.5 (which was released after we conducted the above experiments) or TNT [29] , but these still scale as O( ). For 15,011 16s RNAs, RAxML 7.2.5's parsimony and FastTree's minimum evolution phase take about the same time (data not shown).”content_tags.findings[17]
findingThe most important ML heuristic, subtree skipping, typically delivered a threefold speedup. — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”content_tags.findings[18]
findingSSE2 vectorization accelerated protein-alignment computations by up to 50 percent in the reported tests. — “FastTree uses SSE2 instructions, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating point values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).”content_tags.findings[19]
quantity100–1,000 times — reported FastTree 2 speed advantage for large alignments — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.quantities[0]
quantity237,882 — distinct 16S rRNAs in the largest demonstrated inference — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.quantities[1]
quantity22 hours — runtime for the 237,882-sequence FastTree analysis — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.quantities[2]
quantity5.8 gigabytes — memory for the 237,882-sequence FastTree analysis — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”content_tags.quantities[3]
quantity20 — fixed rate possibilities used by CAT for each site — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”content_tags.quantities[4]
quantity250 to 5,000 — sequence counts in simulated protein alignments — “We tested FastTree on simulated protein alignments with 250 to 5,000 sequences [2] . These simulations were derived from diverse gene families that arise in genome-scale studies (“Collections of Orthologous Groups” or COGs, [20] ). The simulations include varying evolutionary rates across sites and include realistic placement of gaps. The simulations are available from the FastTree web site ( http://microbesonline.org/fasttree/#Sims ).”content_tags.quantities[5]
quantity95% or higher — threshold on both local-support measures for a strongly supported split — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”content_tags.quantities[6]
quantity16% — true PhyML-SPR splits missed by FastTree that were strongly supported — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”content_tags.quantities[7]
quantity20% — strongly supported PhyML-only splits that were incorrect — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”content_tags.quantities[8]
quantity86.8% and 86.9% — PhyML-with-FastTree-start and FastTree simulated accuracies — “To understand why FastTree 2 was outperforming PhyML 3 with NNI search, we ran PhyML 3 with FastTree's minimum-evolution tree as its starting tree. For the protein simulations with 250 sequences, this improved PhyML's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolution phase yields more accurate starting trees than either PhyML 3's approach of using BIONJ with maximum-likelihood distances or RAxML's implementation of parsimony ( Table 1 ).”content_tags.quantities[9]
quantity0.90 — reported correlation for both branch lengths and local supports between FastTree and PhyML — “The local SH-like support values also showed a good correlation between FastTree and PhyML ( = 0.90). For splits with local support values of at least 0.9 from either FastTree or PhyML, the average absolute difference was just 0.008, which is not much greater than the sampling error. (For example, with 1,000 bootstraps and 95% support, the standard deviation of support values due to sampling is = 0.007.) FastTree was less effective than PhyML in distinguishing correct from incorrect splits, but the difference was slight: the area under the receiver operating curve (AOC) was 0.880 instead of 0.887 ( , test of [23] ).”content_tags.quantities[10]
quantity84.3% to 85.0% — accuracy change after combining less heuristic starting and NNI searches — “We then examined how the topological accuracy of FastTree 2 is affected by its heuristics. As shown in Table 1 , the minimum-evolution phase of FastTree, which uses linear SPRs, is not as accurate as FastME 2, a minimum-evolution method that performs exhaustive SPR moves [8] , [12] . FastME computes distances between internal nodes differently from the minimum-evolution phase of FastTree: FastME uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastME with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolution methods with SPRs to FastTree's heuristics. To eliminate this effect, we ran FastTree with the FastME starting tree. To eliminate the effect of FastTree's ML heuristics, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengths within each NNI (4 rounds of optimizing branch lengths for each quartet, instead of 1–2 rounds). In combination, FastTree 2 with FastME+SPR starting trees and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequences from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristics have little effect on accuracy, and that removing them would improve the topology little relative to adding ML SPRs (e.g., RAxML 7.2.1 was 88.4% accurate).”content_tags.quantities[11]
quantity92.10% — split recovery shared by three neighbor-joining heuristic variants — “We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNA alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristics. In these simulations, FastTree gave much more accurate topologies than exact neighbor joining or Clearcut [24] , a faster heuristic variant of neighbor joining ( Table 1 ). (To analyze such large alignments with exact neighbor joining, we used NINJA [25] .) To verify that the heuristics in FastTree's neighbor joining phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting tree, before doing minimum-evolution NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristics for the neighbor joining phase (-fastest). All three variants found 92.10% of splits correctly.”content_tags.quantities[12]
quantity96–98% — strongly supported RAxML splits recovered by FastTree — “On the larger alignments, RAxML 7.2.1's likelihoods were much higher than FastTree's, and all of the differences in likelihood were statistically significant (all , SH test using CONSEL [28] ). However, FastTree did find most of the splits in the RAxML topology that had strong support ( Table 3 ). For example, FastTree found 96–98% of RAxML's splits that had global bootstrap of 90% or higher.”content_tags.quantities[13]
quantity3-fold — typical speedup from subtree skipping — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”content_tags.quantities[14]
variabletopological accuracy (simulated-tree recovery outcome) — “We compared FastTree's speed and accuracy to those of PhyML 3.0 and RAxML 7, the most popular maximum-likelihood methods. To measure the quality of the resulting trees, we measured the topological accuracy on simulated alignments and the likelihood on genuine biological alignments.”content_tags.variables[0]
variablelikelihood (genuine-alignment topology quality outcome) — “We compared FastTree's speed and accuracy to those of PhyML 3.0 and RAxML 7, the most popular maximum-likelihood methods. To measure the quality of the resulting trees, we measured the topological accuracy on simulated alignments and the likelihood on genuine biological alignments.”content_tags.variables[1]
variablerunning time (computational scalability outcome) — “Finally, we compared the computational performance of FastTree, RAxML, and PhyML, on genuine alignments. As shown in Table 4 , for alignments with 500 sequences, FastTree is about 100 times faster than RAxML 7.0.4 when using the same model of evolution, and even faster relative to PhyML 3. For alignments with thousands of sequences, FastTree was still 100–800 times faster than RAxML 7.2.1 with fast convergence of SPRs, while PhyML 3 did not complete in a reasonable amount of time.”content_tags.variables[2]
variablememory (computational resource outcome) — “For one of the largest alignments existing today, containing 237,882 16S ribosomal RNAs, FastTree took less than a day and 5.8 GB of memory on a desktop computer. For comparison, given that RAxML took over 2 days for just 15,011 sequences, and optimistically assuming O( ) scaling, RAxML would take around half a year for the full 16S alignment. Analyzing such alignments with traditional minimum evolution approaches based on a distance matrix would also be prohibitive – just computing and storing all pairwise distances for these sequences, without computing a topology, would require roughly a day and a half and 113 GB of storage.”content_tags.variables[3]
variablenumber of sequences (alignment scale dimension) — “We tested FastTree on simulated protein alignments with 250 to 5,000 sequences [2] . These simulations were derived from diverse gene families that arise in genome-scale studies (“Collections of Orthologous Groups” or COGs, [20] ). The simulations include varying evolutionary rates across sites and include realistic placement of gaps. The simulations are available from the FastTree web site ( http://microbesonline.org/fasttree/#Sims ).”content_tags.variables[4]
variablestarting tree (initialization manipulated to explain downstream accuracy) — “To understand why FastTree 2 was outperforming PhyML 3 with NNI search, we ran PhyML 3 with FastTree's minimum-evolution tree as its starting tree. For the protein simulations with 250 sequences, this improved PhyML's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolution phase yields more accurate starting trees than either PhyML 3's approach of using BIONJ with maximum-likelihood distances or RAxML's implementation of parsimony ( Table 1 ).”content_tags.variables[5]
variablelocal support values (split reliability outcome) — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”content_tags.variables[6]
variablebranch lengths (evolutionary-distance output and optimization target) — “Because FastTree 2 does not exhaustively optimize the likelihood, and because it reports branch lengths and local support values that were estimated using the CAT approximation, we compared its branch lengths and local support values to -based lengths and supports. Specifically, for the protein simulations with 250 sequences, we re-optimized the branch lengths and computed local SH-like support values for the FastTree topologies with PhyML 3 and . (For both tools, we used the Jones-Taylor-Thorton (JTT) model of amino acid evolution.) PhyML's internal branch lengths were well correlated with those from FastTree ( = 0.90). For branch lengths of 1.0 or less, the average difference was just 0.01, and for branch lengths between 0.01 and 1.0, the average percent difference was 13%. For internal branch lengths on correct splits, FastTree agreed slightly better with the true lengths (median absolute difference of 0.062 for PhyML and 0.059 for FastTree). Thus, the CAT approximation gave acceptable branch lengths.”content_tags.variables[7]
variablerate categories (site-rate approximation setting) — “Second, unless the -nocat option is set, FastTree estimates the rate of evolution at each site. Given the desired number of categories of relative rates , FastTree selects values that are logarithmically spaced between and . By default, , and the relative rates range from 0.05 to 20. For each of these relative rates, FastTree recomputes all posterior distributions and recalculates the log likelihood of the tree at each site. FastTree then uses a Bayesian approach to select which rate to use at each site: FastTree maximizes , where is a gamma-distributed prior. To avoid overfitting, we made the prior more peaked than real rate variation in alignments: the prior has a shape parameter of 3, a scale parameter of 1/3, and a mean of 1. After choosing the rate categories, FastTree scales the rates so that the average rate across all sites is 1.0.”content_tags.variables[8]
variablerounds of branch length optimization (search-intensity ablation) — “A difference of 5 in log likelihood may seem like a small difference, so that the heuristic might miss a good change to the topology. However, optimization of branch lengths after the first round usually leads to small improvements in the log likelihood. For example, if we analyze 40 randomly selected 16S rRNAs with FastTree and the GTR+CAT model, and we increase the rounds of branch length optimization to 4 (-mlacc 4), then the average improvement for any NNI is just 1.1 log-likelihood units in the second round of branch length optimization and just 0.04 in rounds 3 and 4 combined. To put these numbers in perspective, differences in log-likelihood of less than 2 are not statistically significant ( , likelihood ratio test), and NNIs with much larger changes in likelihood are common. For the simulated alignments with 5,000 protein sequences, always optimizing for two rounds improved accuracy by a negligible amount (0.03%) and increased the running time by 23%.”content_tags.variables[9]
definitionphylogenies — “Inferring evolutionary relationships, or phylogenies, from families of related DNA or protein sequences is a central method in computational biology. Sequence-based phylogenies are widely used to understand the evolutionary relationships of organisms and to analyze the functions of genes.”content_tags.definitions[0]
definitionminimum evolution — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”content_tags.definitions[1]
definitionnearest-neighbor interchange — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”content_tags.definitions[2]
definitionmaximum likelihood — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”content_tags.definitions[3]
definitionsubtree-pruning-regrafting — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”content_tags.definitions[4]
definitionapproximately-maximum-likelihood method — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”content_tags.definitions[5]
definitiontopological accuracy — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”content_tags.definitions[6]
definitionstrongly supported — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”content_tags.definitions[7]
definitionposterior distribution — “The key data structures for the maximum likelihood phase are the tree topology, the branch lengths, and the posterior distributions for each internal node. (FastTree stores the tree with a trifurcation at the root, but the placement of the root is not biologically meaningful and does not affect the likelihood [5] .) The posterior distribution for an internal node describes the state of the corresponding ancestor, given the branch lengths and the sequences beneath it. For example, for nucleotide data, it stores the probability that a given site was an A, C, G, or T. FastTree stores posterior distributions for internal nodes (not for the root), and they require O( ) space each, where is the alignment's length and is the number of characters in the alphabet.”content_tags.definitions[8]
definitionsubtree skipping — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”content_tags.definitions[9]
definitionconvergence — “If no NNI leads to an improvement of more than 0.1 in the likelihood of any quartet, then FastTree considers the NNIs to have converged. FastTree repeats rounds of NNIs until convergence, up to a limit of rounds, which takes O( ) time. This is the slowest part of the ML phase. The limit on rounds ensures a predictable running time, but FastTree usually converges before reaching the limit, even for huge alignments such as 237,882 16S rRNA sequences. We chose a limit so that a misplaced subtree could move all the way across a (roughly balanced) tree, and the factor of 2 is an arbitrary safety factor.”content_tags.definitions[10]
definitionSH-like local support — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”content_tags.definitions[11]
Concepts
terms this paper carries, each with the sentence it was cut from — the layer that joins one paper to another. Terms with no quote yet are on CONCEPTS.html.
conceptphylogenies — not defined in this paper's own words; evolutionary relationship trees inferred from sequences — “Inferring evolutionary relationships, or phylogenies, from families of related DNA or protein sequences is a central method in computational biology. Sequence-based phylogenies are widely used to understand the evolutionary relationships of organisms and to analyze the functions of genes.”concepts[0]
conceptDNA — not defined in this paper's own words; nucleotide sequence input — “Inferring evolutionary relationships, or phylogenies, from families of related DNA or protein sequences is a central method in computational biology. Sequence-based phylogenies are widely used to understand the evolutionary relationships of organisms and to analyze the functions of genes.”concepts[1]
conceptprotein sequences — not defined in this paper's own words; amino-acid sequence input — “Inferring evolutionary relationships, or phylogenies, from families of related DNA or protein sequences is a central method in computational biology. Sequence-based phylogenies are widely used to understand the evolutionary relationships of organisms and to analyze the functions of genes.”concepts[2]
conceptgene families — not defined in this paper's own words; related sequences that may contain hundreds of thousands of members — “The largest gene families already contain tens to hundreds of thousands of representatives, and with the rapid improvements in DNA sequencing, we expect even larger data sets to arrive soon. Large families can be aligned with profile-based methods that scale linearly with the number of sequences ( http://hmmer.janelia.org/ ; [1] ). However, most methods for inferring phylogenies from these alignments scale as O( ) or worse, where is the number of sequences and is the length (width) of the alignment. Thus, inferring phylogenies has become computationally challenging.”concepts[3]
conceptFastTree 1.0 — not defined in this paper's own words; scalable minimum-evolution predecessor — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[4]
conceptminimum-evolution — not defined in this paper's own words; tree criterion minimizing summed branch length — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[5]
concepttopology — not defined in this paper's own words; branching structure of a phylogenetic tree — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[6]
conceptbranch lengths — not defined in this paper's own words; evolutionary-length parameters on tree edges — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[7]
conceptneighbor joining — not defined in this paper's own words; distance-based starting-tree procedure — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[8]
conceptnearest-neighbor interchanges — not defined in this paper's own words; local node-swap topology refinement — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[9]
conceptprofiles of subtrees — not defined in this paper's own words; compressed subtree representation replacing pairwise distances — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[10]
conceptpairwise distances — not defined in this paper's own words; full sequence-to-sequence distance information — “We recently described a scalable method for inferring phylogenies, FastTree 1.0 [2] . FastTree 1.0 is based on the “minimum-evolution” principle – it tries to find a topology that minimizes the amount of evolution, or the sum of the branch lengths. FastTree 1.0 uses a heuristic variant of neighbor joining [3] , [4] to quickly find a starting tree and uses nearest-neighbor interchanges (NNIs) to refine the topology. (A nearest-neighbor interchange swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtrees instead of distances between them. This requires far less memory than storing the pairwise distances, which is necessary for neighbor joining and related approaches. This also allows for heuristics that reduce the theoretical running time to O( ). (FastTree 1.0 also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distances, which is required with most minimum-evolution approaches, requires O( ) time. The main limitation of FastTree 1.0, as compared to other minimum-evolution methods, is that it does not correct distances for multiple substitutions during its initial neighbor joining phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0 is more accurate than most other minimum-evolution methods, but not as accurate as maximum-likelihood methods [2] .”concepts[11]
conceptmaximum-likelihood (ML) approach — not defined in this paper's own words; explicit evolutionary-model tree ranking — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”concepts[12]
concepttransition rate matrix — not defined in this paper's own words; explicit sequence-evolution model — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”concepts[13]
conceptlikelihood — not defined in this paper's own words; fit of a topology and model to sequence data — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”concepts[14]
conceptPhyML — not defined in this paper's own words; maximum-likelihood phylogeny comparator — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”concepts[15]
conceptRAxML — not defined in this paper's own words; scalable maximum-likelihood SPR comparator — “In the maximum-likelihood (ML) approach, evolution is explicitly modeled with a transition rate matrix, and the tree that best explains the data – the tree with the highest likelihood – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topology. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topology for a large alignment. The most scalable ML methods, such as PhyML and RAxML, begin with a starting tree produced by a faster method, and try to increase the likelihood by optimizing individual branch lengths and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengths at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyML and RAxML can take over a day for just 1,000 protein sequences. Estimating the reliability of the tree with the bootstrap [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).”concepts[16]
conceptFastTree 2 — not defined in this paper's own words; scalable approximately maximum-likelihood tree inference — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”concepts[17]
conceptsubtree-pruning-regrafting — not defined in this paper's own words; topology move relocating a subtree — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are:”concepts[18]
conceptheuristics — not defined in this paper's own words; restrictions on search and optimization effort — “Here, we describe FastTree 2, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joining and improving it with minimum-evolution NNIs, FastTree 2 uses minimum-evolution subtree-pruning-regrafting (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regrafting, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2 uses heuristics to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihood, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristics are: It uses “linear SPRs” to consider just of the possible SPR moves. At each node, it examines the shortest SPRs first and then extends the most promising candidates. It searches for SPR moves for every subtree just twice, instead of iterating until convergence. During the ML phase, it limits the ML NNIs to at most rounds; in practice, it converges before it reaches this limit, but the limit ensures a predictable running time. It limits the effort to optimize model parameters and branch lengths. It abandons optimization for NNI moves that seem, after partial optimization, to significantly lower the likelihood. It does not try to improve parts of the tree that did not improve in recent rounds.”concepts[19]
conceptCAT — not defined in this paper's own words; single estimated rate category per site — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”concepts[20]
conceptrate of evolution — not defined in this paper's own words; site-specific evolutionary speed — “Where FastTree 1 used nearest-neighbor interchanges (NNIs) and the minimum-evolution criterion to improve the tree, FastTree 2 adds minimum-evolution subtree-pruning-regrafting (SPRs) and maximum-likelihood NNIs. FastTree 2 uses heuristics to restrict the search for better trees and estimates a rate of evolution for each site (the “CAT” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2 is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyML 3 with default settings). Although FastTree 2 is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2 is 100–1,000 times faster. FastTree 2 inferred a topology and likelihood-based local support values for 237,882 distinct 16S ribosomal RNAs on a desktop computer in 22 hours and 5.8 gigabytes of memory.”concepts[21]
conceptgamma distribution — not defined in this paper's own words; prior or continuous model for relative site rates — “To account for the variation in rates across sites, FastTree uses the “CAT” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihood at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distribution. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categories to approximate the continuous gamma distribution. However, still requires four times more CPU time and memory than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CAT) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.”concepts[22]
conceptapproximately-maximum-likelihood method — not defined in this paper's own words; monotonic but not locally optimal likelihood search — “Because of the heuristics, FastTree 2 is not guaranteed to reach a locally optimal likelihood in tree space. However, at each step it does guarantee that the likelihood increases (under the CAT approximation). Thus, FastTree 2 is an approximately-maximum-likelihood method.”concepts[23]
concepttopological accuracy — not defined in this paper's own words; proportion of true splits recovered — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concepts[24]
conceptproportion of the splits in the true trees that are recovered — not defined in this paper's own words; operational value of topological accuracy — “We defined the topological accuracy as the proportion of the splits in the true trees that are recovered by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2 was slightly more accurate than PhyML 3 with default settings (NNI search), and much more accurate than minimum-evolution or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2 and the other methods were statistically significant (all , paired tests).”concepts[25]
conceptstrongly supported — not defined in this paper's own words; dual local-support threshold classification — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”concepts[26]
conceptboth SH-like local supports and approximate likelihood ratio test (aLRT) supports — not defined in this paper's own words; two-measure basis of strong support — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”concepts[27]
conceptlocal support values — not defined in this paper's own words; local split-reliability estimates — “To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support values reported by PhyML 3. We defined “strongly supported” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supports [21] of 95% or higher. Only 16% of the true splits that are found by PhyML 3 with SPR moves but missed by FastTree 2 were strongly supported. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supported splits that were found by PhyML 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.”concepts[28]
conceptFastME — not defined in this paper's own words; exhaustive minimum-evolution SPR comparator — “We then examined how the topological accuracy of FastTree 2 is affected by its heuristics. As shown in Table 1 , the minimum-evolution phase of FastTree, which uses linear SPRs, is not as accurate as FastME 2, a minimum-evolution method that performs exhaustive SPR moves [8] , [12] . FastME computes distances between internal nodes differently from the minimum-evolution phase of FastTree: FastME uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastME with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolution methods with SPRs to FastTree's heuristics. To eliminate this effect, we ran FastTree with the FastME starting tree. To eliminate the effect of FastTree's ML heuristics, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengths within each NNI (4 rounds of optimizing branch lengths for each quartet, instead of 1–2 rounds). In combination, FastTree 2 with FastME+SPR starting trees and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequences from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristics have little effect on accuracy, and that removing them would improve the topology little relative to adding ML SPRs (e.g., RAxML 7.2.1 was 88.4% accurate).”concepts[29]
conceptexact neighbor joining — not defined in this paper's own words; unrestricted neighbor-joining baseline — “We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNA alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristics. In these simulations, FastTree gave much more accurate topologies than exact neighbor joining or Clearcut [24] , a faster heuristic variant of neighbor joining ( Table 1 ). (To analyze such large alignments with exact neighbor joining, we used NINJA [25] .) To verify that the heuristics in FastTree's neighbor joining phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting tree, before doing minimum-evolution NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristics for the neighbor joining phase (-fastest). All three variants found 92.10% of splits correctly.”concepts[30]
concept16S ribosomal RNAs — not defined in this paper's own words; large nucleotide alignment test family — “To confirm that FastTree finds good topologies for genuine alignments, and not just in simulations, we tested it on 16S ribosomal RNAs and on protein families from COG. Although these families are quite large (up to 300,000 or 19,000 members, respectively), we first tested random subsets of just 500 sequences, so that we could run PhyML 3 with . To measure the quality of the topologies from FastTree 2, PhyML 3, and RAxML 7, we re-optimized the branch lengths with a model (using RAxML) and compared the resulting likelihoods. As expected from the simulations, FastTree found better topologies than PhyML 3 with and NNI moves, but not as good as RAxML 7 ( Table 2 ).”concepts[31]
conceptprotein families from COG — not defined in this paper's own words; genuine protein-alignment test families — “To confirm that FastTree finds good topologies for genuine alignments, and not just in simulations, we tested it on 16S ribosomal RNAs and on protein families from COG. Although these families are quite large (up to 300,000 or 19,000 members, respectively), we first tested random subsets of just 500 sequences, so that we could run PhyML 3 with . To measure the quality of the topologies from FastTree 2, PhyML 3, and RAxML 7, we re-optimized the branch lengths with a model (using RAxML) and compared the resulting likelihoods. As expected from the simulations, FastTree found better topologies than PhyML 3 with and NNI moves, but not as good as RAxML 7 ( Table 2 ).”concepts[32]
conceptbootstrap — not defined in this paper's own words; resampling-based assessment of split reliability — “Because of its speed, FastTree 2 is suitable for bootstrapping. However, to provide a quicker estimate of the tree's reliability, FastTree 2 provides local support values based on the Shimodaira-Hasegawa (SH) test [16] , [17] , [19] . FastTree 2 should be useful for reconstructing the tree of life and for analyzing the millions of uncharacterized proteins that are being identified by genome sequencing.”concepts[33]
conceptSH test — not defined in this paper's own words; site-likelihood resampling procedure for local supports — “For each node, the local support is derived from the per-site likelihoods for the current topology and the two alternate (NNI) topologies. For the current topology, FastTree uses the current (already optimized) branch lengths. For the alternate topologies, FastTree optimizes branch lengths for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoods for the three topologies, FastTree uses the SH test with 1,000 bootstrap replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topology might not have been considered.”concepts[34]
conceptposterior distributions — not defined in this paper's own words; ancestral-state probability vectors — “The key data structures for the maximum likelihood phase are the tree topology, the branch lengths, and the posterior distributions for each internal node. (FastTree stores the tree with a trifurcation at the root, but the placement of the root is not biologically meaningful and does not affect the likelihood [5] .) The posterior distribution for an internal node describes the state of the corresponding ancestor, given the branch lengths and the sequences beneath it. For example, for nucleotide data, it stores the probability that a given site was an A, C, G, or T. FastTree stores posterior distributions for internal nodes (not for the root), and they require O( ) space each, where is the alignment's length and is the number of characters in the alphabet.”concepts[35]
conceptup-posterior — not defined in this paper's own words; posterior representation of the tree outside a node's local children — “The up-posterior for a node can be computed from its parent's up-posterior and its sibling's posterior distribution. FastTree only stores these up-posteriors for the path to the root from its current location in the tree, so they take O( ) space, where is the maximum depth of the tree. Because FastTree always visits children before their parents, the posterior and up-posterior distributions it uses are up to date, even as the topology changes.”concepts[36]
conceptsubtree skipping — not defined in this paper's own words; avoidance of recently unproductive subtrees — “The intuition behind subtree skipping is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihood (0.1 log likelihood units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skipping” heuristic typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristics. Subtree skipping might be useful for SPR moves as well.”concepts[37]
conceptstar topology — not defined in this paper's own words; unresolved local quartet comparison — “If the current topology (A,B,(C,D)) is much better than the star topology (A,B,C,D) then an NNI is unlikely to give an improvement. Specifically, if the current topology is significantly (5 log-likelihood units) more likely than the star topology (after optimizing the internal branch length), then FastTree does not optimize the other branch lengths or consider the two alternate topologies. However, FastTree only uses this heuristic if the node that was unchanged in the last round of NNIs. To approximate the likelihood of the star topology, FastTree uses the likelihood with the minimal internal branch length of 0.0001.”concepts[38]
conceptGTR model — not defined in this paper's own words; generalized nucleotide transition model — “After the first round of NNIs, FastTree optimizes any parameters in the model. First, if the GTR model is being used, there are six relative rates to optimize, one for each nucleotide conversion. (The stationary distribution for the transition matrix is set to the empirical frequency of the four nucleotides.) FastTree optimizes the likelihood of the tree (with fixed branch lengths and topology) by numerically optimizing each of the six parameters in the model in turn. With each change in the model, it recomputes all posterior distributions. It then optimizes the six parameters a second time. This does not fully optimize the model parameters, but it gives acceptable results ( Table 2 ).”concepts[39]
conceptJukes Cantor — not defined in this paper's own words; simplified nucleotide transition model — “If the GTR model is being used, optimize the nucleotide transition rate parameters, switch from Jukes Cantor to the GTR model and recompute posterior distributions, and optimize all branch lengths for one round with the new model.”concepts[40]
conceptBayesian approach — not defined in this paper's own words; prior-regularized site-rate selection — “Second, unless the -nocat option is set, FastTree estimates the rate of evolution at each site. Given the desired number of categories of relative rates , FastTree selects values that are logarithmically spaced between and . By default, , and the relative rates range from 0.05 to 20. For each of these relative rates, FastTree recomputes all posterior distributions and recalculates the log likelihood of the tree at each site. FastTree then uses a Bayesian approach to select which rate to use at each site: FastTree maximizes , where is a gamma-distributed prior. To avoid overfitting, we made the prior more peaked than real rate variation in alignments: the prior has a shape parameter of 3, a scale parameter of 1/3, and a mean of 1. After choosing the rate categories, FastTree scales the rates so that the average rate across all sites is 1.0.”concepts[41]
conceptrate categories — not defined in this paper's own words; discrete relative rates considered per alignment site — “Second, unless the -nocat option is set, FastTree estimates the rate of evolution at each site. Given the desired number of categories of relative rates , FastTree selects values that are logarithmically spaced between and . By default, , and the relative rates range from 0.05 to 20. For each of these relative rates, FastTree recomputes all posterior distributions and recalculates the log likelihood of the tree at each site. FastTree then uses a Bayesian approach to select which rate to use at each site: FastTree maximizes , where is a gamma-distributed prior. To avoid overfitting, we made the prior more peaked than real rate variation in alignments: the prior has a shape parameter of 3, a scale parameter of 1/3, and a mean of 1. After choosing the rate categories, FastTree scales the rates so that the average rate across all sites is 1.0.”concepts[42]
conceptlikelihood vectors — not defined in this paper's own words; unnormalized internal-node subtree likelihood representation — “Whereas RAxML stores likelihood vectors (that is, the joint likelihood of a subtree and of a given character at an internal node), FastTree stores posterior distributions, which are normalized so that each site's values sum to 1. This may improve numerical stability for huge alignments. To reduce memory usage, FastTree stores these vectors in single-precision floating point. Log-likelihoods for the tree or for specific sites are stored with double precision.”concepts[43]
conceptsingle-precision floating point — not defined in this paper's own words; compact storage precision for posterior vectors — “Whereas RAxML stores likelihood vectors (that is, the joint likelihood of a subtree and of a given character at an internal node), FastTree stores posterior distributions, which are normalized so that each site's values sum to 1. This may improve numerical stability for huge alignments. To reduce memory usage, FastTree stores these vectors in single-precision floating point. Log-likelihoods for the tree or for specific sites are stored with double precision.”concepts[44]
conceptrotated form — not defined in this paper's own words; eigen-matrix-transformed posterior representation — “Similar to RAxML, FastTree stores the posterior distributions in a rotated form, multiplied by the eigen-matrix of the transition matrix. (For the Jukes Cantor model, this is not necessary.) This reduces the time for likelihood computations from O( ) per site to O( ), while leaving the cost of computing the posterior distribution at O( ) per site (but with a higher constant factor).”concepts[45]
conceptSSE2 instructions — not defined in this paper's own words; four-value CPU vector operations — “FastTree uses SSE2 instructions, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating point values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).”concepts[46]
conceptBrent's method — not defined in this paper's own words; iterative one-dimensional numerical optimization — “To find the parameters that optimize the likelihood, FastTree uses Brent's method, a numerical method that iteratively halves the interval it is searching within ( http://en.wikipedia.org/wiki/Brents_method ). Because Brent's method only operates in one dimension, FastTree optimizes different parameters in turn, and then repeats the rounds of optimization (for example, it optimizes the first branch length, then the second, then the third, then repeats).”concepts[47]
conceptprofile alignment — not defined in this paper's own words; large-family alignment approach using conserved profiles — “Such huge families also raise challenges for multiple sequence alignment. We have used profile alignment to avoid the challenges of multiple sequence alignment on large families. This works well for 16S RNAs because Infernal takes advantage of highly conserved secondary structure [1] , but we are not sure that it gives accurate results for diverse protein families. In contrast, traditional progressive multiple sequence alignment methods are not scalable because their output grows as O( ): there are O( ) independent insertions, and each insertion requires a new column in the alignment and hence O( ) storage. However, Fast Statistical Alignment uses an O( ) representation, both internally and as an output format [31] . Combining this representation with fast guide tree construction, it should be possible to build progressive multiple sequence alignments with millions of sequences.”concepts[48]

Full text — tagged

The reference list is not part of the text we hold for this paper. Our copy was extracted from the publisher's page and the bibliography did not survive that extraction, so the article below ends before its references. Nothing has been removed by us.

FastTree 2term – Approximately Maximum-Likelihood Trees for Large Alignments Abstract We recently described FastTree, a tool for inferring phylogeniesterm for alignments with up to hundreds of thousands of sequences. Here, we describe improvements to FastTree that improve its accuracy without sacrificing scalability.

Where FastTree 1 used nearest-neighbor interchangesterm (NNIs) and the minimum-evolutionterm criterion to improve the tree, FastTree 2term adds minimum-evolutionterm subtree-pruning-regraftingterm (SPRs) and maximum-likelihood NNIs. FastTree 2term uses heuristicsterm to restrict the search for better trees and estimates a rate of evolutionterm for each site (the “CATterm” approximation). Nevertheless, for both simulated and genuine alignments, FastTree 2term is slightly more accurate than a standard implementation of maximum-likelihood NNIs (PhyMLterm 3 with default settings). Although FastTree 2term is not quite as accurate as methods that use maximum-likelihood SPRs, most of the splits that disagree are poorly supported, and for large alignments, FastTree 2term is 100–1,000 times faster. FastTree 2term inferred a topologyterm and likelihood-based local support valuesterm for 237,882 distinct 16S ribosomal RNAsterm on a desktop computer in 22 hours and 5.8 gigabytes of memoryterm·var.

FastTree 2term allows the inference of maximum-likelihood phylogeniesterm for huge alignments. FastTree 2term is freely available at http://www.microbesonline.org/fasttree .

Introduction Inferring evolutionary relationships, or phylogeniesterm, from families of related DNAterm or protein sequencesterm is a central method in computational biology. Sequence-based phylogeniesterm are widely used to understand the evolutionary relationships of organisms and to analyze the functions of genes.

The largest gene familiesterm already contain tens to hundreds of thousands of representatives, and with the rapid improvements in DNAterm sequencing, we expect even larger data sets to arrive soon. Large families can be aligned with profile-based methods that scale linearly with the number of sequencesterm·var ( http://hmmer.janelia.org/ ; [1] ). However, most methods for inferring phylogeniesterm from these alignments scale as O( ) or worse, where is the number of sequencesterm·var and is the length (width) of the alignment. Thus, inferring phylogeniesterm has become computationally challenging.

We recently described a scalable method for inferring phylogeniesterm, FastTree 1.0term [2] . FastTree 1.0term is based on the “minimum-evolutionterm” principle – it tries to find a topologyterm that minimizes the amount of evolution, or the sum of the branch lengthsterm. FastTree 1.0term uses a heuristicterm variant of neighbor joiningterm [3] , [4] to quickly find a starting treeterm·var and uses nearest-neighbor interchangesterm (NNIs) to refine the topologyterm. (A nearest-neighbor interchangeterm·def swaps a node and its neighbor; for example, it might change ((A,B),C,D) to ((A,C),B,D) or ((A,D),B,C).) FastTree implements these operations in O( ) space, where is the number of characters in the alphabet, by storing profiles of subtreesterm instead of distances between them. This requires far less memoryterm·var than storing the pairwise distancesterm, which is necessary for neighbor joiningterm and related approaches. This also allows for heuristicsterm that reduce the theoretical running timeterm·var to O( ). (FastTree 1.0term also included some O( ) steps, but these have since been removed, see http://www.microbesonline.org/fasttree/ChangeLog .) In comparison, computing all pairwise distancesterm, which is required with most minimum-evolutionterm approaches, requires O( ) time. The main limitation of FastTree 1.0term, as compared to other minimum-evolutionterm methods, is that it does not correct distances for multiple substitutions during its initial neighbor joiningterm phase. However, this is more than made up for by the NNIs. In practice, FastTree 1.0term is more accurate than most other minimum-evolutionterm methods, but not as accurate as maximum-likelihood methods [2] .

In the maximum-likelihood (ML) approachterm, evolution is explicitly modeled with a transition rate matrixterm, and the tree that best explains the data – the tree with the highest likelihoodterm – is the best tree [5] . The ML criterion ranks the trees but does not specify how to find a good topologyterm. Because ML phylogenetic inference is NP complete [6] , no practical method can guarantee that it will find the optimal topologyterm for a large alignment. The most scalable ML methods, such as PhyMLterm and RAxMLterm, begin with a starting treeterm·var produced by a faster method, and try to increase the likelihoodterm by optimizing individual branch lengthsterm and performing local rearrangements [7] – [9] . By re-optimizing only a few branch lengthsterm at each move, the cost of considering or performing a move can be reduced to O( ) time, where is the size of the alphabet. However, in practice, the number of moves grows as roughly O( ), and the optimization steps are inherently slow because they require numerical solving and iteration. This explains why both PhyMLterm and RAxMLterm can take over a day for just 1,000 protein sequencesterm. Estimating the reliability of the tree with the bootstrapterm [10] generally increases the computational requirements another 100-fold (although this can be reduced by reusing computations across replicates [11] ).

Here, we describe FastTree 2term, a tool for inferring ML trees for large alignments. Besides constructing an initial tree with neighbor joiningterm and improving it with minimum-evolutionterm NNIs, FastTree 2term uses minimum-evolutionterm subtree-pruning-regraftingterm (SPRs) [8] , [12] and ML NNIs to further improve the tree. (In subtree-pruning-regraftingterm, a subtree is removed from the tree and reinserted elsewhere, e.g., pruning and regrafting C might change ((A,B),(C,D),E) to ((A,(B,C)),D,E).) FastTree 2term uses heuristicsterm to reduce the search space and hence to maintain the scalability of both stages. Another justification for reducing the search space is that intensive tree search often finds small improvements in the tree's length or likelihoodterm, but these changes may not be statistically or biologically significant (e.g., [13] ). Briefly, FastTree's key heuristicsterm are: It uses “linear SPRs” to consider just of the possible SPR moves. At each node, it examines the shortest SPRs first and then extends the most promising candidates.

It searches for SPR moves for every subtree just twice, instead of iterating until convergenceterm·def.

During the ML phase, it limits the ML NNIs to at most rounds; in practice, it converges before it reaches this limit, but the limit ensures a predictable running timeterm·var.

It limits the effort to optimize model parameters and branch lengthsterm.

It abandons optimization for NNI moves that seem, after partial optimization, to significantly lower the likelihoodterm.

It does not try to improve parts of the tree that did not improve in recent rounds.

To account for the variation in rates across sites, FastTree uses the “CATterm” approximation [14] rather than the standard discrete gamma model with four rates ( ) [15] . Some sites evolve much more slowly than others, and the ideal way to account for this is to integrate the likelihoodterm at each site over the (unknown) relative evolutionary rate of that site, using a prior distribution over the relative rates such as a gamma distributionterm. However, these integrals are analytically intractable and computationally prohibitive. The “ ” approach is to use four rate categoriesterm to approximate the continuous gamma distributionterm. However, still requires four times more CPU time and memoryterm·var than a model with no rate variation across sites. Furthermore, for large alignments, the data tightly constrains the rate at each site. Thus, it is much faster, and just as accurate, to use a good estimate of the rate at each site (CATterm) rather than to sum over four potential rates ( ) [14] . FastTree selects the most likely rate for each site from among 20 fixed possibilities.

Because of the heuristicsterm, FastTree 2term is not guaranteed to reach a locally optimal likelihoodterm in tree space. However, at each step it does guarantee that the likelihoodterm increases (under the CATterm approximation). Thus, FastTree 2term is an approximately-maximum-likelihood methodterm.

We will show that in practice, FastTree 2term is slightly more accurate than a standard implementation of maximum-likelihood NNIs, PhyMLterm 3 with default settings [16] , [17] . Specifically, in simulations, FastTree 2term recovers a higher proportion of true splits, and on genuine alignments, FastTree 2term's topologies tend to have higher likelihoodsterm. FastTree's minimum-evolutionterm SPR moves give it a better starting treeterm·var than PhyMLterm's starting treeterm·var, which is obtained with BIONJ (a weighted variant of neighbor joiningterm [18] ). This more than makes up for FastTree's heuristicsterm, which reduce the intensity of search for ML NNIs but have little effect on accuracy. We also confirm that using the CATterm approximation instead of the model (which is itself an approximation of the continuous gamma distributionterm) has little effect on the quality of the tree.

Although FastTree 2term is significantly less accurate than ML methods that use SPR moves, such as PhyMLterm with slower settings or RAxMLterm, most of the splits that disagree are poorly supported, and FastTree is much faster. FastTree 2term can analyze alignments with tens or hundreds of thousands of sequences in under a day on a desktop computer. For alignments with 500 sequences or more, FastTree 2term is at least 100 times faster than either PhyMLterm 3.0 or RAxMLterm 7.2.1. FastTree 2term is faster than RAxMLterm 7 mostly because of less intensive ML search (NNIs instead of SPRs) and because RAxMLterm 7 optimizes branch lengthsterm under the model. However, FastTree also has a faster starting treeterm·var, and it initially increases the likelihoodterm more quickly than RAxMLterm 7 does.

Because of its speed, FastTree 2term is suitable for bootstrapping. However, to provide a quicker estimate of the tree's reliability, FastTree 2term provides local support valuesterm based on the Shimodaira-Hasegawa (SH) test [16] , [17] , [19] . FastTree 2term should be useful for reconstructing the tree of life and for analyzing the millions of uncharacterized proteins that are being identified by genome sequencing.

Results We compared FastTree's speed and accuracy to those of PhyMLterm 3.0 and RAxMLterm 7, the most popular maximum-likelihood methods. To measure the quality of the resulting trees, we measured the topological accuracyterm on simulated alignments and the likelihoodterm on genuine biological alignments.

Topological Accuracyterm in Simulations We tested FastTree on simulated protein alignments with 250 to 5,000 sequences [2] . These simulations were derived from diverse gene familiesterm that arise in genome-scale studies (“Collections of Orthologous Groups” or COGs, [20] ). The simulations include varying evolutionary rates across sites and include realistic placement of gaps. The simulations are available from the FastTree web site ( http://microbesonline.org/fasttree/#Sims ).

We defined the topological accuracyterm as the proportion of the splits in the true trees that are recoveredterm by each method. This is the converse of the topological (“Robinson-Foulds”) distance, scaled to range from 0 to 1. As shown in Table 1 , FastTree 2term was slightly more accurate than PhyMLterm 3 with default settings (NNI search), and much more accurate than minimum-evolutionterm or parsimony methods, but not as accurate as ML methods that use SPR moves. The differences in accuracy between FastTree 2term and the other methods were statistically significant (all , paired tests).

Topological accuracyterm of trees inferred from simulated alignments.

To test the practical significance of the additional true splits that are found by using ML SPR moves, we examined the local support valuesterm reported by PhyMLterm 3. We defined “strongly supportedterm” as having both SH-like local supports and approximate likelihood ratio test (aLRT) supportsterm [21] of 95% or higher. Only 16% of the true splits that are found by PhyMLterm 3 with SPR moves but missed by FastTree 2term were strongly supportedterm. The full distribution of support values is shown in Figure 1 . Conversely, among the strongly supportedterm splits that were found by PhyMLterm 3 with SPRs but not FastTree, 20% were incorrect. Thus, few of the additional true splits have high support, and of the splits that disagree, even the ones that have high support have a significant probability of being incorrect.

Local support valuesterm for splits found by PhyMLterm with SPR moves and/or FastTree. We examined local support valuesterm for the splits inferred by PhyMLterm 3.0 with + SPRs on simulated alignments with 250 protein sequencesterm. We classified PhyMLterm's splits as correct and found by both PhyMLterm and FastTree, correct but missed by FastTree, or incorrect. We show the distribution of support values for each class. The right-most bin includes the strongly supportedterm splits (0.95 to 1.0), and the gray dashed line shows the uniform distribution. The support values are PhyMLterm's minimum of the approximate likelihoodterm ratio test [21] and SH-like [16] , [17] local supports.

To understand why FastTree 2term was outperforming PhyMLterm 3 with NNI search, we ran PhyMLterm 3 with FastTree's minimum-evolutionterm tree as its starting treeterm·var. For the protein simulations with 250 sequences, this improved PhyMLterm's accuracy to 86.8%, which is statistically indistinguishable from FastTree's accuracy of 86.9% ( , paired test, ). We also confirmed that FastTree's minimum-evolutionterm phase yields more accurate starting treesterm·var than either PhyMLterm 3's approach of using BIONJ with maximum-likelihood distances or RAxMLterm's implementation of parsimony ( Table 1 ).

CAT-Based Branch Lengthsterm and Local Support Valuesterm Because FastTree 2term does not exhaustively optimize the likelihoodterm, and because it reports branch lengthsterm and local support valuesterm that were estimated using the CATterm approximation, we compared its branch lengthsterm and local support valuesterm to -based lengths and supports. Specifically, for the protein simulations with 250 sequences, we re-optimized the branch lengthsterm and computed local SH-like support values for the FastTree topologies with PhyMLterm 3 and . (For both tools, we used the Jones-Taylor-Thorton (JTT) model of amino acid evolution.) PhyMLterm's internal branch lengthsterm were well correlated with those from FastTree ( = 0.90). For branch lengthsterm of 1.0 or less, the average difference was just 0.01, and for branch lengthsterm between 0.01 and 1.0, the average percent difference was 13%. For internal branch lengthsterm on correct splits, FastTree agreed slightly better with the true lengths (median absolute difference of 0.062 for PhyMLterm and 0.059 for FastTree). Thus, the CATterm approximation gave acceptable branch lengthsterm.

If accurate branch lengthsterm are essential, however, then neither the CATterm approximation nor the standard approximation is sufficient. The approximation was introduced for alignments with just 10 sequences, and four discrete rate categoriesterm may not suffice to give accurate likelihoodsterm on larger alignments [15] , [22] . For alignments of 16S ribosomal RNAsterm, branch lengthsterm can be a factor of two shorter than branch lengthsterm ( Figure S1 ). As explained in Figure S1 , correcting by the average posterior rate reduces this problem, and FastTree can compute a fast but accurate approximation to -based lengths.

The local SH-like support values also showed a good correlation between FastTree and PhyMLterm ( = 0.90). For splits with local support valuesterm of at least 0.9 from either FastTree or PhyMLterm, the average absolute difference was just 0.008, which is not much greater than the sampling error. (For example, with 1,000 bootstrapsterm and 95% support, the standard deviation of support values due to sampling is = 0.007.) FastTree was less effective than PhyMLterm in distinguishing correct from incorrect splits, but the difference was slight: the area under the receiver operating curve (AOC) was 0.880 instead of 0.887 ( , test of [23] ).

Effectiveness of Heuristicsterm We then examined how the topological accuracyterm of FastTree 2term is affected by its heuristicsterm. As shown in Table 1 , the minimum-evolutionterm phase of FastTree, which uses linear SPRs, is not as accurate as FastMEterm 2, a minimum-evolutionterm method that performs exhaustive SPR moves [8] , [12] . FastMEterm computes distances between internal nodes differently from the minimum-evolutionterm phase of FastTree: FastMEterm uses averages of distances between sequences, while FastTree uses distances between profiles, which are averages of sequences. Nevertheless, FastTree 1 with only NNI moves gave very similar results as FastMEterm with only NNI moves [2] . Thus, we attribute the modest difference in accuracy of the minimum-evolutionterm methods with SPRs to FastTree's heuristicsterm. To eliminate this effect, we ran FastTree with the FastMEterm starting treeterm·var. To eliminate the effect of FastTree's ML heuristicsterm, we ran it with exhaustive ML NNIs, and with more exhaustive optimization of branch lengthsterm within each NNI (4 rounds of optimizing branch lengthsterm for each quartet, instead of 1–2 rounds). In combination, FastTree 2term with FastMEterm+SPR starting treesterm·var and exhaustive NNIs improved the accuracy on simulated alignments with 5,000 protein sequencesterm from 84.3% to 85.0%. This modest effect illustrates that all of FastTree's heuristicsterm have little effect on accuracy, and that removing them would improve the topologyterm little relative to adding ML SPRs (e.g., RAxMLterm 7.2.1 was 88.4% accurate).

We also tested FastTree on simulations with over 78,000 nucleotide sequences. These simulations are derived from a 16S ribosomal RNAterm alignment (see Methods ). The large size of these simulated alignments makes them a stringent test of FastTree's heuristicsterm. In these simulations, FastTree gave much more accurate topologies than exact neighbor joiningterm or Clearcut [24] , a faster heuristicterm variant of neighbor joiningterm ( Table 1 ). (To analyze such large alignments with exact neighbor joiningterm, we used NINJA [25] .) To verify that the heuristicsterm in FastTree's neighbor joiningterm phase do not reduce accuracy, we also ran FastTree with the exact neighbor-joining tree as its starting treeterm·var, before doing minimum-evolutionterm NNIs and SPRs and ML NNIs. This gave the same accuracy as the regular FastTree or as FastTree with the fastest settings of its heuristicsterm for the neighbor joiningterm phase (-fastest). All three variants found 92.10% of splits correctly.

It may seem surprising that FastTree can reach accurate topologies when it does not compare all pairs of sequences to each other. However, minimum-evolutionterm NNIs and SPRs are “consistent” – they find correct trees, even if the distances contain some errors, as long as the errors are much smaller than the internal branch lengthsterm [26] , [27] . In practice, the errors are often larger than the internal branch lengthsterm, but this still probably explains why NNIs and SPRs suffice to find most of the splits correctly.

Quality of Topologies for Biological Alignments To confirm that FastTree finds good topologies for genuine alignments, and not just in simulations, we tested it on 16S ribosomal RNAsterm and on protein families from COGterm. Although these families are quite large (up to 300,000 or 19,000 members, respectively), we first tested random subsets of just 500 sequences, so that we could run PhyMLterm 3 with . To measure the quality of the topologies from FastTree 2term, PhyMLterm 3, and RAxMLterm 7, we re-optimized the branch lengthsterm with a model (using RAxMLterm) and compared the resulting likelihoodsterm. As expected from the simulations, FastTree found better topologies than PhyMLterm 3 with and NNI moves, but not as good as RAxMLterm 7 ( Table 2 ).

Average log-likelihood for genuine alignments with 500 sequences.

We then tested FastTree and RAxMLterm on larger alignments of 16S rRNAs and COGs. For alignments with thousands of sequences, RAxMLterm 7.0.4 is a bit slow, so we used RAxMLterm 7.2.1, which introduced a fast convergenceterm·def option as well as other optimizations. With fast convergenceterm·def, RAxMLterm terminates the search if less than 1% of splits change during a round of SPR moves. As shown in Table 1 , for 5,000 proteins, RAxMLterm with fast convergenceterm·def is nevertheless quite accurate.

On the larger alignments, RAxMLterm 7.2.1's likelihoodsterm were much higher than FastTree's, and all of the differences in likelihoodterm were statistically significant (all , SH testterm using CONSEL [28] ). However, FastTree did find most of the splits in the RAxMLterm topologyterm that had strong support ( Table 3 ). For example, FastTree found 96–98% of RAxMLterm's splits that had global bootstrapterm of 90% or higher.

Comparison of RAxMLterm and FastTree's log likelihoodsterm, and the agreement of FastTree with RAxMLterm's well-supported splits, for large genuine alignments.

Running Timeterm·var and Memoryterm·var Required Finally, we compared the computational performance of FastTree, RAxMLterm, and PhyMLterm, on genuine alignments. As shown in Table 4 , for alignments with 500 sequences, FastTree is about 100 times faster than RAxMLterm 7.0.4 when using the same model of evolution, and even faster relative to PhyMLterm 3. For alignments with thousands of sequences, FastTree was still 100–800 times faster than RAxMLterm 7.2.1 with fast convergenceterm·def of SPRs, while PhyMLterm 3 did not complete in a reasonable amount of time.

Running timeterm·var and memoryterm·var usage on genuine alignments.

For one of the largest alignments existing today, containing 237,882 16S ribosomal RNAsterm, FastTree took less than a day and 5.8 GB of memoryterm·var on a desktop computer. For comparison, given that RAxMLterm took over 2 days for just 15,011 sequences, and optimistically assuming O( ) scaling, RAxMLterm would take around half a year for the full 16S alignment. Analyzing such alignments with traditional minimum evolutionterm·def approaches based on a distance matrix would also be prohibitive – just computing and storing all pairwise distancesterm for these sequences, without computing a topologyterm, would require roughly a day and a half and 113 GB of storage.

All of the FastTree times include the computation of local SH-like support values, while the other tools were run without support values. The local support valuesterm do not affect FastTree's running timeterm·var much. For example, across seven COG alignments with 2,500 protein sequencesterm each, the average time for FastTree to infer a tree is 345 seconds, and the average time for it to compute SH-like supports is 51 seconds. For the full alignment of 237,882 16S rRNAs, the supports required just one hour.

Much of the time in RAxMLterm 7.2.1 is spent optimizing the branch lengthsterm under the model, even though the CATterm approximation is used to search for a good topologyterm. (RAxMLterm can also perform SPR moves under the model, but we ran it with SPR moves under the CATterm model only, followed by optimizing branch lengthsterm under , because RAxMLterm 7.2.1 does not report CAT-based branch lengthsterm.) If branch lengthsterm are not required, such as during bootstrapping, then RAxMLterm can be 2–3 times faster than shown in Table 4 . For example, for 15,011 16S rRNAs, if the phase is removed, then RAxMLterm 7.2.1 takes 30 hours instead of 64 hours, which is still about 45 times slower than FastTree. The phase of RAxMLterm is also expected to quadruple the memoryterm·var required. For example, for 15,011 16S rRNAs, FastTree required 0.56 GB of memoryterm·var, while RAxMLterm with required 2.6 GB.

Improvement of Likelihoodterm Over Time To compare the search strategies of FastTree and RAxMLterm more directly, we compared their improvement in likelihoodsterm over time for a nucleotide alignment of 4,114 16S rRNAs [11] and for seven protein alignments of COG families with 2,500 members. We ran both methods with the CATterm approximation and with either the generalized time-reversible (GTR) model of nucleotide substitution or the JTT model of amino acid substitution. We computed likelihoodsterm for intermediate and final trees with RAxMLterm, re-optimized branch lengthsterm, and . Figure 2 shows the running timeterm·var and log likelihoodterm for FastTree's minimum-evolutionterm and final tree, for RAxMLterm's initial parsimony tree and successive rounds of SPR moves, and also for RAxMLterm with FastTree's minimum-evolutionterm tree as its starting treeterm·var. These times do not include FastTree's support values or RAxMLterm optimizing branch lengthsterm under .

Likelihoodsterm over time for genuine alignments. Each line shows the time it takes a different tool to reach a given likelihoodterm. For the COG alignments, all times and likelihoodsterm are averages over the seven alignments. For FastTree, we show the time and the improvement in likelihoodterm for the minimum-evolutionterm topologyterm and the final (approximately-ML) topologyterm. For RAxMLterm, we show the maximum parsimony starting topologyterm, the first two rounds of SPR moves, and the final topologyterm (note the interrupted axis). For RAxMLterm with FastTree's (minimum-evolutionterm) starting treeterm·var, we show the starting topologyterm and RAxMLterm's first two rounds of SPR moves.

Given the same starting treeterm·var, FastTree's ML phase improved the likelihoodterm by roughly the same amount as one round of RAxMLterm's SPR moves, and in about 40% of the time ( Figure 2 ). FastTree's ML phase also performs about as well as one round of RAxMLterm's SPR moves in finding well-supported splits ( Figure S2 ). We obtained similar results for other large 16S alignments ( Table S1 ). Although this comparison shows that FastTree is initially faster than RAxMLterm, the RAxMLterm's first round of SPR moves is only a fraction of its run time. Most of the difference in speed between FastTree and RAxMLterm is because of RAxMLterm's more thorough search for a better topologyterm and because of RAxMLterm's branch lengthsterm.

Starting Treesterm·var: Minimum-Evolutionterm versus Maximum Parsimony RAxMLterm's parsimony phase was 4–17 times slower than FastTree's minimum evolutionterm·def phase, and generally slower than FastTree with ML NNIs. FastTree's speed advantage grows with larger alignments (data not shown), which is expected because FastTree should scale as O( ) and RAxMLterm's parsimony phase uses randomized stepwise addition, which scales as O( ), as well as limited parsimony-based SPR moves. There are faster implementations of parsimony, such as RAxMLterm 7.2.5 (which was released after we conducted the above experiments) or TNT [29] , but these still scale as O( ). For 15,011 16s RNAs, RAxMLterm 7.2.5's parsimony and FastTree's minimum evolutionterm·def phase take about the same time (data not shown).

As measured by likelihoodterm, FastTree's minimum-evolutionterm starting treesterm·var were much better than RAxMLterm's parsimony starting treesterm·var for the COG alignments, but much worse for large 16S rRNA alignments ( Figure 2 and Table S1 ). The differences in likelihoodterm reflects the criterion, and not merely differences in the search strategy: for the COG alignments, the RAxMLterm parsimony starting treesterm·var were more parsimonious than FastTree's minimum-evolutionterm trees (average parsimony scores of 281,237 and 283,125, respectively). Conversely, for the 16S alignment with 4,114 sequences, FastTree's minimum-evolutionterm tree was shorter than the parsimony tree (lengths of 43.0 and 44.6, respectively). For this alignment, the minimum-evolutionterm tree's log likelihoodterm was 2,705 worse than parsimony's, yet minimum evolutionterm·def found more of the strongly-supported splits in the final RAxMLterm tree: minimum evolutionterm·def found 826 of the 851 splits with a global bootstrapterm 90%, while parsimony found 814 of them. Thus, we are not sure if the difference in likelihoodterm is biologically meaningful.

Discussion We have shown that FastTree 2term computes accurate topologies in a reasonable amount of time for alignments with up to hundreds of thousands of sequences. FastTree is open source software and is available at http://microbesonline.org/fasttree . The C source code is extensively documented and contributions are welcome. FastTree trees for every microbial gene family, including families with tens of thousands of members such as ABC transporters, are available at MicrobesOnline ( http://microbesonline.org/ ), along with a “tree-browser” for examining these trees. These trees will be updated from FastTree 1 to FastTree 2term in the next release of MicrobesOnline.

Because DNAterm sequencing technology is improving rapidly, we expect to have alignments with millions of sequences soon. For these huge alignments, the most computationally demanding step will be the initial neighbor-joining phase. In FastTree 2term.0, which is described here, neighbor joiningterm takes O( ) time and O( ) space, while the other stages take at most O( ) time and O( ) space. For example, for 237,882 16S sequences, the neighbor-joining phase of FastTree 2term.0 already takes 10.8 of the 21.8 hours. In FastTree 2term.1, we have improved the scaling of time and memoryterm·var from O( ) to O( ), without affecting accuracy in our simulations (data not shown). FastTree 2term.1 also supports parallel execution of the key steps in the neighbor-joining phase. To improve scalability further, it might be possible to use a divide-and-conquer method to find clusters of closely related sequences in O( ) time, as in PartTree [30] . In our simulations, PartTree starting treesterm·var do not allow FastTree to reach the same accuracy as FastTree's neighbor-joining starting treeterm·var does (data not shown), but a divide-and-conquer approach might still suffice to obtain a partially resolved initial tree.

Such huge families also raise challenges for multiple sequence alignment. We have used profile alignmentterm to avoid the challenges of multiple sequence alignment on large families. This works well for 16S RNAs because Infernal takes advantage of highly conserved secondary structure [1] , but we are not sure that it gives accurate results for diverse protein families. In contrast, traditional progressive multiple sequence alignment methods are not scalable because their output grows as O( ): there are O( ) independent insertions, and each insertion requires a new column in the alignment and hence O( ) storage. However, Fast Statistical Alignment uses an O( ) representation, both internally and as an output format [31] . Combining this representation with fast guide tree construction, it should be possible to build progressive multiple sequence alignments with millions of sequences.

Finally, it is not clear how to assess the quality or reliability of such large trees. Different methods gave very different topologies and large differences in likelihoodterm, and yet few of the differences were well-supported by the bootstrapterm. In fact, a topologyterm with relatively poor likelihoodterm could have relatively good agreement with the best tree. This could indicate that higher-likelihood trees contain many improvements, but that few of the individual improvements are statistically significant. This is expected if there is limited phylogenetic signal. Alternatively, the bootstrapterm could be too conservative. Local support valuesterm do suggest a greater number of significant differences ( Table 3 ), but local support valuesterm may be biased upwards because they do not consider all of the alternate topologies. Further study of these questions is needed.

Materials and Methods Minimum-Evolutionterm “Linear” Subtree-Pruning-Regraftingterm To reduce the number of SPR moves considered from O( ) to O( ), FastTree does just two rounds of “linear SPRs.” For each node, FastTree does an exhaustive search for moves up to length two. It extends each of these moves up to a length of 10 along the best choice at each point along the way.

As suggested by Richard Desper and Olivier Gascuel, FastTree treats each potential SPR move as a sequence of NNIs. The change in tree length for the SPR move is then just the sum of the changes due to the NNIs, much as .

The change in tree length for an NNI from to , where A, B, C, and D may be subtrees rather than sequences, is estimated by . In FastMEterm, which introduced balanced minimum evolutionterm·def [12] , is a topologically weighted average of distances between the members of A and C. In contrast, in FastTree, is the log-corrected distance between the profiles for the subtrees A and C, and the profile of a subtree is derived from that of its children by . (Although FastTree 1 used weighted joins, as in BIONJ, FastTree 2term uses unweighted joins because they are faster, and the slight effect on accuracy is erased by the ML NNIs.) For nucleotide sequences, the log correction is the Jukes-Cantor correction , where is average dissimilarity of positions across profiles. For amino acid sequences, FastTree uses an empirical log correction similar to that of scoredist [32] , , where is based on an amino acid dissimilarity matrix derived from the BLOSUM45 similarity matrix.

In FastMEterm, the above formula for the change in tree length is exactly correct because the changes in other branch lengthsterm in the tree can be expressed as combinations of distances that cancel each other out [26] . In FastTree, however, the formula for the change in tree length is an approximation, because the log-corrected distances do not cancel in this way. Nevertheless, FastTree with NNIs and FastMEterm with NNIs give very similar results [2] , and computing the exact change in total tree length does not improve the accuracy of FastTree's SPRs (data not shown).

The Maximum-Likelihood Phase The key data structures for the maximum likelihoodterm·def phase are the tree topologyterm, the branch lengthsterm, and the posterior distributionsterm for each internal node. (FastTree stores the tree with a trifurcation at the root, but the placement of the root is not biologically meaningful and does not affect the likelihoodterm [5] .) The posterior distributionterm·def for an internal node describes the state of the corresponding ancestor, given the branch lengthsterm and the sequences beneath it. For example, for nucleotide data, it stores the probability that a given site was an A, C, G, or T. FastTree stores posterior distributionsterm for internal nodes (not for the root), and they require O( ) space each, where is the alignment's length and is the number of characters in the alphabet.

The key primitive operations are (1) to compute the joint likelihoodterm of two posterior distributionsterm, given the length between them, and (2) to compute the posterior distributionterm·def of a parent node given the posterior distributionsterm of its two children and their two branch lengthsterm. These suffice to compute the likelihoodterm of the tree [5] : for example, the likelihoodterm of the tree (A,B,(C,D)) is where AB and CD are posterior distributionsterm.

At the beginning of the ML phase, we have a minimum-evolutionterm topologyterm and branch lengthsterm. The steps for the maximum-likelihood phase are: Compute an approximate posterior distributionterm·def for each node, using the weighted averages of its children. Although the initial posterior distributionsterm are approximate, all future changes to the topologyterm or to the branch lengthsterm will update the posterior distributionsterm to their exact values.

Optimize all branch lengthsterm for one round, using a simplified model with no parameters (without CATterm, and with Jukes-Cantor instead of GTR if GTR was requested).

Perform one round of ML NNIs, using the simplified model.

If the GTR modelterm is being used, optimize the nucleotide transition rate parameters, switch from Jukes Cantorterm to the GTR modelterm and recompute posterior distributionsterm, and optimize all branch lengthsterm for one round with the new model.

If the CATterm model is being used, estimate rate categoriesterm for each site, recompute posterior distributionsterm, and optimize all branch lengthsterm for one round with the new model.

Perform additional rounds of ML NNIs, with subtree skippingterm and the star topologyterm test.

Perform a final round of ML NNIs without subtree skippingterm or the star topologyterm test.

Optimize all branch lengthsterm for one round.

Compute SH-like local supportterm·def values.

A round of ML NNIs During each round of NNIs, FastTree visits each node before it visits its parents (depth-first post-order traversal). At each node, it compares the likelihoodterm of the trees , , and , where A and B are its children, C is its sibling, and D is the rest of the tree. During this process, FastTree uses the posterior distributionsterm (or sequences) for A, B, and C and an “up-posteriorterm” D, which represents the rest of the tree. More precisely, the up-posteriorterm D is the posterior distributionterm·def of the node's parent N, given all of the nodes that are not children of N (see Figure 3 ). These up-posteriorsterm can be thought of as a way to temporarily reroot the tree at the current location. In particular, the likelihoodterm of the tree can be computed from the posteriors A, B, C, and D.

Traversing a tree with up-posteriorsterm. FastTree optimizes the tree near node N by analyzing the posterior distributionsterm for subtrees A, B, and C, as well as the “up-posteriorterm” D.

The up-posteriorterm for a node can be computed from its parent's up-posteriorterm and its sibling's posterior distributionterm·def. FastTree only stores these up-posteriorsterm for the path to the root from its current location in the tree, so they take O( ) space, where is the maximum depth of the tree. Because FastTree always visits children before their parents, the posterior and up-posteriorterm distributions it uses are up to date, even as the topologyterm changes.

When it visits each node, for each of the three alternate topologies around the node, FastTree optimizes the branch lengthsterm to maximize the likelihoodterm. For the topologyterm , the five initial branch lengthsterm are set from the current tree. For the other topologies, the branch lengthsterm to A, B, C, and D are maintained, as is the internal branch lengthterm. Given a quartet (say ), FastTree first optimizes the branch lengthterm between AB and CD, and then the branch lengthterm leading to A, B, C, and D. FastTree optimizes each branch lengthterm to an accuracy of 0.0001 or 0.1%, whichever is greater. These five optimizations define a round of optimization for the quartet. Within a round of optimization, FastTree reuses some of the internal posterior distributionsterm: it needs posterior distributionsterm for AB and CD so that it can optimize the branch lengthterm between AB and CD, and then it needs posterior distributionsterm for BCD, ACD, the new posterior distributionterm·def for AB given the new branch lengthsterm to A and B, and finally ABD and ABC.

By default, FastTree optimizes the branch lengthsterm within all three quartet topologies for one round. Any topologyterm that is significantly (5 log-likelihood units) worse than the current topologyterm is abandoned after the first round. If more than one topologyterm remains, then the remaining topologies are optimized for another round. After the rounds of optimization are complete, FastTree updates the topologyterm if necessary. In either case, it updates the branch lengthsterm to the re-optimized values and recomputes the posterior distributionterm·def for the node.

A difference of 5 in log likelihoodterm may seem like a small difference, so that the heuristicterm might miss a good change to the topologyterm. However, optimization of branch lengthsterm after the first round usually leads to small improvements in the log likelihoodterm. For example, if we analyze 40 randomly selected 16S rRNAs with FastTree and the GTR+CATterm model, and we increase the rounds of branch length optimizationterm·var to 4 (-mlacc 4), then the average improvement for any NNI is just 1.1 log-likelihood units in the second round of branch lengthterm optimization and just 0.04 in rounds 3 and 4 combined. To put these numbers in perspective, differences in log-likelihood of less than 2 are not statistically significant ( , likelihoodterm ratio test), and NNIs with much larger changes in likelihoodterm are common. For the simulated alignments with 5,000 protein sequencesterm, always optimizing for two rounds improved accuracy by a negligible amount (0.03%) and increased the running timeterm·var by 23%.

Optimizing model parameters After the first round of NNIs, FastTree optimizes any parameters in the model. First, if the GTR modelterm is being used, there are six relative rates to optimize, one for each nucleotide conversion. (The stationary distribution for the transition matrix is set to the empirical frequency of the four nucleotides.) FastTree optimizes the likelihoodterm of the tree (with fixed branch lengthsterm and topologyterm) by numerically optimizing each of the six parameters in the model in turn. With each change in the model, it recomputes all posterior distributionsterm. It then optimizes the six parameters a second time. This does not fully optimize the model parameters, but it gives acceptable results ( Table 2 ).

Second, unless the -nocat option is set, FastTree estimates the rate of evolutionterm at each site. Given the desired number of categories of relative rates , FastTree selects values that are logarithmically spaced between and . By default, , and the relative rates range from 0.05 to 20. For each of these relative rates, FastTree recomputes all posterior distributionsterm and recalculates the log likelihoodterm of the tree at each site. FastTree then uses a Bayesian approachterm to select which rate to use at each site: FastTree maximizes , where is a gamma-distributed prior. To avoid overfitting, we made the prior more peaked than real rate variation in alignments: the prior has a shape parameter of 3, a scale parameter of 1/3, and a mean of 1. After choosing the rate categoriesterm, FastTree scales the rates so that the average rate across all sites is 1.0.

We confirmed that the Bayesian approachterm to setting the rate categoriesterm prevents overfitting on small alignments. For example, on simulated protein alignments with just 10 sequences (from [2] ), adding the CATterm model improves FastTree's accuracy from 76.2% to 78.0%. (For comparison, PhyMLterm without or SPRs was 74.4% accurate [2] .) Conversely, on nucleotide simulations with 24 sequences that (unrealistically) do not contain any rate variation across sites (the fast-evolving alignments of [12] ), the CATterm model only reduces accuracy slightly, from 93.6% to 93.4%. (For comparison, PhyMLterm without or SPRs was 93.6% accurate [2] .) Completing the ML NNIs In later rounds of NNIs, FastTree uses the more accurate model and it uses two additional heuristicsterm “subtree skippingterm” and the “star topologyterm test,” which are described below. As discussed in the Results , these heuristicsterm have little effect on accuracy.

If no NNI leads to an improvement of more than 0.1 in the likelihoodterm of any quartet, then FastTree considers the NNIs to have converged. FastTree repeats rounds of NNIs until convergenceterm·def, up to a limit of rounds, which takes O( ) time. This is the slowest part of the ML phase. The limit on rounds ensures a predictable running timeterm·var, but FastTree usually converges before reaching the limit, even for huge alignments such as 237,882 16S rRNA sequences. We chose a limit so that a misplaced subtree could move all the way across a (roughly balanced) tree, and the factor of 2 is an arbitrary safety factor.

After convergenceterm·def, FastTree does one final round of ML NNIs with the subtree skippingterm and the star topologyterm test turned off, as in the first round. We view this as a safety valve for the heuristicsterm. Finally, FastTree does a final round of optimizing the branch lengthsterm and computes the SH-like local supportsterm·def.

Subtree skippingterm The intuition behind subtree skippingterm is that if a subtree has not changed during recent rounds of NNIs, then further attempts to optimize the subtree will be fruitless. Specifically, during ML NNIs, FastTree does not traverse into subtrees that have not seen any significant improvement in likelihoodterm (0.1 log likelihoodterm units) in either of the previous two rounds. Before skipping a subtree, FastTree also checks that none of the nodes adjacent to the parent node were affected by a significantly improving NNI in the previous round. The “subtree skippingterm” heuristicterm typically gives a 3-fold speedup, making it the most important of FastTree's ML heuristicsterm. Subtree skippingterm might be useful for SPR moves as well.

Star topologyterm test If the current topologyterm (A,B,(C,D)) is much better than the star topologyterm (A,B,C,D) then an NNI is unlikely to give an improvement. Specifically, if the current topologyterm is significantly (5 log-likelihood units) more likely than the star topologyterm (after optimizing the internal branch lengthterm), then FastTree does not optimize the other branch lengthsterm or consider the two alternate topologies. However, FastTree only uses this heuristicterm if the node that was unchanged in the last round of NNIs. To approximate the likelihoodterm of the star topologyterm, FastTree uses the likelihoodterm with the minimal internal branch lengthterm of 0.0001.

Branch lengthsterm To optimize all branch lengthsterm in the tree at the beginning and end of the ML phase and after optimizing the model parameters, FastTree again uses post-order traversal. At each node, it considers a three-node star topologyterm on the node's children and parent, using the posterior distributionsterm for the two children and the up-posteriorterm for itself. (At the root, it uses all three children instead.) It numerically optimizes these three branch lengthsterm in series for two rounds.

SH-like local supportsterm·def For each node, the local support is derived from the per-site likelihoodsterm for the current topologyterm and the two alternate (NNI) topologies. For the current topologyterm, FastTree uses the current (already optimized) branch lengthsterm. For the alternate topologies, FastTree optimizes branch lengthsterm for the quartets, as during the NNIs, for up to two rounds. Given the per-site likelihoodsterm for the three topologies, FastTree uses the SH testterm with 1,000 bootstrapterm replicates to estimate the confidence in the given split [19] . If there are poorly resolved nodes nearby, then the support values should be interpreted cautiously, because a high-likelihood alternate topologyterm might not have been considered.

Low-level optimization of likelihoodterm computations Whereas RAxMLterm stores likelihood vectorsterm (that is, the joint likelihoodterm of a subtree and of a given character at an internal node), FastTree stores posterior distributionsterm, which are normalized so that each site's values sum to 1. This may improve numerical stability for huge alignments. To reduce memoryterm·var usage, FastTree stores these vectors in single-precision floating pointterm. Log-likelihoods for the tree or for specific sites are stored with double precision.

Similar to RAxMLterm, FastTree stores the posterior distributionsterm in a rotated formterm, multiplied by the eigen-matrix of the transition matrix. (For the Jukes Cantorterm model, this is not necessary.) This reduces the time for likelihoodterm computations from O( ) per site to O( ), while leaving the cost of computing the posterior distributionterm·def at O( ) per site (but with a higher constant factor).

While computing the joint likelihoodterm for a pair of posterior distributionsterm, FastTree avoids performing a logarithm at every site by operating on likelihoodsterm instead of log likelihoodsterm. To prevent numerical underflow, FastTree rescales the likelihoodterm by a constant when necessary. It updates a separate (log-likelihood-based) counter whenever it does this. Similarly, when computing the tree's likelihoodterm at each site, for example while optimizing the rate categoriesterm, FastTree rescales each site's likelihoodterm if necessary after visiting each node.

FastTree uses SSE2 instructionsterm, a special feature of recent CPUs from Intel and AMD, to operate on 4 single-precision floating pointterm values with one instruction. This speeds up computations for protein alignments by up to 50% (data not shown).

Numerical optimization To find the parameters that optimize the likelihoodterm, FastTree uses Brent's methodterm, a numerical method that iteratively halves the interval it is searching within ( http://en.wikipedia.org/wiki/Brents_method ). Because Brent's methodterm only operates in one dimension, FastTree optimizes different parameters in turn, and then repeats the rounds of optimization (for example, it optimizes the first branch lengthterm, then the second, then the third, then repeats).

FastTree estimates the initial interval to search within from the initial guess (e.g., the previous length of the branch) and alternate values and . If is below the minimum value, it uses the minimum, , and instead. If the initial guess does not bracket the minimum (that is, the middle value is not better than the two endpoints), then FastTree expands the search interval until it does. However, the small interval is usually adequate. FastTree also terminates optimization if the parameter changes by a small amount or by a small proportion. Together, these modifications eliminate about a third of the evaluations of the likelihoodterm.

Biological and Simulated Alignments The simulated protein alignments and the genuine COG alignments were described previously [2] . The 16S alignment with 237,882 distinct sequences was taken from GreenGenes [33] ( http://greengenes.lbl.gov ). The 16S alignment with 15,011 distinct “families” is a non-redundant subset of these sequences ( identical). 16S alignments with 500 sequences are also non-redundant random subsets ( identical). Other large 16S alignments are from [11] .

For the 16S-like simulations with 78,132 distinct sequences, we used a maximum-likelihood tree inferred from a non-redundant aligned subset of the full set of 16S sequences ( % identity) by an earlier version of FastTree (1.9) with the Jukes-Cantor model (no CATterm). To ensure that the simulated trees were resolvable, which facilitates comparison of methods (but inflates the accuracy of all methods), branch lengthsterm of less than 0.001 were replaced with values of 0.001, which corresponds to roughly one substitution across the internal branch, as the 16S alignment has 1,287 positions. Evolutionary rates for each site were randomly selected from 16 rate categoriesterm according to a gamma distributionterm with a coefficient of variation of 0.7. Given the tree and the rates, sequences were simulated with Rose [34] under the HKY model and no transition bias. To allow Rose to handle branch lengthsterm of less than 1%, we set “MeanSubstitution = 0.00134” and multiplied the branch lengthsterm by 1,000.

Software Used We used FastTree 2term.0.0. We used the July 6 2009 release of the PhyMLterm 3.0 source code and modified BL_MIN from 1.e-10 to 1.e-8 to overcome numerical problems with some of the simulated protein alignments, as suggested by Stepháne Guindon. FastMEterm 2.06 was provided by Olivier Gascuel. RAxMLterm 7.0.4 and 7.2.1 were obtained from the author's web sites. RAxMLterm 7.2.1 was compiled with SSE instructions. NINJA was provided by Travis Wheeler and is available at http://nimbletwist.com/software/ninja/ . BIONJ was obtained from http://www.lirmm.fr/~w3ifa/MAAS/BIONJ/BIONJ.c . BIONJ was run with maximum-likelihood distances obtained with phylip's protdist ( http://evolution.genetics.washington.edu/phylip.htm ) and the JTT model (no gamma). Log-corrected distances were obtained with FastTree and the -makematrix option.

Supporting Information Branch lengthsterm for an alignment of 200 16S rRNA sequences vary systematically with the Γ approximation used. The CATterm lengths are from FastTree, and all Γ branch lengthsterm are from PhyMLterm with FastTree's topologyterm and with optimized shape parameters. The top panel shows that branch lengthsterm from the various models have a roughly linear relationship with each other, but they have different scales. The bottom panel shows how the total length of the tree varies with the number of categories (note log χ axis). The “Use Median” lengths are from running PhyMLterm with –use_median, which uses the median of each region, rather than the mean, to approximate the gamma distributionterm. The “Corrected” lengths are the “Use Median” lengths multiplied by the average posterior rates, which can be obtained by running PhyMLterm with –print_site_lnl (thanks to Stepháne Guindon for pointing this out). The corrected lengths converge to the correct value much more quickly than the other rates. The “CATterm/Gamma” tree length, from FastTree 2term.1 with -gamma, is also reasonably accurate. With this option, FastTree 2term.1 optimizes the Γ 20 likelihoodterm with a shape parameter and a rescaling parameter, using the site likelihoodsterm from FastTree's 20 relative rates and branch lengthsterm that were optimized under the CATterm model.

(0.13 MB PS) Click here for additional data file.

Total Splits or Strongly Supportedterm Splits that Disagree with RAxMLterm's Final Tree, versus Time. The 16S tree has 4,111 splits and the COG trees have 2,497 splits each. All values for the COG trees are averages over the 7 COGs.

(0.02 MB PS) Click here for additional data file.

Times and likelihoodsterm for large 16S rRNA alignments (0.02 MB PDF) Click here for additional data file.

Interpretive notes.
• Highlighted spans are tagged entities: persName (author), title (venue), placeName (place), date (year), and term (a key concept: domain / ai / method).
• Eponymous or retrospective terms (e.g. “Nash equilibrium”, “segregation”) do not appear in the original source and so are not highlighted — a deliberate choice (see Report 4).
• Some entries begin with a word in capitals. EVIDENCE CORRECTED means the finding still stands and it was our quotation that was wrong — it has been replaced. RETRACTED means the entry itself was wrong; it stays on the page, marked, with its reason, rather than being deleted. WITHDRAWN AND REPLACED means a corrected version of it appears in the entries below. Each mark carries its own reason, because the reasons differ from one entry to the next. An entry we have WITHDRAWN is removed from this page and kept in the record, with its reason. A line reading Audit and a date is a later re-reading of the entry against its whole sentence: DOUBTFUL means it was kept, and the reason says what is loose about it.
• Quotation marks inside the tagger's sentence. Where a tag is the tagger's own sentence, a phrase in quotation marks inside it is borrowed from the paper — the tagger's wording around it is not. The paper's own sentence is the evidence quote shown on the same row, so the borrowing can be checked against the thing borrowed from without leaving this page. Nothing inside quotation marks anywhere on this page is ours: if it is quoted, it is the paper's. Whose words a concept carries. A concept entry records a term the paper itself uses, so the term, the sense given for it, and its evidence are the paper's own words, quoted where the paper fixes them. This is the opposite of a sense entry in the tag table, which is the tagger's sentence about how the paper uses a term. Where a concept entry could not be grounded in the paper's words, the entry says so on its own row.
• Counts: 1 work · 1 date.
Meta-Tagging Project · record price2010-fasttree-approximately-maximum-likelihood-trees.
© 2026 Shir Sivroni