OrthoFinder2:直系同源基因的寻找以及Orthogroup构建

OrthoFinder2算法解读

1)基因树的构建,

  • 寻找序列之间的同源关系(相似度的计算):diamond,blast,mmseq2
  • 基因树的推断:DendroBLAST,其他的参考config.json

2)物种树的构建

  • STAG:从无根gene tree推断无根物种树
  • STRIDE:从无根物种树推断有根物种树

Note:

  • STAG:Species Tree from All Genes (STAG)

3)使用“duplication-loss-coalescent model”,推断orthogroup(ortholog + paralog)

一点点背景知识

什么是正交组(Orthogroup)?

一个祖先物种经历过一次物种事件之后,分别形成了物种A和物种B,

祖先物种gene分化得到geneA和geneB —— geneA和geneB,称为正交群(Orthogroup)

Note:paralogs,也可以和orthologs一起,存在于同一个Orthogroup中

参考资料,

[1] 来自lakeseafly的简书笔记
[2] https://en.wiktionary.org/wiki/orthogroup

为什么要研究正交群?

  • 正交群中的所有基因都来自<font color='yellow'>单个祖先基因</font> —— 正交群中的所有基因都有类似的序列和功能

    由于基因重复和丢失在进化中经常发生,<u>1 vs 1 的直系同源物非常少见</u>,

    因此,分析正交群的所有情况(1 vs 1,1 vs more,more vs more)可以得到有关进化历史的信息。

  • “真正识别直系同源物的唯一方法,是构建系统发育树” —— lakeseafly

软件安装

conda create -n orthofinder2 -c bioconda orthofinder -y

软件使用

以mouse、人类、斑马鱼、青蛙(frog?)、日本河豚、果蝇的蛋白质序列为例

1、数据下载

需要注意的是,

  • OrthoFinder2要求输入的序列为氨基酸(蛋白质)序列(CDS对应的序列,即protein coding genes序列)
# human
wget -c http://ftp.ensembl.org/pub/release-106/fasta/homo_sapiens/pep/Homo_sapiens.GRCh38.pep.all.fa.gz
# mouse
wget -c http://ftp.ensembl.org/pub/release-106/fasta/mus_musculus/pep/Mus_musculus.GRCm39.pep.all.fa.gz
# zebrafish
wget -c http://ftp.ensembl.org/pub/release-106/fasta/danio_rerio/pep/Danio_rerio.GRCz11.pep.all.fa.gz
# frog
wget -c http://ftp.ensembl.org/pub/release-106/fasta/xenopus_tropicalis/pep/Xenopus_tropicalis.Xenopus_tropicalis_v9.1.pep.all.fa.gz
# fugu
wget -c http://ftp.ensembl.org/pub/release-106/fasta/takifugu_rubripes/pep/Takifugu_rubripes.fTakRub1.2.pep.all.fa.gz
# fruit fly
wget -c http://ftp.ensembl.org/pub/release-106/fasta/drosophila_melanogaster/pep/Drosophila_melanogaster.BDGP6.32.pep.all.fa.gz

将上述命令保存为脚本并运行,

sh datadownload.sh 2>220704.datadownload.log &

2、提取最长转录本

这一步,主要是为了减少OrthoFinder2的运行时间,可以自己写脚本试试。

3、运行OrthoFinder2

orthofinder -f primary_transcripts/

OrthoFinder2结果解读

1、多少基因在Orthogroup中

一般要求80%的gene可以分配到orthogroup中,

文件:Comparative_Genomics_Statistics/Statistics_Overall.tsv

2、每个物种中有多少基因在Orthogroup中

文件:Comparative_Genomics_Statistics/Statistics_PerSpecies.tsv

3、物种树(species tree)

文件:Species_Tree/SpeciesTree_rooted.txt(自行计算了bootstrap值)

可选工具:

  • Dendroscope —— 勾选 “Interpret as edge labels”
  • ETE Toolkit tree viewer

需要注意的是,

  • 当物种树推断错误时,并不会对正交组(Orthogroup)的推断产生影响,但是可能会对gene tree推断得到的orthologue组成产生影响(e.g. 基因的复制事件)

  • 当已有推断正确的物种树,可以使用-s/-ft参数进行指定

  • OrthoFinder2默认情况下,使用STAG算法(多序列比对的替代,一般具有计算得到更高的bootstrap values)进行分析,该算法使用每个位点的gene tree来计算bootstrap值(并非标准的bootstrap计算方法);

    如果进行分析时,<u>想要使用标准bootstrap计算方法</u>,可指定-M msa(用于<font color='yellow'>串联</font>所有的序列进行比对),用于物种树的推断结果(结果中即可看到100% bootstrap值)

4、同源基因(Orthologues)

OrthoFinder2分析的主要功能之一 —— “find the orthologue of a gene you're interested in”

文件夹:Orthologues/,其下包含了对应物种的gene的同源基因

e.g. Orthologues/Orthologues_Drosophila_melanogaster/Drosophila_melanogaster__v__Homo_sapiens.tsv由3列组成:1)Orthogroup,2)Drosophila_melanogaster,3)Homo_sapiens

