IQTREE3-MPI(1)

πŸ“¦ version 3.1.1, in ubuntu stonking

πŸ¦‹ iqtree3-mpi(1) β€” User Commands πŸ¦‹

okay bestie, so this is the manual page for iqtree3-mpi, section 1 of the User Commands. it's giving efficient phylogenetic software by maximum likelihood, but it's the multiprocessor version. slay. πŸ’…


🌸 NAME 🌸

iqtree3-mpi β€” efficient phylogenetic software by maximum likelihood (multiprocessor version). periodt. πŸ’–


✨ SYNOPSIS ✨

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

πŸ’« DESCRIPTION πŸ’«

IQ-TREE MPI version 3.1.1 for Linux x86 64-bit built Jul 28 2026. no cap.

Developed by Bui Quang Minh, Thomas Wong, Nhan Ly-Trong, Huaiyan Ren.

Contributed by Lam-Tung Nguyen, Dominik Schrempf, Chris Bielow, Olga Chernomor, Michael Woodhams, Diep Thi Hoang, Heiko Schmidt. iconic. πŸ‘‘


✨ GENERAL OPTIONS ✨

  • -h, --help β€” print (more) help usages. πŸ’–
  • -s FILE[,...,FILE] β€” PHYLIP/FASTA/NEXUS/CLUSTAL/MSF alignment file(s).
  • -s DIR β€” directory of alignment files.
  • --seqtype STRING β€” BIN, DNA, AA, NT2AA, CODON, MORPH (default: auto-detect).
  • -t FILE|PARS|RAND β€” starting tree (default: 99 parsimony and BIONJ).
  • -o TAX[,...,TAX] β€” outgroup taxon (list) for writing .treefile.
  • --prefix STRING β€” prefix for all output files (default: aln/partition).
  • --seed NUM β€” random seed number, normally used for debugging purpose.
  • --safe β€” safe likelihood kernel to avoid numerical underflow.
  • --mem NUM[G|M|%] β€” maximal RAM usage in GB | MB | %.
  • --runs NUM β€” number of indepedent runs (default: 1). (yes, "indepedent" is in the original, keep it)
  • -v, --verbose β€” verbose mode, printing more messages to screen.
  • -V, --version β€” display version number.
  • --quiet β€” quiet mode, suppress 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 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 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).
  • -g FILE β€” (multifurcating) topological constraint tree file.
  • --fast β€” fast search to resemble FastTree.
  • --polytomy β€” collapse near-zero branches into polytomy.
  • --tree-fix β€” fix -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 πŸ”

  • --use-nn-model β€” use neural network for tree inference.
  • --nn-path-model β€” neural network file for substitution model (onnx format).
  • --nn-path-rates β€” neural network file for alpha value (onnx format).
  • -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). If mrbayes is selected, will output a MrBayes Block File if Data Type is supported.
  • --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 🧬

  • -m STRING β€” model name string (e.g. GTR+F+I+G). πŸ’… now here's the tea on what STRING can be:
    • DNA: HKY (default), JC, F81, K2P, K3P, K81uf, TN/TrN, TNef, TIM, TIMef, TVM, TVMef, SYM, GTR, or 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 the Gamma model, with n rate categories, bestie πŸ’–
  • -m ...+R[n] β€” FreeRate model with n categories (default n=4) πŸŽ€
  • -m ...*R[n] β€” FreeRate model, but the model parameters are unlinked πŸ‘€
  • -m ...+I+R[n] β€” invariable sites + FreeRate model with n categories, the whole combo meal ✨
  • -m ...+Hn β€” Heterotachy model with n classes πŸ¦‹
  • -m ...*Hn β€” Heterotachy model with n classes AND unlinked parameters πŸ”“
  • --alpha-min NUM β€” minimum Gamma shape parameter for site rates (default: 0.02)
  • --gamma-median β€” median approximation for +G site rates (default is mean, fyi)
  • --rate β€” writes the empirical Bayesian site rates into a .rate file πŸ“
  • --mlrate β€” writes maximum likelihood site rates into a .mlrate file πŸ“

