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 latest version 1.6.7

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.

IQ-TREE version 1.6.1

Dec 29, 2017 Release


  • Memory unalignment in likelihood kernel when the number of states is odd (Thanks @vinuesa)
Download version 1.6.1 from GitHub

IQ-TREE version 1.6.0

Dec 23, 2017 Release

This is the major update of the IQ-TREE software for phylogenomic reconstruction.

IMPORTANT: The checkpoint file is no more compatible with 1.5.X, 1.6.betaX or earlier versions. An error message will be printed if you try to recover the run from old versions. Sequential and multicore versions are merged, thus iqtree-omp executable becomes iqtree.

Notable new features:

  • Polymorphism-aware models accounting for incomplete lineage sorting (code contributed by Dominik Schrempf).
  • Lie Markov and non-reversible models (code contributed by Michael Woodhams).
  • Heterotachy models accounting for rate variation across sites and lineages.
  • ModelFinder is redesigned to be more flexible. ModelFinder now supports edge-linked partition model selection. It also allows Lie Markov models, heterotachy (+H) models, PoMo models. ModelFinder now uses checkpoint file .model.gz to save space.
  • Xeon Phi Knights Landing (AVX-512) support with 2X or more speedup.
  • New option -fast to match the speed of FastTree program while still obtaining better trees.
  • New option -bnni to further optimize UFBoot trees by nearest neighbor interchange (NNI) directly on corresponding bootstrap alignments (UFBoot2+NNI).
  • New option -asr for ancestral sequence reconstruction written to .state file.
  • New option -rclusterf to perform fast relaxed clustering algorithm of PartitionFinder2.
  • New option -rcluster-max to limit maximum number of partition pairs for merging with rcluster algorithm.

New features:

  • New option -alninfo to print alignment sites statistics to .alninfo file (requested by Federico Gaiti).
  • For PMSF first fitting step: increase epsilon from 0.01 to 0.1, leading to 2x-3x speedup.
  • New option -czb to collapse zero branches, useful by bootstrapping with polytomy.
  • For standard bootstrap, branch lengths of consensus tree are now optimized on original alignment (requested by Tim).
  • Report mixture model component in .iqtree file if necessary (requested by Joran Martijn).
  • Three new mitochondrial protein matrices mtMet, mtVer, mtInv ( Code contributed by @cuongbb.
  • Support alignments in gzipped format.
  • -wql option now prints quartet area and corner in .quartetlh file (requested by Karen Meusemann).
  • Support GENE resampling (-bspec GENE) and GENESITE resampling (-bspec GENESITE) for standard bootstrap with partition models.

New features for PoMo models:

  • Allow PoMo plus Gamma rate model (+P+G).
  • Allow bootstrapping with PoMo.
  • Improved numerical stability.
Download version 1.6.0 from GitHub

IQ-TREE version 1.5.6

Dec 4, 2017 Release

This version improves software stability and contains bugfixes:

  • Improved numerical stability when some state is absent from the alignment, especially with codon or morphological data.
  • Allow reading morphological and codon model from file in PAML format.
  • -mset option works with binary and morphological models.


  • Bug for multifurcating tree with multithreading (reported by Filipe Romero).
  • Crash when number of partitions > 2^15 (reported by Adela RoaVaron).
  • In Windows: Exit gracefully instead of abort when input file does not exist.
  • Exit gracefully instead of segfault when log file cannot be written.
  • Crash when constraint tree contains identical sequence which was removed (reported by Russell Minton).
  • Exit gracefully instead of abort about too many threads for too short alignment.
  • Exit gracefully instead of abort when outgroup taxon (-o option) does not appear in alignment.
Download version 1.5.6 from GitHub