01 介绍

IQ‑TREE 是一款 ** 基于最大似然法(ML)** 的高效、开源系统发育树构建软件,由 Bui Quang Minh 团队开发,广泛用于分子进化与比较基因组学研究。其前身是 IQPNNI 与 TREE‑PUZZLE,自 2011 年持续维护,目前主流版本为 IQ‑TREE 3IQ-TREE。

该软件核心优势在于速度快、精度高、功能全IQ-TREE。内置ModelFinder可快速自动筛选最优进化模型,比传统工具快 10–100 倍IQ-TREE;集成UFBoot超快速自举法,支持度计算效率远超 RAxML 等软件IQ-TREE;支持 DNA、蛋白、密码子等多类型数据,兼容分区与混合模型,适配大规模基因组数据集IQ-TREE。

IQ‑TREE 支持多线程并行计算,断点续跑,输入格式兼容 FASTA、PHYLIP 等,输出可直接用于 FigTree、iTOL 可视化。IQ‑TREE 3新增内置剪切(--robust‑phy)、混合模型搜索等功能,进一步提升建树稳健性。因其高效与易用,已成为进化生物学领域首选建树工具之一

一直用的iqtree2,但是3出了,后面iqtree等价于iqtree3吧,ML建树最强工具。

trimAl v1.5.0 安装与使用----bioinformatistic tools 69-CSDN博客

MAFFT安装及使用-mafft v7.520(bioinfomatics tools-004)-CSDN博客

RAxML-NG安装与使用-raxml-ng-v1.2.0(bioinfomatics tools-013)-CSDN博客

02 官网

https://iqtree.github.io/   #提供在线版

03 安装

wget -c https://github.com/iqtree/iqtree3/releases/download/v3.1.2/iqtree-3.1.2-Linux.tar.gz

tar -zxvf XXX

04 使用

比对 剪切 建树三部曲

#建树
/mafft-linux64/mafft --auto  ace.evi.txt > ace.evi.txt_mafft.msa 
/trimAl_Linux_x86-64/trimal  -in  ace.evi.txt_mafft.msa -out ace.evi.txt_mafft.msa_trimal.msa -automated1 


#检测模型
/iqtree-3.1.2-Linux/bin/iqtree3 -s ace.evi.txt_mafft.msa_trimal.msa -T AUTO   -m MF --redo 
# 直接建树(最快)
iqtree3 -s BAHD.all.aln -m MFP -B 1000

# 想让树更稳(内置剪切,一步到位)
iqtree3 -s BAHD.all.aln -m MFP -B 1000 --robust-phy

# 发文章最标准(外部剪切)
trimal -in BAHD.all.aln -out BAHD.all.trim.aln -automated1
iqtree3 -s BAHD.all.trim.aln -m MFP -B 1000
./iqtree3 -h
IQ-TREE 3.1.2 版本 适用于Linux x86 64位 编译时间:2026年5月7日
开发人员:Bui Quang Minh、Thomas Wong、Nhan Ly-Trong、Huaiyan Ren
贡献人员:Lam-Tung Nguyen、Dominik Schrempf、Chris Bielow、
Olga Chernomor、Michael Woodhams、Diep Thi Hoang、Heiko Schmidt

用法:iqtree [-s 比对文件] [-p 分区文件] [-m 进化模型] [-t 起始树] ……

通用选项:
  -h, --help           打印帮助使用说明
  -s 文件[,...,文件]   导入PHYLIP/FASTA/NEXUS/CLUSTAL/MSF 格式比对文件
  -s 目录              指定存放多个比对文件的文件夹
  --seqtype 序列类型  序列类型:BIN二进制、DNA核酸、AA蛋白、NT2AA核酸转蛋白、CODON密码子、MORPH形态学;默认自动检测
  -t 文件|PARS|RAND    指定起始树;默认使用99棵简约树+BIONJ树
  -o 分类群[,...,分类群] 指定外类群,用于输出树文件
  --prefix 前缀名      设定所有输出文件的前缀;默认以比对/分区文件名命名
  --seed 数值          随机种子号,多用于调试
  --safe               启用稳健似然内核,避免数值下溢
  --mem 数值[G|M|%]    最大内存占用,单位GB/MB/百分比
  --runs 数值          独立运行次数;默认1次
  -v, --verbose        详细输出模式,屏幕打印更多运行信息
  -V, --version        显示软件版本
  --quiet              静默模式,关闭标准输出屏幕打印
  -fconst f1,...,fN    向比对序列中添加恒定位点模式(N为状态数)
  --epsilon 数值       参数估计的似然阈值;默认0.01
  -T 数值|AUTO         线程/核心数,AUTO自动检测;默认单线程
  --threads-max 数值   -T AUTO模式下最大可用线程数;默认调用全部核心

