基因组群体遗传学

orthofinder安装及使用教程

2022-04-06  本文已影响0人  君子一诺

安装orthofinder     使用conda安装

安装软件前,先设置一个小环境,不要直接在自己账户的当前环境内安装软件;你可以创建很多小环境名,有的小环境坏了,你不要就可以了,就好比柜子坏了,你可以扔了,但是如果你把自己账户环境折腾坏了,好比储藏室被你搞坏了,那恢复的代价就高了.

执行命令:conda create-n orthofinder orthofinder=2.5.4     #最新是orthofinder=2.5.4版本

安装完成后,执行命令:conda activate orthofinder      #To activate this environment

相对应的为: conda deactivate         # To deactivate an active environment

要是想查看查看已经存在小环境名:

conda info -e

conda info --envs

conda env list

这三个命令都可以。

# conda environments:     以下是我目前所有的环境

base                  *  /home/dreamer/anaconda3

orthofinder              /home/dreamer/anaconda3/envs/orthofinder

pfam_scan                /home/dreamer/anaconda3/envs/pfam_scan

之后检测是否安装成功,执行命令:orthofinder -h    #test run orthofinder注意一定要在orthofinder这个文件夹在执行,不然容易出错。

运行orthofinder

#用miniconda安装的orthofinder找不到示例文件,就直接下载orthofinder包,然后将里头的ExampleData复制到服务器里的orthofinder文件里。

#运行orthofinder:orthofinder -f ExampleData/ -S diamond -M msa -T raxml -t 8

①参数介绍及选择

orthofinder -f Dataset -M msa -S diamond -T iqtree -t 24 -a 24 > orthofinder.log &

(注:&  表示任务在后台执行,如要在后台运行redis-server,则有  redis-server &)

orthofinder参数详情:

-t 并行序列搜索线程数(默认= 16)

-a 并行分析线程数(默认值= 1)

-M 基因树推断方法。可选:dendroblast和msa(默认= dendroblast)推荐msa

-S 序列搜索程序(默认= blast)选项:blast,mmseqs,,blast_gz,diamond(推荐使用diamond,比对速度很给力)

-A 多序列联配方式,需要添加参数-M msa时才有效;(默认= mafft)可选择:muscle,mafft

-T 建树方法,需要添加参数-M msa时才有效,(默认 = fasttree)可选:iqtree,raxml-ng,fasttree,raxml(推荐)

-s <文件> 可指定特定的根物种树

-I 设定MCL的通胀参数(默认 = 1.5)

-x Info用于以othoXML格式输出结果

-p 将临时pickle文件写入到

-l 只执行单向序列搜索

-n 名称以附加到结果目录

-h 打印帮助文本

如果只需要查找直系同源基因,只需接“-f” 参数即可;此步也可建树,采用默认的建树方法fasttree,为无根树。

nohup orthofinder -f Dataset &      (注:nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。)

如果添加-M msa -T iqtree设定制定参数,可按照设定的参数使用最大似然法构建有根的物种进化树,构建的树为STAG树。

nohup orthofinder -f Dataset -M msa -S diamond -T iqtree -t 24 -a 24 2> orthofinder.log &

关于构建系统进化树,有很多种做法,常见的有利用物种全部的蛋白序列,构建STAG物种树;也有使用单拷贝直系同源基因构建的物种进化树,关于这一点,OrthoFinder查找同源基因,可以输出直系单拷贝同源基因的序列结果,后续也可使用其他构树软件及算法进行进化树构建。关于建树方法,则有距离矩阵法、最大简约法、最大似然法以及贝叶斯;当然目前主流采用的基本为最大似然法和贝叶斯,其中贝叶斯算法计算量巨大,耗时最久,其构建的树也认为最为“逼真”,但文章中使用较多的还是最大似然法,其耗时也需蛮久。

