生信基因功能分析工具:Orthofinder使用教程

生信基因功能分析工具:Orthofinder使用教程,第1张

最近Orthofinder2开始陆续更新,文章已经投发到biorkix上,在网上搜了一圈,关于Orthofinder的使用的中文教程几乎是空白的,这周就借此机会和大家一起来学习一下这款软件。

OrthoFinder是比较基因组学中的实用的,运行快速,准确的全面的工具。它的主要功能是,找到了正交群和直系同源物,推断出所有正交群的根基因树,并识别那些基因树中的所有基因重复事件。它还为所分析的物种推断出有根的物种树,并将基因重复事件从基因树比对到物种树的分支中。

另外,OrthoFinder还为比较基因组分析提供全面的统计数据。相比OrthoMCL, OrthoFinder使用简单安装都很简单,安装只需要用过conda就行,运行只需一组FASTA格式的蛋白质序列文件(每个物种一个)。

为了让大家更好的理解使用Orthofinder,在正式介绍其使用的流程前,先来回顾一下与之相关的生物学知识。

直系同源物和旁系同源物

Orthologs(直系同源物)是在两个物种的最后共同祖先(LCA)中来自单个基因的一对基因。直系同源物是同源性基因,是物种形成事件的结果。Paralogs(旁系同源物)是同源基因,是重复事件的结果。下图就可以看到搏早,不同物种间的alpha-chain gene互为Orthologs(直系同源物)。这时候可以引用一个新名词orthogroup (正交群)就用来形容自一组物种的LCA中的单个基因的基因组(在图中就是alpha chain gene)。然后同一物种间alpha 和beta chain gene互为Paralogs(旁系同源物)。最后所有这些关系都可以由OrthoFinder来识别。

为什么要研究正交群?

废话说了一大篇,是时候开始安装软件了。在这里推荐大家使用conda来安装,简单明了,不用担心其他Dependencies的安装

接着准备好测试数据,为了展示的方便,我将原始测试数据重新命名:

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

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

正交群以两种不同的格式返回,一种是制表符分隔的表格格式(* .csv),另一种格式与orthoMCL(* .txt)的输出格式相同。还应该有一个名为WorkingDirectory的目录,其中包含运算过程的中间文件,例如blast结果。

安装加载以下R包

读取Orthofinder中正交群的文件。结果文件将正交群存储为制表符分隔表,其中每一行是正交群,其名为OG,后跟7位数字(例如OG0000123)。表中的每列对应一个物种,并且与fasta文件具有相同的名称。表中的单元格包含序列ID。由于正交组可以包含来自单个物种的几个基因(即,旁系同源物),因此表蔽源中的单个cell可以包含由逗号分隔的几个序列ID。下面是读取结果文件的例子:

获取特定正交群的信息:

可以清晰的看到,在对应的fa文件中,在该特定的正交群OG000018下所包含的fasta序列,其结果如下:

接着让我们来看开正交群的数目,为了获得特定正交群的序列,需要在每个正交群中构建每个物种的基因数量的矩阵:

我们可以在正交群OG0000018中检查每个物种中的旁系同源物的数量:

我们还可以绘制每个正交群中存在的基因数量:

另外一写有趣的事我们可以查看,每个物宏银态种中只有一个直系同源的正交群(1:1:1:1正交群):

正好只存在于两个物种(1:1:0:0正交群)的正交群:

让我们找出这个数字背后所对应的物种:

基本的用法和分析就讲解到这里,当然这只是最基本的东西。其结果涉及到的下游分析还有很多很多,例如构建直系同源基因树等等的知识,大家可以自行进行探讨。

1.查找直系同源群(orthogroups)和直系同源物(orthologs)

2.推断所有直系同源群的有根基因树(rooted gene trees)

3.识别这些基因树中的所有基因复制事件(gene duplication events)

4.推断有根物种树(rooted species tree),并将基因复制事件从基因树映射到物种树上

5.为不同物种基因组间的比较分析提供全面的统计信息

通过修改 config.json 文件,OrthoFinder 支持用户自定义调用软件

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

分为如下几步:

1.BLAST all-vs-all搜索。使用BLASTP以evalue=10e-3进行搜索,寻找潜在的同源基因。(除了BLAST, 还可以选择DIAMOND和MMSeq2)

2.基于基因长度和系统发育距离对BLAST bit得分进行标准化。

3.使用RBNHs确定同源组序列性相似度的阈值

4.构建直系同源组图(orthogroup graph),用作MCL的输入

5.使用MCL(Markov Cluster Algorithm)对基因进行聚类,划分直系同源组

