IQTREE2-OMP(1)

🌸 IQTREE2-OMP(1) 🌸

okay so bestie, this is the manual page from the IQTREE2-OMP section of the manual, and it's all about a little program called iqtree2-omp. it's long, so we're doing it in parts β€” this is part 1, don't panic πŸ’–


✨ NAME ✨

iqtree2-omp β€” efficient phylogenetic software by maximum likelihood (multiprocessor version) πŸ¦‹


✨ SYNOPSIS ✨

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

(yes the binary in the synopsis is literally iqtree, that's just how it is, iykyk πŸ’…)


✨ DESCRIPTION ✨

IQ-TREE 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 legends, no cap.

🌈 GENERAL OPTIONS:

  • -h, --help β€” prints (more) help usages. your friendly lil "what do i even do" button 🫢
  • -s FILE[,...,FILE] β€” PHYLIP/FASTA/NEXUS/CLUSTAL/MSF alignment file(s). feed it your data bestie 🌸
  • -s DIR β€” a whole directory of alignment files πŸ“‚
  • --seqtype STRING β€” the sequence type: BIN, DNA, AA, NT2AA, CODON, MORPH (default: auto-detect πŸ”)
  • -t FILE|PARS|RAND β€” the 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 your output files (default: aln/partition) πŸŽ€
  • --seed NUM β€” random seed number, normally used for debugging purpose 🎲
  • --safe β€” safe likelihood kernel to avoid numerical underflow (safety first diva πŸ’…)
  • --mem NUM[G|M|%] β€” maximal RAM usage in GB | MB | %
  • --runs NUM β€” number of indepedent runs (default: 1)
  • -v, --verbose β€” verbose mode, prints more messages to screen πŸ“’
  • -V, --version β€” display version number
  • --quiet β€” quiet mode, suppresses printing to screen (stdout) 🀫
  • -fconst f1,...,fN β€” add constant patterns into the 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 number = the 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 the .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 the -t tree (no tree search performed) πŸ“Œ
  • --treels β€” write locally optimal trees into the .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 (must be >=1000) πŸš€
  • -J, --ufjack NUM β€” replicates for ultrafast jackknife (must be >=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 the .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 the 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 the 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 the rcluster algorithm
  • --rclusterf NUM β€” percentage of partition pairs for the 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)

here's the big menu of model names, bestie, take your time πŸ“

  • 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,
  • Protein: 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 a file containing user-model parameters πŸ“

🌈 STATE FREQUENCY:

  • -m ...+F β€” empirically counted frequencies from the 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 unlinked parameters β€” every class gets to keep its own settings, no sharing, no borrowing, main character energy only πŸ’…
  • --alpha-min NUM β€” the minimum Gamma shape parameter for site rates (default: 0.02)
  • --gamma-median β€” use the median approximation for +G site rates (default is mean, jsyk πŸ™ˆ)
  • --rate β€” write out empirical Bayesian site rates into a .rate file ✨
  • --mlrate β€” write out maximum likelihood site rates into a .mlrate file πŸ”₯

🧬 POLYMORPHISM AWARE MODELS (PoMo) 🧬

  • -s FILE β€” the input counts file (go read the manual for this one, it's giving special)
  • -m ...+P β€” the DNA substitution model (the one from up above) that you use alongside 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 β€” use the posterior maximum instead of the mean approximation

πŸ” TREE TOPOLOGY TEST πŸ”

  • --trees FILE β€” a whole set of trees whose log-likelihoods get evaluated
  • --test NUM β€” how many replicates for the topology test
  • --test-weight β€” perform weighted KH and SH tests
  • --test-au β€” the approximately unbiased (AU) test (Shimodaira 2002)
  • --sitelh β€” write site log-likelihoods into a .sitelh file

πŸ‘‘ ANCESTRAL STATE RECONSTRUCTION πŸ‘‘

  • --ancestral β€” ancestral state reconstruction, empirical Bayes style
  • --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 (yes, "exist", that's literally what it says and honestly, iconic)
  • --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 you're 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 β€” reference tree used to assign concordance factors
  • --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 πŸ‘€)
  • -s FILE β€” sequence alignment for --scf
  • -p FILE|DIR β€” partition file or directory for --scf
  • --cf-verbose β€” write CF per tree/locus to cf.stat_tree/_loci
  • --cf-quartet β€” write sCF for all resampled quartets to .cf.quartet

🧚 ALISIM: ALIGNMENT SIMULATOR 🧚

Usage, periodt:

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 how long the root sequence is
  • --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 β€” name of a NEXUS model file to define new models (see Manual)
  • --fundi TAXA_LIST,RHO β€” specify a list of taxa, and Rho (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 to simulate substitution-level mixture model
  • --no-unaligned β€” disable outputting a file of unaligned sequences when you're 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 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 the AliSim reproducible, users should specify the seed number
  • -gz β€” enable output compression but taking 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 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
  • -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 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

πŸŽ€ 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 confidence interval
  • --clock-sd NUM β€” std-dev for lognormal relaxed clock (default: 0.2)
  • --date-no-outgroup β€” exclude outgroup from 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)

And that's the whole thing, bestie 🫢 that was iqtree2-omp version 2.4.0+dfsg, dated July 2026, straight from the IQTREE2-OMP(1) page. Go forth and phylogeny ✨🌸

πŸ“¦ where this page comes from