断点续跑:
  --redo               重新运行模型优选+树搜索全过程
  --redo-tree          保留已有模型优选结果,仅重新建树搜索
  --undo               撤销已完成运行,适用于修改参数重跑
  --cptime 数值        最小断点保存间隔;默认60秒并自适应调整

分区模型:
  -p 文件|目录         NEXUS/RAxML格式分区文件 或 比对文件目录
                       采用边关联比例分区模型
  -q 文件|目录         同-p,采用边关联均等分区模型
  -Q 文件|目录         同-p,采用边独立分区模型
  -S 文件|目录         同-p,各分区独立建树分析
  --subsample 数值     随机抽取部分分区;负值代表取补集
  --subsample-seed 数值 分区随机抽样的随机种子

似然图谱/四重态分析:
  --lmap 数值          似然图谱分析的四重态数量
  --lmclust 文件       用于似然图谱聚类的NEXUS文件
  --quartetlh          将四重态对数似然值输出至.quartetlh文件

树搜索算法:
  --ninit 数值         初始简约树数量;默认100棵
  --ntop 数值          保留最优初始树数量;默认20棵
  --nbest 数值         搜索过程中保留最优树数量;默认5棵
  -n 数值              固定迭代次数后停止;默认关闭
  --nstop 数值         连续无效迭代次数阈值,达到即停止;默认100次
  --perturb 数值      随机NNI扰动强度;默认0.5
  --radius 数值       简约法SPR搜索半径;默认6
  --allnni             执行更全面的NNI拓扑搜索;默认关闭
  -g 文件              导入(多分支)拓扑约束树文件
  --fast               快速树搜索,算法近似FastTree
  --polytomy           将分支长度趋近于0的分支合并为多分支拓扑
  --tree-fix           固定-t指定的树拓扑,不执行树搜索优化
  --treels             将局部最优树写入.treels文件
  --show-lh            仅计算树似然值,不做拓扑优化
  --terrace            检测树是否位于系统发育阶面上

超快速自举/刀切检验:
  -B, --ufboot 数值   超快速自举重复数(≥1000)
  -J, --ufjack 数值   超快速刀切检验重复数(≥1000)
  --jack-prop 数值    刀切检验的抽样比例;默认0.5
  --sampling 类型      分区数据重抽样方式:GENE基因/GENESITE基因位点;默认位点抽样
  --boot-trees         将所有自举树写入.ufboot文件;默认不输出
  --wbtl               同--boot-trees,同时保留分支长度
  --nmax 数值          最大迭代次数;默认1000
  --nstep 数值         UFBoot停止规则迭代步长;默认100
  --bcor 数值          最小相关系数阈值;默认0.99
  --beps 数值          打破并列最优的RELL阈值;默认0.5
  --bnni               基于自举比对序列,用NNI优化自举树拓扑

非参数自举/刀切检验:
  -b, --boot 数值      自举重复数,构建ML树+一致树
  -j, --jack 数值      刀切检验重复数,构建ML树+一致树
  --jack-prop 数值     刀切检验抽样比例;默认0.5
  --bcon 数值          自举重复数,仅构建一致树
  --bonly 数值         仅执行自举抽样,不建树
  --tbe                计算转移自举期望

单分支检验:
  --alrt 数值          SH近似似然比检验重复数
  --alrt 0             参数化aLRT检验(Anisimova and Gascuel 2006)
  --abayes             近似贝叶斯分支检验(Anisimova et al. 2011)
  --lbp 数值           快速局部自举概率重复数

