1. Summary
基因家族扩张收缩分析可细分为六部分:
- 获取每个基因对应的最长编码区转录本
- OrthoFinder聚类基因家族
- 系统发育树推断
- 物种分歧时间推断
- 基因家族扩张收缩分析
- 功能富集
2. 正文
2.1 Orthogroup概念介绍
Orthologous指直系同源。与其对应的一个概念是旁系同源paralogous。
只要记住Ortholog基因是由Species differentiation形成的,而paralog基因是由gene duplication 形成的就可以区分清楚。比如组蛋白H1.1和H1.2是由gene duplication 形成的,所以是paralog;而human histone H1.1和chimpanzee histone H1.1都是histone H1.1,只不过因为物种分化而分配到两个物种中,所以是ortholog。
需要搞清楚的是,Orthogroup是直系同源和旁系同源的共同集合,不能将其简单理解为直系同源。OrthoFinder对Orthogroup的官方解释是: Group of genes descended from single gene in LCA of group of species。而Orthologues和Paralogues则分别是成对物种的直系同源基因家族和旁系同源基因家族
2.2 OrthoFinder workflow及特点
OrthoFinder特点
- 操作简单,只需要提供各个物种蛋白质序列文件(一个物种一个文件)
- 运行时间短,十四个真核生物蛋白质组同源基因家族推断不超过一天(core=12)
- 推断Orthologues和Orthogroups,推断所有orthogroups的基因树,推断rooted species tree
- 给出全面的summary statistics
2.2 OrthoFinder操作
本文用到的是OrthoFinder version 2.5.4
2.2.1 安装
conda install -c bioconda orthofinder
2.2.2 参数介绍
可以通过orthofinder -h
查看所有参数的解释。
上图是一个非常全面的参数介绍,但不了解的同学看起来会有些吃力。这里我们再详细介绍一下:参数部分分为三大块,(1)基础参数(2)提前终止参数(3)终止后重启参数。一般都是一整套跑完,所以这里详细介绍基础参数。
-f 输入文件所在路径,一个物种蛋白质组对应一个文件
-t <int> 有条件的话,这个参数建议一直使用。该参数参与BLAST搜索、tree推断和gene-tree reconciliation的并行化。这些都是非常耗时的步骤,所以该参数可以设置大一些
-a <int> Orthofinder除-a涉及的几个步骤外,运行地都相对比较快和高效,所以-a参数不会有大的影响。这个参数在OrthoFinder分析提前计算好的BLAST结果时更有用,但需要提供更大的RAM
-d 当输入文件是DNA序列时指定该参数
-M <txt> gene tree 推断软件. Options 'dendroblast' & 'msa' [Default = dendroblast]
-S <txt> 序列搜索软件[Default = diamond] Options: blast, diamond, blast_nucl, mmseqs, diamond_ultra_sens, blast_gz
-A <txt> 多序列比对软件, requires '-M msa' [Default = mafft] Options: mafft, muscle
-T <txt> 物种树推断方法, requires '-M msa' [Default = fasttree] Options: iqtree, fasttree, raxml-ng, raxml
-s <file> 用户提供的有根物种树
-o <txt> 非默认的结果文件路径
2.2.3 运行命令
orthofinder -M msa -A mafft -S diamond -f longest_proteins/ -t 12
这里没有指定输出结果目录,所以默认在输入文件目录longest_protein
下创建一个OrthoFinder/Results_Jan07
文件夹放结果文件。Jan07
是输出的时间,根据实际的时间而变动
2.2.4 结果介绍
Orthofinder输出的结果非常非常全面!你能想到的他基本都输出了b( ̄▽ ̄)d
目录名基本表达了里面文件的含义,这里列出几个之后要用的文件。
-
Orthogroups/Orthogroups.GeneCount.tsv
:每个Orthogroup在每个物种中的protein count数 -
Orthogroups/Orthogroups.tsv
:存放了每个orthogroup在每个物种中对应的具体蛋白质id -
Single_Copy_Orthologue_Sequences/
:存放了每个单拷贝orthogroup在每个物种中的蛋白质序列
软件操作很简单,重要的是理解它用到的概念和大致原理,推荐大家在看完教程后,学习一下manual和paper~