🧬 POLYMORPHISM AWARE MODELS (PoMo) 🧬

  • -s FILE β€” input counts file (go read the manual for this one, bestie)
  • -m ...+P β€” a DNA substitution model (see 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 πŸ’…

  • -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: detect) βš–οΈ
  • -m ...+ASC β€” ascertainment bias correction
  • --tree-freq FILE β€” input tree used to infer the site frequency model 🌳
  • --site-freq FILE β€” input site frequency model file
  • --freq-max β€” posterior maximum instead of the mean approximation

πŸ”₯ TREE TOPOLOGY TEST πŸ”₯

  • --trees FILE β€” a set of trees whose log-likelihoods get evaluated
  • --test NUM β€” number of replicates for the topology test
  • --test-weight β€” perform weighted KH and SH tests
  • --test-au β€” approximately unbiased (AU) test (Shimodaira 2002)
  • --au-epsilon NUM β€” epsilon for the AU test: if |deltaL| < NUM, the tree is kept no matter what the p-value says (default: 0.001)
  • --sitelh β€” write site log-likelihoods into 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 β€” perform three tests of symmetry
  • --symtest-only β€” do --symtest then exist
  • --symtest-remove-bad β€” do --symtest and remove the bad partitions πŸ—‘οΈ
  • --symtest-remove-good β€” do --symtest and remove the good partitions πŸ—‘οΈ
  • --symtest-type MAR|INT β€” use the MARginal/INTernal test when removing partitions
  • --symtest-pval NUMER β€” p-value cutoff (default: 0.05)
  • --symtest-keep-zero β€” keep the NAs in the tests 🫢

πŸ¦‹ CONCORDANCE FACTOR ANALYSIS πŸ¦‹

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

🧚 ALISIM: ALIGNMENT SIMULATOR 🧚

Usage: iqtree --alisim <OUTPUT_PREFIX> [-m MODEL] [-t TREE] ...
  • --alisim OUTPUT_ALIGNMENT β€” activate AliSim and pick 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 the number of output datasets
  • --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 way more detail
  • --mdef FILE β€” name of a NEXUS model file used to define new models (see Manual)
  • --fundi TAXA_LIST,RHO β€” specify a list of taxa, and 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 the feature that simulates a substitution-level mixture model
  • --no-unaligned β€” stop outputting a file of unaligned sequences when indel models are in play
  • --root-seq FILE,SEQ_NAME β€” specify the root sequence from an alignment
  • -s FILE β€” specify the input sequence alignment
  • --no-copy-gaps β€” stop copying gaps from the input alignment (default: false)
  • --site-freq <OPTION> β€” pick 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> β€” pick 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 the number of taxa to generate a random tree 🌳
  • -rlen MIN MEAN MAX β€” specify three numbers: 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 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)
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 off this stopping rule. Default: 1MLN trees.
  • -g_stop_i NUM β€” stop after NUM intermediate trees were visited, or use 0 to turn off this stopping rule. Default: 10MLN trees.
  • -g_stop_h NUM β€” stop after NUM hours (CPU time), or use 0 to turn off this stopping rule. Default: 7 days.
  • -g_non_stop β€” turn off all stopping rules. Chaos! Go nuts πŸƒβ€β™€οΈ
  • -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 no matter how divergent the sequences are
  • --alrt <num_rep> β€” specify the number of replicates to compute SH-aLRT
  • --sprta β€” compute SPRTA (DeMaio et al., 2024) branch supports
  • --sprta-zero-branch β€” compute SPRTA supports for zero-length branches
  • --sprta-other-places β€” output alternative SPRs and their SPRTA supports
  • -T <num_thread> β€” specify the number of threads used for computing branch supports (SH-aLRT or SPRTA) 🧡

⏳ 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 passing directly to LSD2
  • --dating STRING β€” dating method: LSD for least square dating (default)

okay bestie that's the whole thing, you're officially a phylogenetic icon now πŸ‘‘ this was iqtree3-mpi version 3.1.1+dfsg, dropped in July 2026, and yes it's serving IQTREE3-MPI(1) energy the entire time πŸ’–βœ¨ go build that tree fr fr 🌳🫢

πŸ“¦ where this page comes from