e.g. 果蝇的FBgn0005648,对应人类中的:ENSG00000205022、ENSG00000100836、ENSG00000258643

5、基因树(gene tree)

文件夹:

  • Gene_Trees/

  • Resolved_Gene_Trees/(与上述文件夹的结果有一定区别,更加严格)

    针对该文件夹中的基因树,OrthoFinder2执行了“Duplication-Loss-Coalescence analysis”

需要注意的问题:

  • gene tree没有bootstrap values

关于基因复制事件

文件:

  • Gene_Duplication_Events/SpeciesTree_Gene_Duplications_0.5_Support.txt:放入Dendroscope进行可视乎
  • Gene_Duplication_Events/Duplications.tsv
  • Comparative_Genomics_Statistics/
    • Duplications_per_Orthogroup.tsv
    • Duplications_per_Species_Tree_Node.tsv

解读Duplications.tsv的几个点:

  • 当超过50%以上的物种都对应的基因以及重复产生的基因,认为该基因重复事件是可信的

关于正交群(Orthogroups):orthologs,paralogs,etc.

文件夹:

  • Orthogroups/Orthogroups.tsv,一行一个orthogroup,一列为一个物种(按),如下所示

    Orthogroup    Sp.A Sp.B Sp.C
    OG0000000.fa  gene1   gene2   gene3
    

需要注意的是,<font color='yellow'>orthogroup可以包含ortholog以及paralog</font>。

  • Orthogroup_Sequences/,包含对应正交群内的序列

    # e.g.
    OG0000000.fa
    OG0000001.fa
    OG0000002.fa
    OG0000003.fa
    OG0000004.fa
    OG0000005.fa
    OG0000006.fa
    OG0000007.fa
    OG0000008.fa
    OG0000009.fa
    # etc.
    

OrthoFinder2分析的注意事项

来自原作者的总结。

分析上的建议

  • 在进行几个物种的比较基因组分析时,不推荐加入外类群的氨基酸序列进行OrthoFinder2分析。原因是,可能会影响正交群的分化时间推断。
  • 想要保证推断同源基因对的准确性,需要保证一定的物种数量 —— 需要保证所选的物种亲缘关系不是太远(you should break up long branches with intermediate species),<font color='yellow'>最低4个物种,6-10个最优</font>。
  • 推荐使用每一个gene的最长转录本进行分析(选择这样做的一个原因,也是因为这样做有利于节省计算资源)。

如果基因组注释的不好,怎么办?

两句话,

  • OrthoFinder2对出现missing genes的情况,还是能保证一个相对准确的结果,所以不用担心
  • 当一个物种超过100000条转录本时,就很耗费计算资源了!

分析细节上的修改:config.json

find ~ -name "config.json"
vim PATH/config.json

MCL inflation factor的含义?

这个是OrthoFinder2从OrthoMCL继承过来的参数,-I

其默认数值为1.5,修改它的意义在哪里?

  • 当OrthoFinder2鉴定得到的蛋白质序列,感觉关系不是特别大,

    比如在蛋白质功能上天差地别,又或者说蛋白质变异过大,即需要将-I设置得大一些(e.g. 5)

数值大的-I,意味着什么?

-I增大,代表了增大了聚类分析中的颗粒性(granularity),<u>可以得到更加小范围的聚类结果</u>(也就是相当于将聚类结果设置得更加严格)

Note:增加了granularity,也就是相当于将聚类中心点增多,

比如原本能够将3个点聚类在一起,但是增加了granularity之后,就得到了2和1的聚类,3独自聚类。

以下为我的猜想:

猜想1(错误):

反推到Orthogroup的鉴定上,假设当前的输入的蛋白质序列来自四个物种,在默认I值的基础上,只有当4个序列都满聚类条件时,才可以被认定为Orthogroup,

I值增大以后,当出现3个满足条件的序列,其也可以归为一个Ortholog

猜想2:提升granularity,即允许更多聚类结果的呈现(增加了颗粒点)

[1] https://www.biostars.org/p/169145/#:~:text=OrthoMCL%20uses%20an%20inflation%20of,numbers.
[2] http://micans.org/mcl/man/mcl.html#opt-I
[3] OrthoFinder2 Issues
[4] Hierarchical clustering

参考资料

[1] https://davidemms.github.io/orthofinder_tutorials/running-an-example-orthofinder-analysis.html

[2] https://davidemms.github.io/orthofinder_tutorials/exploring-orthofinders-results.html

[3] https://github.com/davidemms/OrthoFinder#what-orthofinder-provides

[4] https://github.com/davidemms/OrthoFinder#orthogroups-orthologs--paralogs

拓展阅读资料

别人的博客写的太好了

[1] https://blog.csdn.net/sinat_41621566/article/details/112320002s【OrthoFinder2相关概念】

[2] https://blog.csdn.net/sinat_41621566/article/details/112320002

额外

哪里可以下载到植物的最长转录本?

JGI网站下的.protein_primaryTranscriptOnly.fa文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容