IQ-TREE version 1.6.9

Dec 20, 2018 Release


  • IMPORTANT: Incorrect AU test p-values with partition models, introduced in v1.6.8 (reported by Ales Bucek).
  • Crash in ModelFinder when having codon partitions with different genetic codes (reported by Morgan Jackson).
  • Crash with multiple runs option (--runs) and -bnni (reported by Vanessa Vera Fain).

Other changes:

  • Better error checking for nexus partition file to prevent mis-specifying comma and semi-colon (reported by Denis Jacob Machado).
  • Safe writing checkpoint file via a temporary file (reported by Giuseppe Aprea and thanks Heiko).
  • -rcluster-max activates relaxed clustering algorithm without having to specify -rcluster.
  • --no-outfiles suppress .treefile as expected (reported by Cecile Ane).
Download latest version 1.6.9

IQ-TREE version 1.6.8

Oct 28, 2018 Release

Important change:


  • Crash with model selection for mixed data type (reported by Paul Frandsen).
  • Crash with model selection when partitions <= 2 (reported by Michele Leocadio).
  • Reading non-reversible models from file.
  • Error message “A taxon has no name” to “Redundant double-bracket”.
Download version 1.6.8 from GitHub

IQ-TREE version

Sep 7, 2018 Release

  • Show more precision in log likelihood with --show-lh (thanks Benjamin Redelings)
  • Reimplement -tina and -st MULTI option (requested by Ingo Ebersberger)


  • Crash at the end with --runs and partition model (reported by David Maddison)
Download version from GitHub

IQ-TREE version 1.6.7

Aug 23, 2018 Release

Important changes:

  • Temporarily disable AU test due to unresolved numerical issue when bp-rell are all zeros.


  • Checkpointing issue in ModelFinder for mixture models causing incorrect likelihoods with e.g. -madd C10 (reported by Juergen Strassert).
  • Checkpointing Lie Markov models.
  • (v1.6.6) Incomplete parsing of site positions of partition file (reported by Alexey Kozlov).
  • Parsing polymorphic states from NEXUS file (reported by Steven Heritage).
  • Use of only 1 thread when #partitions < #cores (reported by Alexey Kozlov).
  • Double RAM usage for -bnni option (reported by Juergen Strassert).
  • Over-bound for optimizeTreeLengthScaling causing too long branch lengths in extreme cases (reported by vikaszsi77).
  • Exclude ORDERED model by default for morphological data due to frequent numerical underflow.
  • (v1.6) -m ..MERGE.. wrong concatenateAlignments with missing data (reported by David Dunchene).
  • Error message instead of crash when using -bsam with non-partition model (reported by Sarah Jensen).
Download version 1.6.7 from GitHub

IQ-TREE version 1.6.6

Jul 1, 2018 Release

This version contains a number of bugfixes and is highly recommended for all users.


  • Issue with internal tree node names changed from slash to underscore (reported by JP Flandrois).
  • Wrong FREQ_UNKNOWN assertion with protein mixture models, e.g. LG4X (reported by Giddy Landan).
  • Disallow specifying both --runs with -lmap option (reported by Giap Nguyen).
  • Reading nexus polymorphic characters for non-DNA data (reported by a web user).
  • Amino-acid O (22nd amino-acid) is accepted as missing data (reported by Cuong Dang).
  • Negative initial free-rates in rare cases (reported by Paul Frandsen).
  • Memory leak in reading NEXUS alignment.
  • Crash with resampling strategy (-bsam) for standard bootstrap (-b) and jackknife (-j option).
  • Crash with standard bootstrap and partition merging (-m ...MERGE) (reported by Guoqing Li).
  • Wrong error with codon models and -t RANDOM (reported by Karen Meusemann).
  • Parsing error with blank chars in partition file (reported by David Maddison).
  • Freezing caused by old Intel OpenMP library (reported by David Maddison).
  • Too strict assertion about one applied NNI (reported by Karen Meusemann).
  • Error message when specifying mixture with GHOST model (reported by Anja Spang).