模型优选:
  --use-nn-model       调用神经网络进行树推断
  --nn-path-model      替换替代模型的神经网络文件(onnx格式)
  --nn-path-rates      替换α值速率模型的神经网络文件(onnx格式)
  -m TESTONLY          仅执行标准模型筛选(类似jModelTest、ProtTest)
  -m TEST              标准模型筛选后自动建树
  -m MF                扩展模型筛选,结合自由速率异质性模型
  -m MFP               扩展模型筛选后自动建树
  -m ...+LM            额外测试Lie马尔可夫模型
  -m ...+LMRY          额外测试带RY对称的Lie马尔可夫模型
  -m ...+LMWS          额外测试带WS对称的Lie马尔可夫模型
  -m ...+LMMK          额外测试带MK对称的Lie马尔可夫模型
  -m ...+LMSS          额外测试链对称模型
  --mset 类型          限定仅检索其他软件支持的模型
                       可选:raxml、phyml、mrbayes、beast1、beast2
                       若选择mrbayes,数据类型兼容时输出MrBayes模块文件
  --mset 模型名,...    逗号分隔指定备选模型列表(例:-mset WAG,LG,JTT)
  --msub 类型          蛋白模型来源分类
                       核基因、线粒体、叶绿体、病毒
  --mfreq 频率列表    限定备选碱基/氨基酸频率模型
  --mrate 速率列表    限定位点速率异质性模型
                       例:-mrate E,I,G,I+G,R 适用于-m MF
  --cmin 数值          FreeRate模型最小分类数[+R];默认2
  --cmax 数值          FreeRate模型最大分类数[+R];默认10
  --merit AIC|AICc|BIC 模型筛选准则:赤池信息量|校正赤池|贝叶斯;默认BIC
  --mtree              对每一个备选模型都执行完整树搜索
  --madd 模型名,...    指定纳入筛选的混合模型列表
  --mdef 文件          导入NEXUS格式自定义模型定义文件(参考官方手册)
  --modelomatic        自动筛选最优密码子/蛋白/DNA模型(Whelan et al. 2015)

分区优选:
  --merge              合并分区以提升模型拟合度
  --merge greedy|rcluster|rclusterf
                       设定分区合并算法;默认rclusterf
  --merge-model 1|all 合并时仅用单个/全部模型;默认1
  --merge-model 模型名,...
                       逗号分隔指定合并所用模型列表
  --merge-rate 1|all   合并时仅用单个/全部速率异质性模型;默认1
  --merge-rate 速率名,...
                       逗号分隔指定合并所用速率模型列表
  --rcluster 数值     rcluster算法分区对抽样百分比
  --rclusterf 数值    rclusterf算法分区对抽样百分比
  --rcluster-max 数值 最大分区对数量;默认分区数×10

替代模型:
  -m 模型字符串        指定进化模型(例:GTR+F+I+G)
         DNA序列:默认HKY,可选JC、F81、K2P、K3P、K81uf、TN/TrN、TNef、
                 TIM、TIMef、TVM、TVMef、SYM、GTR,也支持6位数字模型编码
                 (如010010 代表HKY)
       蛋白序列:默认LG,可选Poisson、cpREV、mtREV、Dayhoff、mtMAM、
                 JTT、WAG、mtART、mtZOA、VT、rtREV、DCMut、PMB、HIVb、
                 HIVw、JTTDCMut、FLU、Blosum62、GTR20等植物/真菌/昆虫专用模型
     蛋白混合模型:C10~C60、EX2、EX3、EHO、UL2、UL3、EX_EHO、LG4M、LG4X
        二态序列:默认JC2、GTR2
     经验密码子:KOSI07、SCHN05
     机制密码子:默认GY,可选MG、MGK、GY0K、GY1KTS、GY1KTV、GY2K等
半经验密码子:XX_YY 格式,XX为经验模型、YY为机制模型
 形态学/ SNP:默认MK、ORDERED、GTR
    Lie马尔可夫DNA:多类对称模型编码
    非可逆模型:STRSYM链对称模型(等效WS6.6)、NONREV、UNREST无约束模型
                 含植物、鸟类、哺乳动物、昆虫、酵母专用非可逆模型
         自定义模型:导入含自定义模型参数的文件

碱基/氨基酸频率:
  -m ...+F             从比对序列实证统计频率
  -m ...+FO            最大似然法优化频率参数
  -m ...+FQ            均等频率
  -m ...+FRY           DNA序列:A+G与C+T频率各占1/2
  -m ...+FWS           DNA序列:A+T与C+G频率各占1/2
  -m ...+FMK           DNA序列:A+C与G+T频率各占1/2
  -m ...+Fabcd         4位数字约束ACGT频率(例:+F1221 限定A=T、C=G)
  -m ...+FU            沿用蛋白矩阵自带氨基酸频率
  -m ...+F1x4          三个密码子位置共用均等核酸频率
  -m ...+F3x4          三个密码子位置采用不均等核酸频率

