使用 ProtTest 来选择最优氨基酸替代模型

1. ProtTest 简介

ProtTest 用来进行最优氨基酸替代模型的选择。相应的,适用于核苷酸的软件是 jModeltest。
ProtTest 通过 PhyML 对进化树和模型参数的最大似然估计,通过 AIC, BIC 分值或 DT 来寻找最佳模型。分值越小越优。
ProTest 3.2 版本包含 15 种不同类型的 rate matrices;考虑到位点的 rate variation (+I: invariable sites; +G: gamma-distributed rates) 和 observed amino acid frequencies (+F), 共有 120 种不同的模型。
ProtTest 官网:https://code.google.com/p/prottest3/
从此处下载该软件。可能需要设置代理后下载。
参考文献:ProtTest 3: fast selection of best-fit models of protein evolution

2. ProtTest 下载和安装

$ tar zxf prottest-3.4-20140123.tar.gz -C /opt/biosoft
$ cd /opt/biosoft/prottest-3.4-20140123
$ echo 'export PROTTEST_HOME=/opt/biosoft/prottest-3.4-20140123' >> ~/.bashrc
查看说明文档:
$ less README

3. ProtTest 的使用

ProtTest 使用 JAVA 编写,有图形化和命令行两种运行模式。

3.1 图形化界面使用

必须要进入到程序的所在的目录运行程序以启动图形化界面
$ cd /opt/biosoft/prottest-3.4-20140123/runXProtTestHPC.sh
$ runXProtTestHPC.sh

启动 JAVA 界面后,点击 File–Load Alignment, 上传多序列比对结果;然后点击 Analysis–Compute likehood scores, 选择所使用的线程数,以及候选模型的选择,和计算 likelihood 的 topology;然后点击 Compute, 进行计算,所需要消耗的实际有点长;计算完毕后,点击 Selection–Results 来查看结果。通过 AIC, BIC, AICc 和 DT 来查看其得分,点击表格的第1行进行排序,寻找分值最小的模型作为最优氨基酸替代模型。

3.2 命令行运行

常用例子:

不加参数运行,则给出帮助文档:
java -jar /opt/biosoft/prottest-3.4-20140123/prottest-3.4.jar

常用的命令行:
java -jar /opt/biosoft/prottest-3.4-20140123/prottest-3.4.jar -i proteins.phy -all-distributions -F -AIC -BIC -tc 0.5 -threads 24 -o prottest.out

ProtTest 的常用参数:

-i alignment_filename
必须参数,输入多序列比对结果文件。
-o output_filename
输出的文件名。不设置,则默认输出到标准输出。
-[matrix]
指定需要分析的 matrix 。 该 matrix 可以被替换为 JTT LG DCMut MtREV MtMam MtArt Dayhoff WAG RtREV CpREV Blosum62 VT HIVb HIVw FLU 这 15 种 matrix。 若不指定,则默认全选。
-all-distributions
指定 matrix 模型结合 I 或 G 或 I+G
-F
指定 matrix 模型结合 empirical frenquency estimation
-AIC
输出结果中按 AIC (Akaike Information Criterion) 排序
-BIC
输出结果中按 BIC (Bayesian Information Criterion) 排序
-AICC
输出结果中按 AICc (Corrected Akaike Information Criterion) 排序
-DT
输出结果中按 DT (Decision Theory Criterion) 排序
-tc consensus_threshold
输出满足指定阈值的一致树。该值在 0.5~ 1.0 之间。[0.5 = majority rule consensus ; 1.0 = strict consensus]
-threads number_of_threads
使用的 CPU 数。

使用 ProtTest 来选择最优氨基酸替代模型》上有5个想法

    • 你要了解phy格式的规则,然后编辑其相应的文件。生成文件不要用windows的记事本,也不要用word,他们生成的都是二进制文件,或文件内容编码不对。windows下用notepad++软件,linux下用vim命令。

  1. 您好,我在通过 orthofinder找到了36个细菌295个同源的单拷贝基因群,然后用这些基因的氨基酸序列多基因建树,通过prottest计算模型,发现持续出现ProtTest: wrong tree format, exiting…这个错误。上谷歌搜了一下有人解释道“PhyML cannot handle such a big alignment. If I’m not wrong, there are 2
    constraints for the alignment size in PhyML: There is a limit of 4,000 taxa,
    and NTAXA * NTAXA * SEQLEN should not be greater than 10^8. I’m sorry about
    that.”。于是我想就减掉几个细菌的同源群,结果发现还是报错,可以请您帮忙解答一下吗

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据