正式运行Orthofinder,相当简单的操作,-f输入目录,里面包含你需要运行的蛋白质fasta文件, -t 所用到的CPU数目。基本的用法就如下,更多的可以去manual中查看。

orthofinder -f Mycoplasma/ -t 2

orthofinder的参数写的很详细,自己查看选择即可。其中有个说明就是在比对和建树是的e值和bootstrap的设置,可以在anaconda/bin/config.json下修改相应程序的参数,添加e值和bootstrap的值。

高级用法:

通过上面的参数,我们可以做一个从蛋白序列到同源基因建树的流程,但是仍然有一些参数无法设置,比如建树过程中的bootstrap。这时候,我们就要修改程序的config.json文件。

如果你是用anaconda安装的orthofinder,那么config.json文件在:anaconda2/bin/config.json

文件开头介绍了修改方法,你可以添加任何你想在流程中使用的软件,只要按照其格式进行命令修改就行。这里主要说一下对其中缘由参数的修改。

如要修改比对过程中的E-value值,那么在相应比对命令里修改数值,blast_gz 里的 -evalue ,diamond 里的 -e 。

如要在iqtree建树过程中增加bootstrap, 则在iqtree的"cmd_line":中添加

-bb 1000 (iqtree的超快bootstrap)或  -b 1000(传统bootstrap)

raxml-ng类似,你可以添加任何你想修改的参数,大家可以在熟悉各软件的的参数后,根据自己的需求更改。

orthofinder -f path/ -S diamond -M msa -T raxml -t 8

# 1. -f 存放你要比对的物种的蛋白序列路径

# 2. -S 比对方法,如果不想等很久的话就diamond吧,毕竟是软件的亮点之一。比对速度是blastp很多倍,结果也差不多。

# 3. -M msa 基因树推断方法

# 4. -T 建树方式,这里选择raxml

# 5. -t 序列搜索线程数,考虑到提交到集群,所以直接用了8个线程

将多个物种的蛋白序列放入data 文件夹下

结果解读:

运行结束后,会在ExampleData里多出一个文件夹,Results_Feb14, 其中Feb14是我运行的日期

生成的结果会存储于Orthofinder/Results_XXX文件中,现在简单看看里面有啥。

我们主要使用Orthoogroups查看正交群的基因和使用 Single_Copy_Orthologue_Sequences里的单拷贝基因构建系统发育树。

直系同源组相关结果文件,将不同的直系同源基因进行分组

Orthogroups.csv:用制表符分隔的文件,每一行是直系同源基因组对应的基因。

Orthogroups.txt: 类似于Orthogroups.csv,只不过是OrhtoMCL的输出格式

Orthogroups_UnassignedGenes.csv: 格式同Orthogroups.csv,只不过是物种特异性的基因

Orthogroups.GeneCount.csv:格式同Orthogroups.csv, 只不过不再是基因名信息,而是以基因数。

直系同源相关文件,分析每个直系同源基因组里的直系同源基因之间关系,结果会在Orthologues_Feb14文件夹下,其中Feb14是日期

Gene_Trees: 每个直系同源基因基因组里的基因树

Recon_Gene_Trees:使用OrthoFinder duplication-loss coalescent 模型进行发育树推断

Potential_Rooted_Species_Trees: 可能的有根物种树

SpeciesTree_rooted.txt: 从所有包含STAG支持的直系同源组推断的STAG物种树

SpeciesTree_rooted_node_labels.txt:  同上,只不过多了一个标签信息,用于解释基因重复数据。

比较基因组学的相关结果文件:

Orthogroups_SpeciesOverlaps.csv: 不同物种间的同源基因的交集

SingleCopyOrthogroups.txt: 单基因拷贝组的编号

Statistics_Overall.csv:总体统计信息

Statistics_PerSpecies.csv:分物种统计信息

STAG是一种从所有基因推测物种树的算法,不同于使用单拷贝的直系同源基因进行进化树构建。

上一篇 下一篇

猜你喜欢

热点阅读