位点速率异质性:
  -m ...+I             加入不变位点比例模型
  -m ...+G[n]          离散Gamma模型,n为分类数;默认4类
  -m ...*G[n]          离散Gamma模型,各分区参数独立无关联
  -m ...+I+G[n]        不变位点+Gamma速率混合模型
  -m ...+R[n]          FreeRate自由速率模型,n为分类数;默认4类
  -m ...*R[n]          FreeRate模型,各分区参数独立无关联
  -m ...+I+R[n]        不变位点+FreeRate自由速率模型
  -m ...+Hn            异速进化模型,n为分类数
  -m ...*Hn            异速进化模型,各分区参数独立无关联
  --alpha-min 数值     Gamma形状参数最小值;默认0.02
  --gamma-median       位点速率采用中位数近似;默认均值
  --rate               将经验贝叶斯位点速率写入.rate文件
  --mlrate             将最大似然位点速率写入.mlrate文件

多态感知模型(PoMo):
  -s 文件              导入计数文件(详见官方手册)
  -m ...+P             搭配PoMo使用的DNA替代模型
  -m ...+N<种群大小>   虚拟种群大小;默认9
  -m ...+WB|WH|S       加权二项抽样/超几何抽样/抽样模式
  -m ...+G[n]          搭配PoMo的离散Gamma速率模型;默认4类

复杂组合模型:
  -m "MIX{m1,...,mK}"  多模型混合模型,含K个组分
  -m "FMIX{f1,...fK}"  频率混合模型
  --mix-opt            优化混合模型权重;默认自动检测
  -m ...+ASC           校正 ascertainment 偏差
  --tree-freq 文件     导入参考树推导位点频率模型
  --site-freq 文件     导入位点频率模型文件
  --freq-max           采用后验极大值替代均值近似

树拓扑检验:
  --trees 文件         导入多棵待评估拓扑的树文件,计算对数似然值
  --test 数值          拓扑检验重复数
  --test-weight        执行加权KH、SH拓扑检验
  --test-au            执行无偏AU拓扑检验(Shimodaira 2002)
  --au-epsilon 数值    AU检验阈值;|deltaL|小于该值则不依赖P值保留树;默认0.001
  --sitelh             将各位点对数似然值写入.sitelh文件

祖先状态重建:
  --ancestral          基于经验贝叶斯重建祖先状态
  --asr-min 数值       祖先状态最小概率阈值;默认均衡频率

对称性检验:
  --symtest               执行三类序列对称性检验
  --symtest-only          仅做对称性检验,运行后直接退出
  --symtest-remove-bad    检验后剔除不合格分区
  --symtest-remove-good   检验后保留合格分区、剔除其余
  --symtest-type MAR|INT  剔除分区采用边际/内部检验
  --symtest-pval 数值    显著性P值阈值;默认0.05
  --symtest-keep-zero     检验中保留缺失值NA

一致性因子分析:
  -t 文件              指定参考树,用于计算一致性因子
  --gcf 文件           导入基因树集合,计算基因一致性因子gCF
  --df-tree            输出与gDF1相关的冲突树
  --scf 数值           计算位点一致性因子sCF的四重态数量
  --scfl 数值          基于似然值计算sCF(推荐)
  -s 文件              用于sCF分析的序列比对文件
  -p 文件|目录         分区文件/比对目录,用于sCF分析
  --cf-verbose         输出每棵树/每个位点的一致性因子统计至文件
  --cf-quartet         将所有重抽样四重态的sCF结果写入.cf.quartet文件

