基于IAGS的自动化流程工具
可以通过conda,或者下载源码来使用此工具。
- 创建虚拟环境
conda create -n iags_auto python=3.9
- 下载
conda install -c gurobi -c conda-forge -c huntguo iags_auto
- 下载源代码
wget https://codeload.github.com/99gloom/IAGS_AUTO/zip/refs/heads/main
- 下载mono
sudo apt install mono-devel
注意:两种方法下载后,都需要激活gurobi,这里我们提供了一份帮助文档,帮助您获取许可。
IAGS_AUTO工具需要三种文件:各物种gff文件、orthogroup.tsv文件,以及species.tree文件,并将这三种文件放置于同一文件夹下。 其中gff和orthogroup.tsv文件与之前的脚本processDrimm 所需的相同。
下面将逐一介绍:
-
gff文件:格式与MCScanX 输入的相同。文件内只有四列,分别是染色体名称、基因名、基因起始坐标、基因结束坐标。格式如下:
sp_name gene_name starting_position ending_position
-
Orthogroups.tsv:OrthoFinder 的输出文件
-
species.tree:WGD-Newick格式。本质为Newick格式的修改版本,在树中的WGD位点,添加了
[WGD]
标志。下图中红色点位为WGD标志。(结尾有无';'
号都可以)
命令 | 参数 | 说明 |
---|---|---|
-f, --filepath | ./file_dir | 三种需要的文件存放的目录 |
-c, --cycleLength | 默认为20 | 控制共线块的连续性 |
-d, --dustLength | 默认为所有物种拷贝数+1 | 控制基因家族大小的上限,会将同源基因个数中超过这个上限的基因家族进行过滤 |
-s, --shape | "s"(默认) | 染色体形状,s为线性染色体,c为环状染色体 |
"c" | ||
-m, --model | "manual" | 默认为None。当用户需要手动指定outgroup时,首先使用"manual"模式生成节点计算顺序文件 "model_and_outgroup.txt",修改其使用的outgroup信息。再使用"continue"模式,基于上一步修改的问题件生成结果。 |
"continue" | ||
"--dotplot" | - | 生成各物种两两之间的dotplot图 |
"--expand" | - | 通过图扩充算法增加共线块覆盖度 |
--check | "yes" (Default) | 按拷贝数比例过滤共线块后,空染色体占比大于30%时是否停止程序(共线块质量低时停止程序) |
"no" |
运行后会在运行目录下生成Result文件夹,内部主要有子文件夹,按生成的顺序分别为Tree_File,Process_Drimm,IAGS。 用户主要关注的文件为IAGS以及Tree_File中的model_and_outgroup.txt。IAGS为最终生成的祖先基因组结果,以及染色体图。 model_and_outgroup.txt为各祖先节点所用外族信息,如需手动指定则需要额外处理。
下面将详细介绍各个文件的作用:
- Tree_File
- species.ratio和all.ratio:所有物种的拷贝数信息;
- Evolutionary_tree.txt:进化树树形以及所有节点分布;
- model_and_outgroup.txt:各个祖先节点计算信息,格式为:当前计算的祖先节点:IAGS计算模型:孩子节点:外族。如果模型为GMP或MultiCopyGMP,则孩子节点有两个。尤其是MultiCopyGMP模型中,如果其外族的拷贝数不足,则会对外族染色体手动加倍以计算,以"*N"表示。
- Process_Drimm
本质为processDrimm 的自动化过程。- Process_OrthoFind:通过物种GFF和orthogroup.tsv文件对基因编码,生成基因序列;
- Drimm_Synteny_Output:运行DRIMM后的原始结果;
- Drimm_Blocks:对DRIMM运行后的原始结果进行LCS,以便下游分析;
- Final_Blocks:将Drimm_Blocks按比例过滤,生成可供IAGS运行的block。
- IAGS
- 各祖先节点名:祖先节点详细信息,包括计算的block,CRB ratio评估等;
- painting:祖先基因组染色体图,其中Painting_start_point.txt记录了画图的基点祖先;
- shufflingEvents.txt:物种fission和fusion信息。
-
1.快速开始
iags_auto -f ./example
-
2.指定参数
iags_auto -f ./example -c 60 -d 12 -s s
-
3.通过图扩充算法运行
python IAGS_AUTO -f ./example --expand
-
4.手动指定外族
iags_auto -f ./example -m manual
随后更改 Result/Tree_File/model_and_outgroup.txt中的外族后继续运行。
iags_auto -f ./example -m continue
-
5.绘制dotplot
iags_auto -f ./example --dotplot
使用此命令,会在Result中额外生成一个Dotplot文件夹,将结果存放其中。
-
6.不进行染色体质量检验
iags_auto -f ./example --check no
如果您选择直接下载源码使用,则需要将上述命令中iags_auto
替换为python IAGS_ATUO.py
,通过直接调用python文件启动。
由于IAGS基于gurobi进行整数优化,所以此工具需要用户自行下载并激活gurobi的license,这里我们提供了的帮助文档帮助用户安装激活gurobi。