ASTRAL v5.7.1--生信工具110

简介

ASTRAL 输入若干无根基因树,估计一棵无根物种树。 在多物种溯祖模型下具备统计一致性,专门用于处理 ** 不完全谱系排序(ILS)** 问题。

算法核心:寻找物种树,使其与输入基因树集合拥有最多的共享诱导四分树(quartet trees);物种树二分分支的候选集合由 ASTRAL 自动生成(也可手动扩展候选集合,参考官方教程)。 本文档对应 ASTRAL‑III

bash 复制代码
https://github.com/smirarab/ASTRAL        #官网

安装

ASTRAL无需编译安装,Java 程序,跨平台(Linux / Mac / Windows);要求 Java ≥1.6。开发主要在 Linux、Mac 测试,Windows 也可正常使用。

两种获取方式:

  1. 下载 zip 压缩包,解压到本地任意文件夹

  2. 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 输入

  1. 输入:多棵基因树,Newick 格式
  2. 允许:分类群缺失、多歧分支(未解析分支)、一个物种多个个体
  3. ⚠️分类群名字限制:
    • 名字不能带引号
    • 禁止特殊字符如 ?;下划线 _ 可用。

同一物种多个个体:‑a 映射文件

当一个物种有多个个体测序,使用 -a 指定映射文件,强制同一个物种的个体在物种树上聚在一起。

映射文件每行代表一个物种,二选一格式:

复制代码
species_name [number of individuals] individual_1 individual_2 ...
species_name:individual_1,individual_2,...

注意:物种名称不能和个体名字重名。

Output 输出

输出为 Newick 格式物种树,包含:

  1. 物种树拓扑结构
  2. 分支长度:溯祖单位;仅内部分支;该物种存在多个个体时末端分支也会有长度
  3. 节点支持度: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 10 option):

    • Sayyari, Erfan, and Siavash Mirarab. 2018. "Testing for Polytomies in Phylogenetic Species Trees Using Quartet Frequencies." Genes 9 (3): 132. doi:10.3390/genes9030132.
相关推荐
2501_937860941 小时前
从JDBC到数据访问:Java数据库编程完全指南
java·开发语言·数据库
JacksonMx1 小时前
Java 服务调用下游接口注意点
java·开发语言
许彰午1 小时前
08-条件拼接规则
java·低代码·架构
码匠许师傅1 小时前
【C++ 面试真题】32. 聊聊 C++ 的原子变量与无锁编程
java·c++·面试
不会就选b1 小时前
Linux之线程池(一)
java·开发语言
IT毕设实战小研1 小时前
基于大数据的二手车数据分析与预测
java·大数据·后端·爬虫·python·算法·课程设计
吠品1 小时前
OkHttp 多文件上传的一个实现
java·服务器·前端
lingguangbuzhi2 小时前
【JAVA教程】java课程java学习编程
java·学习·教程
渡我白衣2 小时前
Acceptor模块的设计与实现
java·linux·服务器·开发语言·网络·c++·人工智能