ALISIM:序列比对模拟工具
用法:iqtree --alisim 输出前缀 [-m 模型] [-t 树文件] ……
  --alisim 输出比对名  启用AliSim模拟,指定输出比对文件名
  -t 树文件            导入参考进化树
  --length 序列长度    设定祖先序列长度
  --num-alignments 数量 生成比对数据集个数
  --seqtype 序列类型  序列类型:BIN/DNA/AA/CODON/MORPH(状态数);默认自动检测
  --m 模型字符串       指定进化模型(详见官方手册)
  --mdef 文件          导入NEXUS自定义模型文件
  --fundi 类群列表,RHO 指定类群列表与FunDi模型权重
  --indel 插入,缺失   设定插入、缺失速率(相对替代速率)
  --indel-size 插入分布,缺失分布 设定插入缺失片段长度分布
  --sub-level-mixture  启用替代水平混合模型模拟
  --no-unaligned       关闭非比对序列文件输出
  --root-seq 文件,序列名 从比对文件指定祖先序列
  -s 文件              导入输入序列比对
  --no-copy-gaps       禁止从输入比对继承空位;默认关闭
  --site-freq 选项     模拟位点频率模式:MEAN均值/SAMPLING抽样/MODEL模型;默认MEAN
  --site-rate 选项     模拟位点速率模式;参数同上
  -t RANDOM{模型,类群数} 指定模型与类群数,随机生成进化树
  -rlen 最小值 均值 最大值 随机树分支长度的区间设定
  -p 文件              NEXUS/RAxML分区文件
  -q 文件              同-p,边关联均等分区模型
  -Q 文件              同-p,边独立分区模型
  --distribution 文件  导入自定义分布参数文件
  --branch-distribution 分布名  指定分支长度抽样分布,覆盖原有长度
  --branch-scale 缩放系数  统一缩放所有分支长度
  --single-output      所有模拟比对合并为单个文件输出
  --write-all          输出所有内部节点序列
  --seed 数值          随机种子;默认依赖CPU时钟,指定后结果可重复
  -gz                  启用输出文件压缩,耗时略增
  -af phy|fasta        输出比对格式;默认phylip
  官方手册地址:http://www.iqtree.org/doc/AliSim

GENTRIUS算法分析:
  --gentrius 文件      导入含单棵物种树或子树集合的文件
  -pr_ab_matrix 文件   基因位点覆盖度有无矩阵文件
  -s 文件              序列比对文件
  -p 文件              NEXUS/RAxML分区文件
  -g_stop_t 数值      生成指定数量物种树后停止;默认100万棵
  -g_stop_i 数值      访问指定中间树数量后停止;默认100万棵
  -g_stop_h 数值      运行指定小时数后停止;默认7天
  -g_non_stop          关闭所有停止阈值,无限制运行
  -g_query 文件        导入待比对物种树,检测子树一致性
  -g_print             输出所有生成的物种树;可能产生数百万条数据
  -g_print_lim 数值   限制输出树的数量
  -g_print_induced    输出诱导分区子树
  -g_rm_leaves 数值   启用逆向分析,适用于复杂数据集

基因组流行病学分析:
  --pathogen           序列分化度低时启用CMAPLE建树算法,否则用默认IQ-TREE
  --pathogen-force     强制全程使用CMAPLE算法,不判断序列分化度
  --alrt 重复数       指定SH-aLRT分支检验重复数
  --sprta              计算SPRTA分支支持度(DeMaio et al., 2024)
  --sprta-zero-branch  为零长度分支计算SPRTA支持度
  --sprta-other-places 输出备选SPR拓扑及其SPRTA支持度
  -T 线程数           指定SPRTA、SH-aLRT所用线程数

时间树校正:
  --date 文件          导入末端节点或祖先节点时间文件
  --date 分类群名      从分类群名称最后一个|后提取时间信息
  --date-tip 时间格式  末端节点时间:数值 或 年月日格式
  --date-root 时间格式 树根时间:数值 或 年月日格式
  --date-ci 数值       置信区间重复抽样次数
  --clock-sd 数值      对数松弛时钟标准差;默认0.2
  --date-no-outgroup   时间树分析中排除外类群
  --date-outlier 数值  Z评分阈值,剔除异常时间末端;例:3
  --date-options "参数" 直接传递额外参数给LSD2算法
  --dating 方法        时间校正方法:LSD最小二乘校正;默认LSD

新增了诸如祖先重建,时间树分析等许多功能,快来解锁!

05 引用

Thomas K F Wong, Nhan Ly-Trong, Huaiyan Ren, Piyumal Demotte, Hector Baños, Andrew J Roger, Edward Susko, Chris Bielow, Nicola De Maio, Nick Goldman, Matthew W Hahn, Mario dos Reis, Le Sy Vinh, Gavin Huttley, Robert Lanfear, Bui Quang Minh, IQ-TREE 3: Phylogenomic Inference Software using Complex Evolutionary Models, Molecular Biology and Evolution, 2026;, msag117, https://doi.org/10.1093/molbev/msag117

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