Download version 1.6.6 from GitHub

IQ-TREE version 1.6.5

May 8, 2018 Release


  • GTR20 protein model does not optimise rate parameters.
  • Replace odd characters in taxon names in tree file by underscore as done with alignment file (issue #31).
  • Replace odd characters in taxon names in cluster file by underscore (issue #54).
  • Crash with combination of bootstrap (-b option), partition model (-spp) and model testing (-m TEST) at the phase of analysing original alignment (reported by paul.madeira).
Download version 1.6.5 from GitHub

IQ-TREE version 1.6.4

Apr 30, 2018 Release


  • New option --runs to perform multiple tree searches (issue #64 requested by David Maddison). This is motivated by a recent evaluation (Zhou et al. 2018) showing that 10 independent runs outperformed single run in terms of likelihood maximisation.
  • Print branch lengths scaled in number of substitutions for PoMo models.
  • Support specifying 6 GTR rates and G-T rate to be zero from command line (requested by Ben Redelings).
  • New option --show-lh to compute tree log-likelihood without parameter optimisation (issue #67).


  • Fix compilation with gcc 4.8.
  • Incorrect parsing +P for PoMo model string (thanks Carolin Kosiol).
  • Issue #66: Incorrect frequency mixture model when coupled with GTR20 (reported by Dominik Schrempf).
  • .ufboot trees file contains partial branch supports by combination of -bb and -alrt (reported by Guifre Torruella Cortes).
  • Crash in likelihood computation for +ASC model when some states are rare (reported by Paul Madeira).
  • Numerical instability for codon models by reducing upper bound of omega/kappa from 100 to 50 (reported by Aleksas Lab).
  • Crash reading DNA model from file (reported by Benjamin Redelings).
  • Crash with -z option with rooted trees in the presence of identical sequences (reported by cjp1043).
Download version 1.6.4 from GitHub

IQ-TREE version 1.6.3

Mar 22, 2018 Release

This version improves software stability and highly recommended to update for all users.


  • Abort in ModelFinder when a user tree is supplied via -t option.
  • Erroneous message “leaves and taxa_set do not match” by rooted user tree (-t) and partition model (reported by Dieter Waechter).
  • Abort in ModelFinder by -sp option (edge-unlinked) and -mtree.
  • Error-checking partition with identical names.
  • Crash with rooted user trees via -z option.
  • Change ERROR about Too many iterations in tqli to WARNING.
  • Abort with combination of -nt AUTO and -mtree (reported by Mark Miller).
  • Crash with -bnni and -spp by temporarily turning on NNI5 instead of NNI1 (originally reported by Xiaofan).
  • Quitting by mixed data types (reported by Stephen Baca).
  • Crash with numerical underflow for lh-branch (reported by Karen Siu Ting).

New features:

  • -ntmax option to specify maximum number of threads by -nt AUTO option (requested by @sjspielman).
  • SH-aLRT test is now parallelised over multiple cores (requested by Heiner Kuhl).
  • Support GTR model for multistate data (requested by Sergio Andres Munoz Gomez).
  • Support jackknife with new option -j (requested by Emmanuel Toussaint).
  • New option -version to display version number (requested by David Maddison).
Download version 1.6.3 from GitHub

IQ-TREE version 1.6.2

Mar 1, 2018 Release


  • Fix a thread-unsafe bug during partition merging of ModelFinder (reported by Karen Meusemann and Marianne)
  • Fix infinite hanging by LG+C10 or similar models (reported by Craig Herbold)
  • Fix parsing -net option (reported by Cameron Weadick)
  • Fix error message for -fast and -bb

New features:

  • Support reading non-reversible protein Q matrix from a file.
  • New option --write-branches to write branch lengths of tree (and partition trees) into .branches.csv file (requested by Rob Lanfear)
  • Allow -o option to specify a comma-separated list of outgroup taxa (requested by Andrew Roger)
Download version 1.6.2 from GitHub

MPBoot: fast phylogenetic maximum parsimony tree inference and bootstrap approximation

Jan 1, 2018 Publication


MPBoot is an open-source and efficient program to reconstruct maximum parsimony phylogenetic trees for large DNA and protein sequence alignments. Importantly, MPBoot provides a fast approximation for maximum parsimony bootstrap, inspired by a similar methodology for maximum likelihood (Minh et al., 2013). If you use MPBoot in a paper please cite:

D.T. Hoang, L.S. Vinh, T. Flouri, A. Stamatakis, A. von Haeseler, and B.Q. Minh (2018) MPBoot: fast phylogenetic maximum parsimony tree inference and bootstrap approximation. BMC Evol. Biol., 18, 11.

For feedback or bug reports please post a question to the IQ-TREE forum:


Precomplied executables are provided for computers with SSE4 or AVX support:

  1. Extract the files (e.g., with tar xvzf mpboot-avx-1.1.0-Linux.tar.gz under Unix). This should create a directory mpboot-avx-1.1.0-Linux.
  2. You will find the executable mpboot or mpboot-avx in bin folder inside the extracted folder. You can rename it to mpboot and copy to your system search path such that you can invoke it by entering mpboot from the terminal.

Compilation from source code

In case you cannot find executables for your platforms or want to compile the source code:

  1. Download the source code or mpboot-1.1.0-Source.tar.gz. You can also get the latest code from
  2. Uncompress it.
  3. Create folder build in the uncompressed source code folder: mkdir build.
  4. Change directory to build: cd build.
  5. Run cmake:

  6. Replace sse4 by avx in above command if you decide to run MPBoot on AVX-supported machines.
  7. Run make.
  8. You will find the executable named mpboot (or mpboot-avx) once the make command is done.

Minimal command-line examples

(replace mpboot with actual path to executable)

  1. Reconstruct maximum parsimony tree from a sequence alignment (example.phy):

     mpboot -s example.phy
  2. Reconstruct MP tree and assess branch supports with the MPBoot method (1000 replicates):

     mpboot -s example.phy -bb 1000
  3. Display all usage options:

     mpboot -h

Input/output files

Input alignment file example.phy is in PHYLIP format. MPBoot also supports FASTA or NEXUS format.

Output files:

  • MPBoot report file: example.phy.mpboot
  • Maximum-parsimony tree file: example.phy.treefile
  • Split support values file: example.phy.splits.nex
  • Consensus tree file: example.phy.contree
  • Screen log file: example.phy.log

Available options

OptionUsage and meaning
-mulhitsStore multiple equally parsimonious trees per bootstrap replicate
-ratchet_iter Number of non-ratchet iterations before each ratchet iteration (default: 1)
-ratchet_wgt Weight to add to each site selected for perturbation during ratchet (default: 1)
-ratchet_percent Percentage of informative sites selected for perturbation during ratchet (default: 50)
-ratchet_offTurn of ratchet, i.e. Only use tree perturbation
-spr_rad Maximum radius of SPR (default: 6)
-cand_cutoff <#s>Use top #s percentile as cutoff for selecting bootstrap candidates (default: 10)
-opt_btree_offTurn off refinement step on the final bootstrap tree set
-nni_parsHill-climb by NNI instead of SPR
-cost Read for the square matrix of transition cost between character states. First line contains one integer implying the number of character states (denoted by N). Each of the following N lines comprises N integers implying the cost for transitioning between character states. For DNA, set N=4. For protein, set N=20.

Credits and Acknowledgement

The code was originally derived from the IQ-TREE software and the Phylogenetic likelihood library.

D.T. Hoang and L.S. Vinh were financially supported by Vietnam National Foundation for Science and Technology Development (Grant #102.01-2013.04). B.Q. Minh and A. von Haeseler were supported by the Austrian Science Fund (FWF I-2805-B29), T. Flouri and A. Stamatakis by the German Science Foundation (DFG STA860-6/1), and the Klaus Tschira Foundation.