生信小白白比较基因组学基因家族_收缩与扩张分析

Orthofinder-安装、原理与示例数据运行

2021-04-19  本文已影响0人  MLD_TRNA

OrthoFinder能做什么?

做进化、基因家族分析、比较基因组使用
OrthoFinder: solving fundamental biases in whole genome comparisons dramatically improves orthogroup inference accuracy提到,它的优点就是比其他的直系同源基因组的推断软件准确,并且速度还快。

OrthoFinder 功能

OrthoFinder 功能及优势

此外他还能分析所提供物种的系统发育树,将基因树中的基因重复事件映射到物种树的分支上,还提供了一些比较基因组学中的统计结果。

OrthoFinder 工作流程

软件使用--示例数据

在解压缩的OrthoFinder文件目录下(安装见最后)有一个 ExampleData, 里面就是用于测试的数据集。

orthofinder -f ExampleData -S mmseqs
orthofinder-f data\ #存放蛋白的fa数据
-S diamond \ #比对模式:diamond,blast,mmseqs,blast_gz
-M msa \ #基因树推断法:dendroblast,msa(推荐)
-T fasttree\#建树软件:iqtree,fasttree,raxml(推荐), raxml
-t #线程

如果你想根据多序列联配(MSA)结果按照极大似然法构建系统发育树,那么你需要加上-M msa。这样结果会更加准确,但是代价就是运行时间会更久,这是因为OrthoFinder要做10,000 - 20,000个基因树的推断。
OrthoFinder默认用mafft进行多序列联配,用fasttree进行进化树推断。多序列联配软件还支持muscle, 进化树推断软件还支持iqtree, raxml-ng, raxml。例如参数可以设置为-M msa -A mafft -T raxml.
并行化参数: -t参数指定序列搜索时的线程数,-a指的是序列搜索后分析的CPU数。

软件细节

OrthoFinder提供了config.json可以调整不同软件的参数,如下是BLASTP。


图片.png

OrthoFinder默认使用DendroBLAST发育树,也就是根据序列相似度推断进化关系。这是作者推荐的方法,在损失部分准确性的前提下提高了运算效率。当然你可以用-M msa从多序列比对的基础上进行基因树构建。如果你先用了默认的DendroBLAST,想测试下传统的MSA方法,那么也不需要重头运行,因为有一个-b参数可以在复用之前的比对结果。

在物种发育树的推断上,OrthoFinder使用STAG算法,利用所有进行构建系统发育树,而非单拷贝基因。此外当使用MSA方法进行系统发育 树推断时,OrthoFinder为了保证有足够多的基因(大于100)用于分析,除了使用单拷贝基因外,还会挑选大部分是单拷贝基因的直系同源组。这些 直系同源组的基因前后相连,用空缺字符表示缺失的基因,如果某一列存在多余50%的空缺字符,那么该列被剔除。最后基于用户指定的建树软件进行系统发育树 构建。结果在"WorkingDirectory/SpeciesTree_unrooted.txt"

使用STRIDE算法从无根树中推断出有根树, 结果就是"SpeciesTree_rooted.txt".

结果文件

图片.png

其中Orthogroups.GeneCount.csv中每一行代表一个基因家族,每一列表示每个物种的基因家族包含多少基因,比如0G0000000这个基因家族,在1物种中没有,在2物种有1个基因,在3物种有8个基因


图片.png

我们选出各个物种中基因数大于0的基因家族,首先看物种1我们不要第一行,然后看物种1,也就是$2,选出大于0的,然后我们需要的是基因家族编号,也即是第一列

sed '1d' Orthogroups. GeneCount. csv | awk '$2 >0 { print  $1}'  >1. txt

如何安装?

最快的方法

OrthoFinder可以通过conda安装,建议为它新建一个虚拟环境

conda create -n orthofinder orthofinder=2.2.7

包括两两比对软件: blast, diamond, #diamond快,且宣称其方法和比对结果并不比blast逊色
包括多重比对软件: mafft, muscle, #muscle最快, maft最准,这两个软件在多序列比对中宣称排前二
包括建树软件: fasttree, raxml, igtree, #fasttree最快, raxml和iqtree较准
包括聚类软件: mcl, # orthofinder套用的聚类软件
包括其他重要的包和依赖。#一般生信分析都会涉及的依赖,很多都在这里了,比几年前友好多了。

GitHub

OrthoFinder 是一款用 python 编写的程序,依赖 python 和 numpy、scipy 包。若缺少上述依赖则下载 OrthoFinder.tar.gz(58.7MB),若满足则下载 OrthoFinder_source.tar.gz(4.58MB)。下载地址:https://github.com/davidemms/OrthoFinder/releases。下载完成后解压即可,通过文件夹中 orthofinder.py 调用 OrthoFinder(如 $ ./orthofinder.py -h)。

注意!若要使用 -M msa 参数,还要需要自行安装 FastTree、MAFFT 程序。

如果你愿意折腾

你先得安装它的三个依赖工具: MCL, FastME, DIAMOND/MMseqs2/BLAST+
MCL有两种安装方式,最简单的就是用sudo pat-get install mcl, 但是对于大部分人可能没有root权限,因此这里用源代码编译。http://micans.org/mcl/

wget https://www.micans.org/mcl/src/mcl-latest.tar.gz
tar xf mcl-latest.tar.gz
cd mcl-14.137
 ./configure --prefix=~/opt/biosoft/mcl-14.137
make -j 20 && make install 

之后是MMseqs2, 一个蛋白搜索和聚类工具集,相关文章发表在NBT, NC上。GitHub地址为https://github.com/soedinglab/MMseqs2

wget https://github.com/soedinglab/MMseqs2/releases/download/3-be8f6/MMseqs2-Linux-AVX2.tar.gz
tar xzf MMseqs2-Linux-AVX2.tar.gz
mv mmseqs2 ~/opt/biosoft/

最后安装FastME, 这是一个基于距离的系统发育树推断软件。在http://www.atgc-montpellier.fr/fastme/binaries.php下载,上传到服务器

tar xf fastme-2.1.5.tar.gz
cd fastme-2.1.5
./configure --prefix=/opt/biosoft/fastme-2.1.5
make && make install

<meta charset="utf-8">

BLAST+可装可不装,推荐阅读这或许是我写的最全的BLAST教程

以上软件安装之后,都需要将其添加到环境变量中,才能被OrthoFinder调用。

之后在https://github.com/davidemms/OrthoFinder/releases 寻找最近的稳定版本下载到本地,例如OrthoFinder v2.2.7

tar xzf OrthoFinder-2.2.7.tar.gz
OrthoFinder-2.2.7/orthofinder -h
上一篇下一篇

猜你喜欢

热点阅读