具体的分析和参数解释还可见中文 生信技术公众号 https://mp.weixin.qq.com/s/eeaTOQUHh6zuhYbbLA_Lnw  

    标准OrthoFinder运行会生成一组文件,这些文件描述了直系同源群,直系同源,基因树,解析基因树,有根物种树,基因复制事件以及所分析物种集的比较基因组统计数据。

    Orthogroups.tsv:一个制表符分隔的文本文件, 每行包含属于单个直系同源群的基因 。来自每个 直系同源群(Orthogroup,OGXXXX) 基因被组织成列,每个物种一列。

    Orthogroups_UnassignedGenes.tsv:一个制表符分隔的文本文件,其格式与Orthogroups.csv相同,但 包含未分配给任何直系同源群的所有基因。

    Orthogroups.txt(传统格式):包含Orthogroups.tsv文件中描述的直系同源群,但使用OrthoMCL输出格式。(方便需求)

    Orthogroups.GeneCount.tsv:一个制表符分隔的文本文件,其格式与Orthogroups.csv相同, 记录了每个 Orthogroup 中基因在物种间的分布情况,可以用于分析同源基因在物种间的收缩和扩张。

    Orthogroups_SingleCopyOrthologues.txt: 单拷贝直系同源组。每个物种正好包含配扒一个基因的直系同源群列表,即它们包含一对一的直系同源物。它们非常适合进行种间比较和种树推断。(实际使用时候可以根据需求挑选)。建树选择物种太多时,可能文件为空。

     以物种为单位,记录了每个物种与其他物种间的直系同源基因。

    直系同源物目录为每个物种包含一个子目录,该子目录又包含本物种与其他所有物种的成对比较文件,列出该物种对之间的直系同源物(Orthogroup)。 直系同源物可以是一对一,一对多或多对多,这取决于直系同源物分化后的基因复制事件。 文件中的每一行都包含一个物种中的基因,而该基因是另一物种中该基因的直系同源物,并且每一行都被交叉引用到包含这些基因的直系群中。

    简单点说直系同源物(Orthologues)目录能够找到俩俩物种间的所有直系同源基因。

      每个 直系同源群orthogroup(gene_num >= 4)的有根基因树结构。 默认基因树没有支持值,OrthoFinder 为了节省计算时间没算了,有方法获取支持值(没去学销芦)。

    为每个直系同源群推断出有根的系统发育树,使用 OrthoFinder复制损失合并模型 进行解析。(根据需求用)

详细说明可见  https://mp.weixin.qq.com/s/eeaTOQUHh6zuhYbbLA_Lnw

     SpeciesTree_rooted.txt:从所有包含STAG支持的直系同源组推断的STAG物种树 , 此文件有bootstrap值。

    SpeciesTree_rooted_node_labels.csv:与上述相同的树,但是节点被赋予标签(而不是支持值),用于解释基因重复数据。

    Orthogroups_for_concatenated_alignment.txt:仅在 -M msa 模式下输出,列出了所有串联起来用于推断物种树的 orthogroup ID

    Duplications_per_Orthogroup.tsv:记录了每个 orthogroup 中推断出的基因重复事件数量。

    Duplications_per_Species_Tree_Node.tsv: 记录了物种树中每个节点、物种中发生基因重复事件的数量。

    Orthogroups_SpeciesOverlaps.tsv: 每个物种对之间共享的 orthogroup 直系同源群 (以方矩阵形式)。 不同物种间的同源基因的交集

    OrthologuesStats _ *.tsv:是制表符分隔的文本文件,其中包含矩阵,这些矩阵给出了每对物种之间一对一,一对多和多对多关系的直系同源物数量。

    Statistics_Overall.tsv:记录了有关 orthogroup 的常规统计信息。

    Statistics_PerSpecies.tsv:以物种为单位,记录了有关 orthogroup 的常规统计信息。

    OrthologuesStats _ *:记录了每对物种之间一对一、一对多和多对多关系的直向同源物数量。

    在Statistics_Overall.csv 和Statistics_PerSpecies.csv中的一些名词:

Species-specific orthogroup: 完全由一个物种的基因组成的直系同源群 。

G50和O50,指的是当你直系同源组按照基因数从大到小进行排列,然后累加,当加入某个组后,累计基因数大于50%的总基因数,那么所需要的直系同源组的数目就是O50,该组的基因数目就是G50。

Single-copy orthogroup: 单拷贝直系同源群, 每个物种中仅有一个基因的直系同源群 。这些直系同源群是推断物种树和许多其他分析的理想选择。

