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.
相关推荐
可乐_不渴12 分钟前
【Linux】 进程虚拟地址空间
java·linux·javascript
SimonKing14 分钟前
号外号外,Stream-Nexus推送项目支持集群部署了
java·后端·程序员
vipxieliang26 分钟前
ValidX vs 正则表达式:可读性与维护性对比
java·spring boot
3378032 分钟前
5分钟搞懂登录认证和授权框架Spring Security
java·spring boot
vipxieliang32 分钟前
Spring Security 6.x 实战:认证、授权与 JWT 集成
java·spring boot
world781122636 分钟前
【C++】set 和 map
java·前端·c++·set·map
学长毕设36 分钟前
基于SpringBoot的社区体育馆预约系统的设计与实现
java·spring boot·后端
Rain的Java大神之路1 小时前
100 亿条数据如何快速写入 MySQL?从 231 天到 3.5 小时,我把面试官问懵了
java·后端·面试
xyouyuweizhu1 小时前
Java IO 流详解:流的作用、流的划分与标准输入输出流
java·python·php
范同学~2 小时前
项目添加水印
java·前端·javascript