NAME
fasttree - create phylogenetic trees from alignments of nucleotide or protein sequencesDESCRIPTION
fasttree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences. It handles alignments with up to a million of sequences in a reasonable amount of time and memory.SYNOPSIS
fasttree protein_alignment > tree fasttree -nt nucleotide_alignment > tree fasttree -nt -gtr < nucleotide_alignment > tree fasttree accepts alignments in fasta or phylip interleaved formatsCommon options (must be before the alignment file):
-quiet
to suppress reporting information
-nopr
to suppress progress indicator
-log
logfile -- save intermediate trees, settings, and model details
-fastest
-- speed up the neighbor joining phase & reduce memory usage
- (recommended for >50,000 sequences)
-n
<number> to analyze multiple alignments (phylip format only)
- (use for global bootstrap, with seqboot and CompareToBootstrap.pl)
-nosupport
to not compute support values
-intree
newick_file to set the starting tree(s)
-intree1
newick_file to use this starting tree for all the alignments
- (for faster global bootstrap on huge alignments)
-pseudo
to use pseudocounts (recommended for highly gapped sequences)
-gtr
-- generalized time-reversible model (nucleotide alignments only)
-wag
-- Whelan-And-Goldman 2001 model (amino acid alignments only)
-quote
-- allow spaces and other restricted characters (but not ' characters)
in
- sequence names and quote names in the output tree (fasta input only; fasttree will not be able to read these trees back in
-noml
to turn off maximum-likelihood
-nome
to turn off minimum-evolution NNIs and SPRs
- (recommended if running additional ML NNIs with -intree)
-nome
-mllen with -intree to optimize branch lengths for a fixed
topology
-cat #
to specify the number of rate categories of sites (default 20)
- or -nocat to use constant rates
-gamma
-- after optimizing the tree under the CAT approximation,
- rescale the lengths to optimize the Gamma20 likelihood
-constraints
constraintAlignment to constrain the topology search
- constraintAlignment should have 1s or 0s to indicates splits
-expert
-- see more options
Detailed usage for fasttree 2.1.4 SSE3:
fasttree [-nt] [-n 100] [-quote] [-pseudo | -pseudo 1.0]- [-boot 1000 | -nosupport] [-intree starting_trees_file | -intree1 starting_tree_file] [-quiet | -nopr] [-nni 10] [-spr 2] [-noml | -mllen | -mlnni 10] [-mlacc 2] [-cat 20 | -nocat] [-gamma] [-slow | -fastest] [-2nd | -no2nd] [-slownni] [-seed 1253] [-top | -notop] [-topm 1.0 [-close 0.75] [-refresh 0.8]] [-matrix Matrix | -nomatrix] [-nj | -bionj] [-wag] [-nt] [-gtr] [-gtrrates ac ag at cg ct gt] [-gtrfreq A C G T] [ -constraints constraintAlignment [ -constraintWeight 100.0 ] ] [-log logfile]
- [ alignment_file ]
- > newick_tree
- [-n 100] > phylip_distance_matrix
- fasttree supports fasta or phylip interleaved alignments By default fasttree expects protein alignments, use -nt for nucleotides fasttree reads standard input if no alignment file is given
Input/output options:
-n
-- read in multiple alignments in. This only
- works with phylip interleaved format. For example, you can use it with the output from phylip's seqboot. If you use -n, fasttree will write 1 tree per line to standard output.
-intree
newickfile -- read the starting tree in from newickfile.
- Any branch lengths in the starting trees are ignored.
-intree
with -n will read a separate starting tree for each alignment.
-intree1
newickfile -- read the same starting tree for each alignment
-quiet
-- do not write to standard error during normal operation (no
progress
- indicator, no options summary, no likelihood values, etc.)
-nopr
-- do not write the progress indicator to stderr
-log
logfile -- save intermediate trees so you can extract
- the trees and restart long-running jobs if they crash -log also reports the per-site rates (1 means slowest category)
-quote
-- quote sequence names in the output and allow spaces, commas,
- parentheses, and colons in them but not ' characters (fasta files only)
Distances:
- Default: For protein sequences, log-corrected distances and an
- amino acid dissimilarity matrix derived from BLOSUM45
- or for nucleotide sequences, Jukes-Cantor distances To specify a different matrix, use -matrix FilePrefix or -nomatrix Use -rawdist to turn the log-correction off or to use %different instead of Jukes-Cantor
-pseudo
[weight] -- Use pseudocounts to estimate distances between
- sequences with little or no overlap. (Off by default.) Recommended if analyzing the alignment has sequences with little or no overlap. If the weight is not specified, it is 1.0
Topology refinement:
- By default, fasttree tries to improve the tree with up to 4*log2(N) rounds of minimum-evolution nearest-neighbor interchanges (NNI), where N is the number of unique sequences, 2 rounds of subtree-prune-regraft (SPR) moves (also min. evo.), and up to 2*log(N) rounds of maximum-likelihood NNIs. Use -nni to set the number of rounds of min. evo. NNIs, and -spr to set the rounds of SPRs. Use -noml to turn off both min-evo NNIs and SPRs (useful if refining
- an approximately maximum-likelihood tree with further NNIs)
- Use -sprlength set the maximum length of a SPR move (default 10) Use -mlnni to set the number of rounds of maximum-likelihood NNIs Use -mlacc 2 or -mlacc 3 to always optimize all 5 branches at each NNI,
- and to optimize all 5 branches in 2 or 3 rounds
- Use -mllen to optimize branch lengths without ML NNIs Use -mllen -nome with -intree to optimize branch lengths on a fixed topology Use -slownni to turn off heuristics to avoid constant subtrees (affects both
- ML and ME NNIs)
Maximum likelihood model options:
-wag
-- Whelan-And-Goldman 2001 model instead of (default)
Jones-Taylor-Thorton 1992 model (a.a. only)
-gtr
-- generalized time-reversible instead of (default) Jukes-Cantor (nt
only)
-cat #
-- specify the number of rate categories of sites (default 20)
-nocat
-- no CAT model (just 1 category)
-gamma
-- after the final round of optimizing branch lengths with the CAT
model,
- report the likelihood under the discrete gamma model with the same number of categories. fasttree uses the same branch lengths but optimizes the gamma shape parameter and the scale of the lengths. The final tree will have rescaled lengths. Used with -log, this also generates per-site likelihoods for use with CONSEL, see GammaLogToPaup.pl and documentation on the fasttree web site.
Support value options:
- By default, fasttree computes local support values by resampling the site likelihoods 1,000 times and the Shimodaira Hasegawa test. If you specify -nome, it will compute minimum-evolution bootstrap supports instead In either case, the support values are proportions ranging from 0 to 1
- Use -nosupport to turn off support values or -boot 100 to use just 100 resamples Use -seed to initialize the random number generator
Searching for the best join:
- By default, fasttree combines the 'visible set' of fast neighbor-joining with
- local hill-climbing as in relaxed neighbor-joining
-slow
-- exhaustive search (like NJ or BIONJ, but different gap
handling)
-slow
takes half an hour instead of 8 seconds for 1,250 proteins
-fastest
-- search the visible set (the top hit for each node) only
- Unlike the original fast neighbor-joining, -fastest updates visible(C) after joining A and B if join(AB,C) is better than join(C,visible(C)) -fastest also updates out-distances in a very lazy way, -fastest sets -2nd on as well, use -fastest -no2nd to avoid this
Top-hit heuristics:
- By default, fasttree uses a top-hit list to speed up search Use -notop (or -slow) to turn this feature off
- and compare all leaves to each other, and all new joined nodes to each other
-topm
1.0 -- set the top-hit list size to parameter*sqrt(N)
- fasttree estimates the top m hits of a leaf from the top 2*m hits of a 'close' neighbor, where close is defined as d(seed,close) < 0.75 * d(seed, hit of rank 2*m), and updates the top-hits as joins proceed
-close
0.75 -- modify the close heuristic, lower is more conservative
-refresh
0.8 -- compare a joined node to all other nodes if its
- top-hit list is less than 80% of the desired length, or if the age of the top-hit list is log2(m) or greater
-2nd
or -no2nd to turn 2nd-level top hits heuristic on or off
- This reduces memory usage and running time but may lead to marginal reductions in tree quality. (By default, -fastest turns on -2nd.)
Join options:
-nj:
regular (unweighted) neighbor-joining (default)
-bionj:
weighted joins as in BIONJ
- fasttree will also weight joins during NNIs
Constrained topology search options:
-constraints
alignmentfile -- an alignment with values of 0, 1, and -
- Not all sequences need be present. A column of 0s and 1s defines a constrained split. Some constraints may be violated (see 'violating constraints:' in standard error).
-constraintWeight
-- how strongly to weight the constraints. A value of 1
- means a penalty of 1 in tree length for violating a constraint Default: 100.0
- or the comments in the source code
- fasttree protein_alignment > tree fasttree -nt nucleotide_alignment > tree fasttree -nt -gtr < nucleotide_alignment > tree
Common options (must be before the alignment file):
-quiet
to suppress reporting information
-nopr
to suppress progress indicator
-log
logfile -- save intermediate trees, settings, and model details
-fastest
-- speed up the neighbor joining phase & reduce memory usage
- (recommended for >50,000 sequences)
-n
<number> to analyze multiple alignments (phylip format only)
- (use for global bootstrap, with seqboot and CompareToBootstrap.pl)
-nosupport
to not compute support values
-intree
newick_file to set the starting tree(s)
-intree1
newick_file to use this starting tree for all the alignments
- (for faster global bootstrap on huge alignments)
-pseudo
to use pseudocounts (recommended for highly gapped sequences)
-gtr
-- generalized time-reversible model (nucleotide alignments only)
-wag
-- Whelan-And-Goldman 2001 model (amino acid alignments only)
-quote
-- allow spaces and other restricted characters (but not ' characters)
in
- sequence names and quote names in the output tree (fasta input only; fasttree will not be able to read these trees back in
-noml
to turn off maximum-likelihood
-nome
to turn off minimum-evolution NNIs and SPRs
- (recommended if running additional ML NNIs with -intree)
-nome
-mllen with -intree to optimize branch lengths for a fixed
topology
-cat #
to specify the number of rate categories of sites (default 20)
- or -nocat to use constant rates
-gamma
-- after optimizing the tree under the CAT approximation,
- rescale the lengths to optimize the Gamma20 likelihood
-constraints
constraintAlignment to constrain the topology search
- constraintAlignment should have 1s or 0s to indicates splits
-expert
-- see more options
For more information, see http://www.microbesonline.org/fasttree/June 2012 | Lawrence Berkeley National Lab |