本文以 4 个兰科物种的 252 个 NB-ARC domian 蛋白序列信息为数据集,介绍 MUSCLE、IQtree 的使用,最后构建出包含 246 个蛋白的无根进化树(其中 6 个蛋白没有通过 IQtree 的 chi2 检验而被过滤掉了)。
MUSCLE
MUSCLE 是一款可以用于快速多序列比对的软件,相比 ClustalW 而言在不损失精度的情况下速度提升了数倍。
MUSCLE 下载
-
使用 apt 下载
sudo apt install muscle
-
使用 conda 下载
conda install muscle
MUSCLE 使用
muscle -in NB-ARC.domain.fasta -out NB-ARC.domain.afa -maxiters 2
-in 输入文件
-out 输出文件名,输出文件默认为 Fasta 格式
-maxiters 最大迭代次数
- 在处理大数据时,作者建议设置 最大迭代次数为 2,因为超过 2 次迭代后对模型的提升很小。(For large datasets where long execution times becomes an issue, I recommend trying -maxiters 2. Iterations beyond 2 attempt refinement, which often results in a small improvement, at most.)
比对结果如下图所示
IQtree
IQtree 是一款用 极大似然法 快速、准确构建 无根进化树 的软件。IQtree 支持快速对不同替换模型进行评估,自动选择最适合序列集的模型。IQtree 于 2011 年发表,2019 年更新到第二版,不断的维护使软件算法更新及时,使用体验良好。
IQtree 下载
推荐使用 conda 下载。如果是从官网下载压缩包,则需要将解压后文件夹 bin 中的 iqtree 置于环境变量中。
conda install -c bioconda iqtree
- 不推荐使用 sudo apt-get install iqtree 安装,其安装的 IQtree 版本太低(1.3.11.1 for Linux 64-bit built Feb 1 2016),与新版本间有较大差异。
IQtree 输入
输入:多序列比对 的结果文件
- 如果手头序列为未比对序列,建议使用 MUSCLE 完成多序列比对。MUSCLE 的输出结果可以直接作为 IQtree 的输入文件。
IQtree 使用
iqtree -s NB-ARC.domain.afa -nt 50
-s 输入文件,-nt CPU 线程数
IQtree 默认利用 ModelFinder(2017)寻找适合输入序列的最佳建树模型。在本实验中,计算最佳模型时需要遍历 546 个蛋白模型,总共运算时间为 19h:21m。最后计算出的最适合本实验序列的模型是 JTT+F+R10。接着 IQtree 会利用最佳模型(JTT+F+R10)进行迭代建树,迭代结果如下(分数越大越好)。
Iteration | Score | Time |
---|---|---|
1 | -304104.417 | |
2 | -303846.073 | |
3 | -303813.005 | |
10 | -303865.131 | 1h:5m:54s |
20 | -303867.109 | 1h:24m:34s |
50 | -303991.816 | 2h:13m:48s |
100 | -304241.607 | 5h:0m:1s |
可以发现,迭代数 >2 后差异较小,推荐使用 iteration=2。
IQtree 输出
输出文件中有用的主要为以 .log、.treefile、.iqtree 为后缀的文件,其中
- .log 为 IQtree 的日志文件,包含 输入序列过滤情况统计、每种替换模型应用于输入序列的评估得分、迭代得分 等。
- .treefile 为极大似然法构建出的 NEWICK 格式的无根进化树文件,可以通过 iTOL 等查看树的结构(下图)。尽管用 iTOL 查看树的结构时可以发现树是有根的,但由于根处为三叉树,而非二叉树,所以本质上还是无根的,生根只是为了表示方便。
- .iqtree 为输出结果汇总文件,包含了对 输入信息的统计、每种替换模型应用于输入序列的评估得分、无根进化树的拓扑结构、无根进化树 NEWICK 格式结果 等。