IQTREE2-MPI(1)

πŸ’– IQTREE2-MPI β€” the manual page, but make it make sense πŸ’–

okay bestie, this is iqtree2-mpi(1), aka the multiprocessor version of IQ-TREE2 β€” efficient phylogenetic software by maximum likelihood 🧬✨. It lives in the User Commands section of the manual, and it's lowkey a whole queen. Sit down, hydrate, and let's read her together 🫢


🌸 NAME 🌸

iqtree2-mpi β€” efficient phylogenetic software by maximum likelihood, but make it multiprocessor πŸ’… (that's the MPI version, iykyk).


✨ SYNOPSIS ✨

iqtree [-s ALIGNMENT] [-p PARTITION] [-m MODEL] [-t TREE] ...

yes bestie, that's the whole vibe. Options go in, trees come out 🌳


πŸ‘‘ DESCRIPTION πŸ‘‘

This is IQ-TREE MPI multicore version 2.4.0 for Linux x86 64-bit, built Jul 28 2026 πŸ—“οΈπŸŒΈ

Developed by Bui Quang Minh, Nguyen Lam Tung, Olga Chernomor, Heiko Schmidt, Dominik Schrempf, Michael Woodhams, Ly Trong Nhan, Thomas Wong β€” absolute icons, no cap πŸ‘‘

πŸŽ€ GENERAL OPTIONS: πŸŽ€

  • -h, --help β€” prints (even more) help usages, like she's not done explaining herself
  • -s FILE[,...,FILE] β€” your PHYLIP/FASTA/NEXUS/CLUSTAL/MSF alignment file(s) πŸ’–
  • -s DIR β€” a whole directory of alignment files
  • --seqtype STRING β€” pick your type: BIN, DNA, AA, NT2AA, CODON, MORPH (default: auto-detect, she'll figure it out herself)
  • -t FILE|PARS|RAND β€” starting tree (default: 99 parsimony and BIONJ)
  • -o TAX[,...,TAX] β€” outgroup taxon (or a whole list of them) for writing .treefile
  • --prefix STRING β€” prefix for all output files (default: aln/partition)
  • --seed NUM β€” random seed number, normally used for debugging purposes πŸ”
  • --safe β€” safe likelihood kernel, so you don't get numerical underflow (she's being careful πŸ₯Ί)
  • --mem NUM[G|M|%] β€” maximal RAM usage in GB | MB | % 🧠
  • --runs NUM β€” number of independent runs (default: 1)
  • -v, --verbose β€” verbose mode, prints more messages to screen (she's a talker πŸ’¬)
  • -V, --version β€” display version number
  • --quiet β€” quiet mode, suppresses printing to screen (stdout) 🀫
  • -fconst f1,...,fN β€” add constant patterns into alignment (N = no. states)
  • --epsilon NUM β€” likelihood epsilon for parameter estimate (default 0.01)
  • -T NUM|AUTO β€” no. cores/threads, or AUTO-detect (default: 1) πŸ”₯
  • --threads-max NUM β€” max number of threads for -T AUTO (default: all cores)

🧚 CHECKPOINT: 🧚

  • --redo β€” redo both ModelFinder and tree search
  • --redo-tree β€” restore ModelFinder and only redo the tree search
  • --undo β€” revoke finished run, used when changing some options
  • --cptime NUM β€” minimum checkpoint interval (default 60 sec and adapt)

πŸ¦‹ PARTITION MODEL: πŸ¦‹

  • -p FILE|DIR β€” NEXUS/RAxML partition file, or a directory with alignments. Edge-linked proportional partition model πŸ’«
  • -q FILE|DIR β€” like -p but edge-linked equal partition model
  • -Q FILE|DIR β€” like -p but edge-unlinked partition model
  • -S FILE|DIR β€” like -p but separate tree inference
  • --subsample NUM β€” randomly sub-sample partitions (negative for complement)
  • --subsample-seed NUM β€” random number seed for --subsample

🌈 LIKELIHOOD/QUARTET MAPPING: 🌈

  • --lmap NUM β€” number of quartets for likelihood mapping analysis
  • --lmclust FILE β€” NEXUS file containing clusters for likelihood mapping
  • --quartetlh β€” print quartet log-likelihoods to .quartetlh file

🌳 TREE SEARCH ALGORITHM: 🌳

  • --ninit NUM β€” number of initial parsimony trees (default: 100)
  • --ntop NUM β€” number of top initial trees (default: 20)
  • --nbest NUM β€” number of best trees retained during search (default: 5)
  • -n NUM β€” fix number of iterations to stop (default: OFF)
  • --nstop NUM β€” number of unsuccessful iterations to stop (default: 100)
  • --perturb NUM β€” perturbation strength for randomized NNI (default: 0.5)
  • --radius NUM β€” radius for parsimony SPR search (default: 6)
  • --allnni β€” perform more thorough NNI search (default: OFF) β€” she's thorough πŸ’…
  • -g FILE β€” (multifurcating) topological constraint tree file
  • --fast β€” fast search to resemble FastTree
  • --polytomy β€” collapse near-zero branches into polytomy
  • --tree-fix β€” fix the -t tree (no tree search performed)
  • --treels β€” write locally optimal trees into .treels file
  • --show-lh β€” compute tree likelihood without optimisation
  • --terrace β€” check if the tree lies on a phylogenetic terrace 🏞️

πŸ’– ULTRAFAST BOOTSTRAP/JACKKNIFE: πŸ’–

  • -B, --ufboot NUM β€” replicates for ultrafast bootstrap (>= 1000)
  • -J, --ufjack NUM β€” replicates for ultrafast jackknife (>= 1000)
  • --jack-prop NUM β€” subsampling proportion for jackknife (default: 0.5)
  • --sampling STRING β€” GENE|GENESITE resampling for partitions (default: SITE)
  • --boot-trees β€” write bootstrap trees to .ufboot file (default: none)
  • --wbtl β€” like --boot-trees but also writing branch lengths
  • --nmax NUM β€” maximum number of iterations (default: 1000)
  • --nstep NUM β€” iterations for UFBoot stopping rule (default: 100)
  • --bcor NUM β€” minimum correlation coefficient (default: 0.99)
  • --beps NUM β€” RELL epsilon to break tie (default: 0.5)
  • --bnni β€” optimize UFBoot trees by NNI on bootstrap alignment

πŸ“ NON-PARAMETRIC BOOTSTRAP/JACKKNIFE: πŸ“

  • -b, --boot NUM β€” replicates for bootstrap + ML tree + consensus tree
  • -j, --jack NUM β€” replicates for jackknife + ML tree + consensus tree
  • --jack-prop NUM β€” subsampling proportion for jackknife (default: 0.5)
  • --bcon NUM β€” replicates for bootstrap + consensus tree
  • --bonly NUM β€” replicates for bootstrap only
  • --tbe β€” transfer bootstrap expectation

πŸ”₯ SINGLE BRANCH TEST: πŸ”₯

  • --alrt NUM β€” replicates for SH approximate likelihood ratio test
  • --alrt 0 β€” parametric aLRT test (Anisimova and Gascuel 2006)
  • --abayes β€” approximate Bayes test (Anisimova et al. 2011)
  • --lbp NUM β€” replicates for fast local bootstrap probabilities

πŸ’… MODEL-FINDER: πŸ’…

  • -m TESTONLY β€” standard model selection (like jModelTest, ProtTest)
  • -m TEST β€” standard model selection followed by tree inference
  • -m MF β€” extended model selection with FreeRate heterogeneity
  • -m MFP β€” extended model selection followed by tree inference
  • -m ...+LM β€” additionally test Lie Markov models
  • -m ...+LMRY β€” additionally test Lie Markov models with RY symmetry
  • -m ...+LMWS β€” additionally test Lie Markov models with WS symmetry
  • -m ...+LMMK β€” additionally test Lie Markov models with MK symmetry
  • -m ...+LMSS β€” additionally test strand-symmetric models
  • --mset STRING β€” restrict search to models supported by other programs (raxml, phyml, mrbayes, beast1 or beast2)
  • --mset STR,... β€” comma-separated model list (e.g. -mset WAG,LG,JTT)
  • --msub STRING β€” amino-acid model source (nuclear, mitochondrial, chloroplast or viral)
  • --mfreq STR,... β€” list of state frequencies
  • --mrate STR,... β€” list of rate heterogeneity among sites (e.g. -mrate E,I,G,I+G,R is used for -m MF)
  • --cmin NUM β€” min categories for FreeRate model [+R] (default: 2)
  • --cmax NUM β€” max categories for FreeRate model [+R] (default: 10)
  • --merit AIC|AICc|BIC β€” Akaike|Bayesian information criterion (default: BIC)
  • --mtree β€” perform full tree search for every model
  • --madd STR,... β€” list of mixture models to consider
  • --mdef FILE β€” model definition NEXUS file (see Manual)
  • --modelomatic β€” find best codon/protein/DNA models (Whelan et al. 2015)

🧬 PARTITION-FINDER: 🧬

  • --merge β€” merge partitions to increase model fit
  • --merge greedy|rcluster|rclusterf β€” set merging algorithm (default: rclusterf)
  • --merge-model 1|all β€” use only 1 or all models for merging (default: 1)
  • --merge-model STR,... β€” comma-separated model list for merging
  • --merge-rate 1|all β€” use only 1 or all rate heterogeneity (default: 1)
  • --merge-rate STR,... β€” comma-separated rate list for merging
  • --rcluster NUM β€” percentage of partition pairs for rcluster algorithm
  • --rclusterf NUM β€” percentage of partition pairs for rclusterf algorithm
  • --rcluster-max NUM β€” max number of partition pairs (default: 10*partitions)

🌟 SUBSTITUTION MODEL 🌟

πŸŽ€ the -m flag herself

  • -m STRING β€” model name string (e.g. GTR+F+I+G)

and now, bestie, the model menu. it's giving Cheesecake Factory menu. every single one is here πŸ‘‡

🌸 DNA:

HKY (default), JC, F81, K2P, K3P, K81uf, TN/TrN, TNef, TIM, TIMef, TVM, TVMef, SYM, GTR, or a 6-digit model specification (e.g., 010010 = HKY)

πŸ₯š Protein:

LG (default), Poisson, cpREV, mtREV, Dayhoff, mtMAM, JTT, WAG, mtART, mtZOA, VT, rtREV, DCMut, PMB, HIVb, HIVw, JTTDCMut, FLU, Blosum62, GTR20, mtMet, mtVer, mtInv, FLAVI,

Q.LG, Q.pfam, Q.pfam_gb, Q.bird, Q.mammal, Q.insect, Q.plant, Q.yeast

🧁 Protein mixture:

C10,...,C60, EX2, EX3, EHO, UL2, UL3, EX_EHO, LG4M, LG4X

πŸŽ€ Binary:

JC2 (default), GTR2

πŸ”¬ Empirical codon:

KOSI07, SCHN05

πŸ§ͺ Mechanistic codon:

GY (default), MG, MGK, GY0K, GY1KTS, GY1KTV, GY2K, MG1KTS, MG1KTV, MG2K

✨ Semi-empirical codon:

XX_YY where XX is empirical and YY is mechanistic model

🌱 Morphology/SNP:

MK (default), ORDERED, GTR

πŸ‘‘ Lie Markov DNA:

1.1, 2.2b, 3.3a, 3.3b, 3.3c, 3.4, 4.4a, 4.4b, 4.5a, 4.5b, 5.6a, 5.6b, 5.7a, 5.7b, 5.7c, 5.11a, 5.11b, 5.11c, 5.16, 6.6, 6.7a, 6.7b, 6.8a, 6.8b, 6.17a, 6.17b, 8.8, 8.10a, 8.10b, 8.16, 8.17, 8.18, 9.20a, 9.20b, 10.12, 10.34, 12.12 (optionally prefixed by RY, WS or MK)

πŸ’€ Non-reversible:

STRSYM (strand symmetric model, equiv. WS6.6), NONREV, UNREST (unrestricted model, equiv. 12.12), NQ.pfam, NQ.bird, NQ.mammal, NQ.insect, NQ.plant, NQ.yeast

πŸ™ˆ Otherwise:

Name of file containing user-model parameters


πŸŽ€ STATE FREQUENCY πŸŽ€

  • -m ...+F β€” empirically counted frequencies from alignment
  • -m ...+FO β€” optimized frequencies by maximum-likelihood
  • -m ...+FQ β€” equal frequencies
  • -m ...+FRY β€” for DNA, freq(A+G)=1/2=freq(C+T)
  • -m ...+FWS β€” for DNA, freq(A+T)=1/2=freq(C+G)
  • -m ...+FMK β€” for DNA, freq(A+C)=1/2=freq(G+T)
  • -m ...+Fabcd β€” 4-digit constraint on ACGT frequency (e.g. +F1221 means f_A=f_T, f_C=f_G)
  • -m ...+FU β€” amino-acid frequencies given protein matrix
  • -m ...+F1x4 β€” equal NT frequencies over three codon positions
  • -m ...+F3x4 β€” unequal NT frequencies over three codon positions

πŸ¦‹ RATE HETEROGENEITY AMONG SITES πŸ¦‹

  • -m ...+I β€” a proportion of invariable sites
  • -m ...+G[n] β€” discrete Gamma model with n categories (default n=4)
  • -m ...*G[n] β€” discrete Gamma model with unlinked model parameters
  • -m ...+I+G[n] β€” invariable sites plus Gamma model with n categories
  • -m ...+R[n] β€” FreeRate model with n categories (default n=4)
  • -m ...*R[n] β€” FreeRate model with unlinked model parameters
  • -m ...+I+R[n] β€” invariable sites plus FreeRate model with n categories
  • -m ...+Hn β€” Heterotachy model with n classes
  • -m ...*Hn β€” the heterotachy model, bestie, with n classes and parameters that are unlinked. Like, each class is living its own independent life πŸ¦‹
  • --alpha-min NUM β€” smallest Gamma shape parameter allowed for site rates (default: 0.02)
  • --gamma-median β€” use the median approximation for +G site rates (default is the mean, jsyk)
  • --rate β€” write the empirical Bayesian site rates out to a .rate file πŸ“
  • --mlrate β€” write the maximum likelihood site rates out to a .mlrate file ✨

🧬 POLYMORPHISM AWARE MODELS (PoMo) πŸ’…

  • -s FILE β€” the input counts file (see the manual, iykyk)
  • -m ...+P β€” a DNA substitution model (the ones from up above) used together with PoMo
  • -m ...+N<POPSIZE> β€” virtual population size (default: 9)
  • -m ...+WB|WH|S] β€” weighted binomial sampling
  • -m ...+WH β€” weighted hypergeometric sampling
  • -m ...+S β€” sampled sampling
  • -m ...+G[n] β€” discrete Gamma rate with n categories (default n=4)

πŸŽ€ COMPLEX MODELS (she's complicated, and that's iconic) πŸ‘‘

  • -m "MIX{m1,...,mK}" β€” mixture model with K components 🧁
  • -m "FMIX{f1,...fK}" β€” frequency mixture model with K components
  • --mix-opt β€” optimize the mixture weights (default is detect)
  • -m ...+ASC β€” ascertainment bias correction (no cap, this one is required a lot of the time)
  • --tree-freq FILE β€” an input tree, used to infer the site frequency model
  • --site-freq FILE β€” an input site frequency model file
  • --freq-max β€” use the posterior maximum instead of the mean approximation

πŸ”₯ TREE TOPOLOGY TEST πŸ”₯

  • --trees FILE β€” the set of trees whose log-likelihoods you wanna evaluate
  • --test NUM β€” how many replicates for the topology test
  • --test-weight β€” do the weighted KH and SH tests
  • --test-au β€” the approximately unbiased (AU) test (Shimodaira 2002) πŸ’«
  • --sitelh β€” write the site log-likelihoods out to a .sitelh file

πŸ•―οΈ ANCESTRAL STATE RECONSTRUCTION πŸ•―οΈ

  • --ancestral β€” ancestral state reconstruction via empirical Bayes
  • --asr-min NUM β€” minimum probability of an ancestral state (default: equil freq)

βš–οΈ TEST OF SYMMETRY βš–οΈ

  • --symtest β€” run three tests of symmetry
  • --symtest-only β€” do --symtest then exist (their spelling, not mine 😭 she's doing her best)
  • --symtest-remove-bad β€” do --symtest and yeet the bad partitions πŸ—‘οΈ
  • --symtest-remove-good β€” do --symtest and yeet the good partitions (yes, good, that's what it says πŸ’€)
  • --symtest-type MAR|INT β€” use the MARginal or INTernal test when removing partitions
  • --symtest-pval NUMER β€” the p-value cutoff (default: 0.05)
  • --symtest-keep-zero β€” keep the NAs in the tests πŸ™ˆ

🌸 CONCORDANCE FACTOR ANALYSIS 🌸

  • -t FILE β€” the reference tree used to assign the concordance factor
  • --gcf FILE β€” the set of source trees for the gene concordance factor (gCF)
  • --df-tree β€” write the discordant trees associated with gDF1
  • --scf NUM β€” the number of quartets for the site concordance factor (sCF)
  • --scfl NUM β€” like --scf but using likelihood (recommended, bestie, this is the one πŸ”₯)
  • -s FILE β€” the sequence alignment for --scf
  • -p FILE|DIR β€” a partition file or directory for --scf
  • --cf-verbose β€” write CF per tree/locus to cf.stat_tree/_loci
  • --cf-quartet β€” write sCF for all the resampled quartets to .cf.quartet

🧚 ALISIM: ALIGNMENT SIMULATOR 🧚

Usage, verbatim, mwah:

iqtree --alisim <OUTPUT_PREFIX> [-m MODEL] [-t TREE] ...
  • --alisim OUTPUT_ALIGNMENT β€” activate AliSim and name the output alignment filename ✨
  • -t TREE_FILE β€” set the input tree file name
  • --length LENGTH β€” set the length of the root sequence
  • --num-alignments NUMBER β€” set how many output datasets you want
  • --seqtype STRING β€” BIN, DNA, AA, CODON, MORPH{NUM_STATES} (default: auto-detect). For morphological data, 0<NUM_STATES<=32
  • --m MODEL_STRING β€” specify the evolutionary model. See the Manual for more detail
  • --mdef FILE β€” the name of a NEXUS model file that defines new models (see Manual)
  • --fundi TAXA_LIST,RHO β€” a list of taxa plus Rho (the FunDi weight) for the FunDi model
  • --indel <INS>,<DEL> β€” set the insertion and deletion rate of the indel model, relative to the substitution rate
  • --indel-size <INS_DIS>,<DEL_DIS> β€” set the insertion and deletion size distributions
  • --sub-level-mixture β€” enable simulating a substitution-level mixture model
  • --no-unaligned β€” disable outputting a file of unaligned sequences when using indel models
  • --root-seq FILE,SEQ_NAME β€” specify the root sequence from an alignment
  • -s FILE β€” specify the input sequence alignment
  • --no-copy-gaps β€” disable copying gaps from the input alignment (default: false)
  • --site-freq <OPTION> β€” specify the option (MEAN (default), or SAMPLING, or MODEL) to mimic the site-frequencies for mixture models from the input alignment (see Manual)
  • --site-rate <OPTION> β€” specify the option (MEAN (default), or SAMPLING, or MODEL) to mimic the discrete rate heterogeneity from the input alignment (see Manual)
  • -t RANDOM{MODEL,NUM_TAXA} β€” specify the model and number of taxa to generate a random tree 🌳
  • -rlen MIN MEAN MAX β€” three numbers pls: minimum, mean and maximum branch lengths when generating a random tree
  • -p FILE β€” NEXUS/RAxML partition file, edge-linked proportional partition model
  • -q FILE β€” like -p but edge-linked equal partition model
  • -Q FILE β€” like -p but edge-unlinked partition model
  • --distribution FILE β€” supply a definition file of distributions, which could be used to generate random model parameters
  • --branch-distribution DIS β€” specify a distribution from which the branch lengths of the input trees are randomly generated and overridden
  • --branch-scale SCALE β€” specify a value to scale all branch lengths
  • --single-output β€” output all alignments into a single file
  • --write-all β€” enable outputting internal sequences πŸ‘€
  • --seed NUM β€” random seed number (default: CPU clock). Be careful: to make AliSim reproducible, users should specify the seed number ⚠️
  • -gz β€” enable output compression, but it takes longer running time 🐌
  • -af phy|fasta β€” set the output format (default: phylip)
πŸ“– The User Manual is available at http://www.iqtree.org/doc/alisim

🌈 ANALYSIS WITH GENTRIUS ALGORITHM 🌈

  • --gentrius FILE β€” the file must contain either a single species-tree or a set of subtrees
  • -pr_ab_matrix FILE β€” presence-absence matrix of loci coverage
  • -s FILE β€” PHYLIP/FASTA/NEXUS/CLUSTAL/MSF alignment file(s)
  • -p FILE β€” NEXUS/RAxML partition file
  • -g_stop_t NUM β€” stop after NUM species-trees were generated, or use 0 to turn this stopping rule off. Default: 1MLN trees.
  • -g_stop_i NUM β€” stop after NUM intermediate trees were visited, or use 0 to turn this stopping rule off. Default: 10MLN trees.
  • -g_stop_h NUM β€” stop after NUM hours (CPU time), or use 0 to turn this stopping rule off. Default: 7 days.
  • -g_non_stop β€” turn off all the stopping rules (chaos mode, go off queen πŸ‘‘)
  • -g_query FILE β€” species-trees to test for an identical set of subtrees
  • -g_print β€” write all generated species-trees. ⚠️ WARNING: there might be millions of trees!
  • -g_print_lim NUM β€” limit on the number of species-trees to be written
  • -g_print_induced β€” write induced partition subtrees
  • -g_print_m β€” write the presence-absence matrix
  • -g_rm_leaves NUM β€” invoke reverse analysis for complex datasets

🦠 GENOMIC EPIDEMIOLOGICAL ANALYSIS 🦠

  • --pathogen β€” apply the CMAPLE tree search algorithm if sequence divergence is low; otherwise apply the IQ-TREE algorithm
  • --pathogen-force β€” apply the CMAPLE tree search algorithm regardless of sequence divergence, no matter what πŸ’ͺ

⏳ TIME TREE RECONSTRUCTION ⏳

  • --date FILE β€” file containing dates of tips or ancestral nodes
  • --date TAXNAME β€” extract dates from taxon names after the last '|'
  • --date-tip STRING β€” tip dates as a real number or YYYY-MM-DD
  • --date-root STRING β€” root date as a real number or YYYY-MM-DD
  • --date-ci NUM β€” number of replicates to compute the confidence interval
  • --clock-sd NUM β€” std-dev for the lognormal relaxed clock (default: 0.2)
  • --date-no-outgroup β€” exclude the outgroup from the time tree
  • --date-outlier NUM β€” Z-score cutoff to remove outlier tips/nodes (e.g. 3)
  • --date-options ".." β€” extra options passed directly to LSD2
  • --dating STRING β€” dating method: LSD for least square dating (default)

and that's the whole page, bestie, you made it to the end πŸŽ‰ go run some phylogenies, you absolute genius 🫢

this was iqtree2-mpi version 2.4.0+dfsg, dated July 2026, and yes the man page itself is called IQTREE2-MPI(1) β€” love that for us πŸ’–πŸŒΈβœ¨

πŸ“¦ where this page comes from