简介
ASTRAL 输入若干无根基因树,估计一棵无根物种树。 在多物种溯祖模型下具备统计一致性,专门用于处理 ** 不完全谱系排序(ILS)** 问题。
算法核心:寻找物种树,使其与输入基因树集合拥有最多的共享诱导四分树(quartet trees);物种树二分分支的候选集合由 ASTRAL 自动生成(也可手动扩展候选集合,参考官方教程)。 本文档对应 ASTRAL‑III。
bash
https://github.com/smirarab/ASTRAL #官网
安装
ASTRAL无需编译安装,Java 程序,跨平台(Linux / Mac / Windows);要求 Java ≥1.6。开发主要在 Linux、Mac 测试,Windows 也可正常使用。
两种获取方式:
-
下载 zip 压缩包,解压到本地任意文件夹
-
git clone github 仓库
git clone https://github.com/smirarab/ASTRAL.git
- 直接解压仓库内自带 zip 包;
- 或者执行
make.sh构建项目。
运行注意:如果你把
astral.5.7.8.jar移动到别的路径,必须同步移动 lib 目录,否则运行报错。
安装测试
进入解压后的 ASTRAL 目录,执行测试命令:
java -jar astral.5.7.8.jar -i test_data/song_primates.424.gene.tre
运行很快结束;test_data/ 目录下附带更多测试输入文件。
支持任意目录调用,写完整 jar 路径即可:
java -jar /path/to/astral/astral.5.7.8.jar
执行运行
无 GUI,全部命令行运行。
查看全部参数
java -jar astral.5.7.8.jar
基础运行(输入基因树文件 in.tree)
结果直接打印到标准输出
java -jar astral.5.7.8.jar -i in.tree
输出保存到文件(强烈推荐 -o)
java -jar astral.5.7.8.jar -i in.tree -o out.tre
同时保存运行日志(推荐)
java -jar astral.5.7.8.jar -i in.tree -o out.tre 2>out.log
Input 输入
- 输入:多棵基因树,Newick 格式
- 允许:分类群缺失、多歧分支(未解析分支)、一个物种多个个体
- ⚠️分类群名字限制:
- 名字不能带引号
- 禁止特殊字符如
?;下划线_可用。
同一物种多个个体:‑a 映射文件
当一个物种有多个个体测序,使用 -a 指定映射文件,强制同一个物种的个体在物种树上聚在一起。
映射文件每行代表一个物种,二选一格式:
species_name [number of individuals] individual_1 individual_2 ...
species_name:individual_1,individual_2,...
注意:物种名称不能和个体名字重名。
Output 输出
输出为 Newick 格式物种树,包含:
- 物种树拓扑结构
- 分支长度:溯祖单位;仅内部分支;该物种存在多个个体时末端分支也会有长度
- 节点支持度:local posterior probabilities(局部后验概率)
还可输出四分树支持度等分支注释,详见官方教程。
可视化常见问题
ASTRAL 输出树末端分支长度为空。
- FigTree:重复打开几次通常可以正常加载;
- R
ape:读取时选择忽略分支长度; - 其他工具报错:可使用脚本给末端补虚拟分支长度。
内存调优(大数据集)
当分类群数目很多(>1000),需要给 Java 分配更大内存,内存不能超过机器物理空闲内存。
示例,分配 8G 内存给 ASTRAL:
java -Xmx8000M -jar astral.5.7.8.jar -i in.tree
引用
-
Since version 5.1.1, the code corresponds to ASTRAL-III, described in:
- Zhang, Chao, Maryam Rabiee, Erfan Sayyari, and Siavash Mirarab. 2018. "ASTRAL-III: Polynomial Time Species Tree Reconstruction from Partially Resolved Gene Trees." BMC Bioinformatics 19 (S6): 153. doi:10.1186/s12859-018-2129-y.
-
For multi-individual datasets, the relevant paper to cite is:
- Rabiee, Maryam, Erfan Sayyari, and Siavash Mirarab. 2019. "Multi-Allele Species Reconstruction Using ASTRAL." Molecular Phylogenetics and Evolution 130 (January). 286--96. doi:10.1016/j.ympev.2018.10.033.
-
Since version 4.10.0, ASTRAL can also compute branch length (in coalescent units) and a measure of support called local posterior probability, described here:
- Sayyari, Erfan, and Siavash Mirarab. 2016. "Fast Coalescent-Based Computation of Local Branch Support from Quartet Frequencies." Molecular Biology and Evolution 33 (7): 1654--68. doi:10.1093/molbev/msw079
-
ASTRAL can also perform a polytomy test (
-t 10option):- Sayyari, Erfan, and Siavash Mirarab. 2018. "Testing for Polytomies in Phylogenetic Species Trees Using Quartet Frequencies." Genes 9 (3): 132. doi:10.3390/genes9030132.