Unassigned gene: 未分配的基因, 无法与任何其他基因放入直系同源群的基因,无法和其他基因进行聚类的基因。

    拥有基因树意味着 OrthoFinder 可以识别发生的所有基因复制事件。OrthoFinder 在文件Species_Tree/ SpeciesTree_rooted_node_labels.txt 中标记物种树的节点。

    下图为自带案例中直系同源组 OG0000006 的有根基因树结构。首先分析 N16(node 16),其左右枝 N10、N11 是旁系同源(agal),说明 N16 发生了一次基因复制。不断递归可以发现,N19 后发生了 4 次基因复制。同理分析 N15,其中 N2、N4、N6 为旁系同源(geni),说明 N15 后发生了 2 次基因复制。结合 N15、N19,说明 N20 后发生了 6 次基因复制。由于 agal、geni 中基因与 N1 均不是旁系同源,所以 OG0000006 中总共发生了 6 次基因复制事件。

    Duplications.tsv:记录了程序推测出的所有基因复制事件的信息。其中 Species Tree Node 表示基因复制事件发生时所对应的物种树节点(即复制是在该物种内发生的);Gene tree node 表示基因复制事件发生时所对应的基因树节点与基因复制事件对应的节点;Support 表示复制后两个基因副本未被丢失的比例;Type 中 Terminal 表示重复发生在物种树的末端分支上,Non-Terminal 表示重复发生在物种树的内部分支上,被多个物种共享;Genes 1、Genes 2 为基因列表,其中 Genes 1 表示来自复制后基因的一个副本;Genes 2 表示来自复制后基因的另一个副本。

    SpeciesTree_Gene_Duplications_0.5_Support.txt :记录了物种树每个节点、分枝上包含的基因复制事件的总和,格式为节点或物种名 + 数字(基因复制事件数量)。

    以上给出了基因复制事件的Summary。其中每个节点显示节点名称,后跟一个下划线,然后是映射到物种树中每个节点充分支持的基因复制事件的数量。如果至少 50% 的后代物种保留了复制基因的两个拷贝,则基因复制事件被认为是“得到充分支持的”。例:对于四足动物的共同祖先 N1,有  2458  个得到充分支持的基因复制事件。

        每个直系同源群的FASTA文件给出了 每个直系同源群中每个基因的氨基酸序列。

        与直系同源群序列目录相同的文件,但 仅限于每个物种仅包含一个基因的直系同源群。

    此文件夹仅在 -M msa 模式下输出,均为 FASTA 格式文件。

    1.记录了每个 orthogroup 中序列间的多序列比对结果。

    2.记录了程序通过 CMSA 算法过滤后的 orthogroup 中各序列串联后的多序列比对结果,同时比对结果中空位数 >50% 的列已被删除。

还会有一个名为WorkingDirectory的目录,其中包含运算过程的中间文件,例如blast结果,DIAMOND 比对结果,STAG 输出的无根物种树等。2.3.12版本还生成了一些其他文件夹,没看了

1.基因树(Gene Trees): 根据每个直系同源群推断的系统发育树。

    基因树:指基于单个同源基因差异构建的系统发生树。这种树代表的仅仅是单个基因的进化历史,而不是它所在物种的进化历史。

    Orthogroups_SingleCopyOrthologues.txt:用来看画基因树应该选择哪一个直系同源群的文件。该文件中每个物种正好包含一个基因的直系同源群列表,即它们包含一对一的直系同源物。它们非常适合进行种间比较和种树推断。

2.解析的基因树(Resolved Gene Trees): 为每个直系同源群推断出有根的系统发育树,使用OrthoFinder复制损失合并模型进行解析。

3.物种树(Species Tree): 从所有直系同源群推断出的STAG物种树,包含内部节点上的STAG支持值,并以STRIDE为根(-M dendroblast)。

大部分都是摘抄的,记录有错的地方,麻烦批评指正了。

看得头晕,挺多还没理解,后面弄WGD再来看看

声明:本篇多为资料整理总结,仅用于自学记录,侵删,谢谢。感谢作者大大们分享:

OrthoFinder    https://github.com/davidemms/OrthoFinder

xuzhougeng     https://www.jianshu.com/p/16e0bbb2ba19

浓香鸭腿面    https://blog.csdn.net/sinat_41621566/article/details/112320002

bclhx    火星的后裔     https://mp.weixin.qq.com/s/Jny5cTHqQh9yQx-cKQTWbA#tocbar--ebkh9l

生信技术     https://mp.weixin.qq.com/s/eeaTOQUHh6zuhYbbLA_Lnw


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12201832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存