OrthoFinder 進行直系同源基因分析教程

介紹

OrthoFinder 是一個快速、準確和全面的比較基因組學平臺。 它找到正交群(orthogroups)和直系同源(orthologs),推斷所有正交群的有根基因樹,并識別這些基因樹中的所有基因復制事件。它還為被分析的物種推斷出一個有根的物種樹,并將基因復制事件從基因樹映射到物種樹的分支。
OrthoFinder 還為比較基因組分析提供全面的統(tǒng)計數(shù)據(jù)。 OrthoFinder 使用簡單,運行它所需的只是一組 FASTA 格式的蛋白質序列文件(每個物種一個)。

總的來說,它將要分析的物種的蛋白質組作為輸入,并從這些蛋白質組中:

  • 推斷目標物種的正交群
  • 推斷出一組完整的有根基因樹
  • 推斷有根物種樹
  • 使用基因樹推斷基因之間的所有直系同源關系
  • 推斷基因復制事件并將它們交叉引用到基因和物種樹上的相應節(jié)點
  • 為目標物種提供比較基因組學統(tǒng)計數(shù)據(jù)

除了大規(guī)模分析外,它還可以用于在實驗研究之前仔細檢查各個直系同源關系。
公眾號:生信技術 歡迎關注~!

在這里插入圖片描述

安裝

使用Conda安裝

conda install orthofinder

本地安裝

可以使用 Bioconda 安裝 OrthoFinder 或直接從 GitHub 下載。

# 從github下載最新版本
https : //github.com/davidemms/OrthoFinder/releases

# 如果安裝了 python 以及 numpy 和 scipy 庫,下載 OrthoFinder_source.tar.gz
# 如果沒有,則下載更大的捆綁包 OrthoFinder.tar.gz

# 在終端中, cd 到下載軟件包的位置
# 提取文件
tar xzf OrthoFinder_source.tar.gz
tar xzf OrthoFinder.tar.gz
#測試運行 OrthoFinder
python OrthoFinder_source/orthofinder.py -h
./OrthoFinder/orthofinder -h

命令行選項

開始分析的選項

-f <dir>:從 FASTA 文件目錄開始分析
-b <dir>:從 OrthoFinder 目錄中的 BLAST 結果開始分析
-b <dir1> -f <dir2>:從 OrthoFinder dir1 中的 BLAST 結果開始分析并添加 FASTA 文件from dir2
-fg <dir>:從 orthogroups OrthoFinder 目錄開始分析
-ft <dir>:從 OrthoFinder 目錄中的基因樹開始分析

停止分析的選項

-op:在為全對全序列搜索準備輸入文件后停止(例如 BLAST/DIAMOND)
-og:在推斷正交群后停止
-os:在為正交群寫入序列文件后停止(需要 '-M msa')
-oa:停止推斷多張序列比對后orthogroups(需要“-M MSA”)
-ot:停止推斷基因樹orthogroups

控制工作流程的選項

-M <opt>:使用 MSA 或 DendroBLAST 基因樹推斷,opt=msa,dendroblast [默認=dendroblast]

控制所用程序的選項

-S <opt>:序列搜索程序 opt=blast,diamond,mmseqs,... 用戶可擴展 [默認 = 菱形]
-A <opt>:MSA 程序 opt=mafft,muscle,... 用戶可擴展(需要'-M msa') [默認 = mafft]
-T <opt>:樹推理程序 opt=fasttree,raxml,iqtree,... 用戶可擴展(需要 '-M msa')[默認 = fasttree]

更多選項

-d:輸入是 DNA 序列 -t <int>:用于序列搜索、MSA 和樹推理的線程數(shù) [默認為機器上的內核數(shù)]
-a <int>:用于內部、RAM 密集型任務的并行分析線程數(shù)[默認值 = 1]
-s <file>:用戶指定的有根物種樹
-I <int>:MCL 膨脹參數(shù) [默認值 = 1.5]
-x <file>:以 OrthoXML 格式輸出結果的信息
-p <dir>:將臨時 pickle 文件寫入 <dir>
-1:僅執(zhí)行單向序列搜索
-X:不要將物種名稱添加到輸出文件中的序列 ID
-y:將 HOG 根部下方的旁系同源進化枝拆分為單獨的 HOG
-z:不修剪 MSA(列數(shù)>=90% 間隙,最小對齊長度 500)
-n <txt>:添加到結果目錄的名稱
-o <txt>:非默認結果目錄
-h:打印這個幫助文本

分析前的準備

物種的選擇

三個標準分析是:

  • 跨物種進化枝進行比較分析
  • 識別一對或少數(shù)物種之間的直系同源物
  • 研究進化史上特定點的變化

在第一種情況下,只需盡可能獲取進化枝中所有物種的pep序列。通常,不需要為感興趣的進化枝包含一個外群。因為這會推遲進化歷史中定義正交群(Orthogroups, Orthologs & Paralogs)的點,因此最好不要,如果添加外群的話正交群將具有較低的分辨率。

在第二種情況下,最好確保有足夠的物種以獲得最佳結果。同樣的規(guī)則適用于推斷一個好的系統(tǒng)發(fā)育樹:應該用中間物種分解長分支。需要最少 4 個物種,最佳選擇6-10 個。

如果對物種樹特定分支上發(fā)生的事感興趣,那么同樣應該確保良好的物種選擇。理想情況下,分支下方至少有兩個物種,上方最近的分支至少有兩個物種,以及在外群至少有兩個物種。

轉錄組和低質量基因組

一般來說,最好使用可用的最佳注釋基因組,但 OrthoFinder 對缺失基因非常穩(wěn)健,因此這不是一個大問題。 轉錄組可能出現(xiàn)的一個問題是,當從每個物種大約 100,000 個轉錄本開始時。 這在計算上可能很費時,并且可能會導致生成大量文件,因此在這種情況下要多注意。

使用哪個proteome版本

OrthoFinder 使用氨基酸序列作為蛋白質編碼基因。 理想的情況是對每個基因使用單一的 primary/longest transcript variant
這也將大大減少運行時間。

  • Ensembl:使用.pep.all.fa文件而不是.pep.abinitio.fa,據(jù)我所知,這些是更好的支持基因模型(如果有問題請糾正)。通常,不是每個基因只有一個代表性的轉錄本,但有一個隨 OrthoFinder 一起提供的腳本提取每個基因的最長轉錄本,推薦使用它。

Ensmbl 上還有用于下載基因組的子站點:bacteria、protistsfungi、metazoa

  • Phytozome使用.protein_primaryTranscriptOnly.fa文件

物種名稱

OrthoFinder 將使用每個蛋白質組文件名作為該物種的名稱。使用這些的地方是在基因樹中,其中每個基因名稱都以其物種名稱為前綴。這非常有助于解釋需要查看的任何基因樹,因為如果節(jié)點是重復或物種形成事件,它會顯而易見。它還可以查看基因樹中的基因是否以期望它們獲得物種樹知識的方式相關。

因此,使用簡潔的命名風格。例如,對來自 Phytozome 的植物基因組運行 OrthoFinder 時,給文件命名為A_thaliana.faO_sativa.fa。

基因名稱

OrthoFinder 將通過測試每個登錄行上的第一個(空格分隔的)單詞是否唯一,嘗試找到一組簡短的、唯一的基因名稱來引用每個序列。
如果是,那么基因將通過這些名稱來識別。否則,將使用完整的登錄行來指代每個基因。由于the quadratic nature of orthology(每個物種對一個直系同源結果文件),每個基因名稱將被寫出 O(n) 次,因此對于大型分析,使登錄行整潔將大量節(jié)省磁盤空間以及 OrthoFinder 寫出所有直系同源結果文件所花費的時間!

如果將上述腳本用于 Ensembl proteomes,那么文件將被正確解釋,因此它們具有合適的格式,每個序列都有一個基因標識符。

運行

示例數(shù)據(jù)運行

OrthoFinder/orthofinder -f OrthoFinder/ExampleData

實際運行

自己的數(shù)據(jù)集的話需要將OrthoFinder/ExampleData替換為你的蛋白序列文件所在的文件夾位置。
OrthoFinder 將查找具有以下任何文件擴展名的輸入 fasta 文件:

.fa
.faa
.fasta
.fas
.pep

結果文件解析

默認情況下,OrthoFinder 在輸入目錄中創(chuàng)建一個名為“OrthoFinder”的結果目錄,并將結果放在此處。結果目錄如下所示:


在這里插入圖片描述

測試數(shù)據(jù)的結果文件下載

wget https://bioinformatics.plants.ox.ac.uk/davidemms/public_data/Results_model_species.tar.gz --no-check-certificate

Phylogenetic Hierarchical Orthogroups

從 2.4.0 版本開始,OrthoFinder 通過分析有根基因樹來推斷每個層級(即物種樹中的每個節(jié)點)的 HOG、正交群。

這是一種比以前由 OrthoFinder 使用的基于基因相似性/圖形的方法(已棄用的 Orthogroups/Orthogroups.tsv 文件)更準確的正交群推斷方法。

根據(jù) Orthobench benchmarks,這些新的正交群比 OrthoFinder2 正交群 (Orthogroups/Orthogroups.tsv) 準確 12%。通過包括外群物種,可以進一步提高準確度(在 Orthobench 上準確度提高 20%),這有助于解釋有根基因樹。

  1. N0.tsv
    是制表符分隔的文本文件。每行包含屬于單個正交群的基因。來自每個正交群的基因被組織成列,每個物種一個。額外的列給出了 HOG(分層正交群)ID 和基因樹中確定 HOG 的節(jié)點(注意,這可以在包含基因的進化枝的根之上)。該文件有效地替換了使用 MCL 進行馬爾可夫聚類的Orthogroups/Orthogroups.tsv 中的正交群。

  2. N1.txt, N2.tsv, ...
    Orthogroups 從與物種樹 N1、N2 等中物種進化枝對應的基因樹推斷出來?,F(xiàn)在可以在分析中包含外群物種,然后使用 HOG 文件獲取為物種樹中所選進化枝定義的正交群。
    (分層正群分裂:在分析基因樹時,嵌套的分層組(除 N0 以外的任何 HOG,所有物種的最后一個共同祖先級別的 HOG)有時可能會丟失最早發(fā)散物種的基因,然后復制在第一個現(xiàn)存基因之前。即使有證據(jù)表明它們屬于同一個 HOG,但兩個最初的分歧進化枝將是旁系同源的。對于大多數(shù)分析,通常最好將這些進化枝分成單獨的組。這可以使用選項 ' 請求-y '.)

Species Tree 文件夾

進化樹查看軟件(有很多簡單列舉幾個我用到的)

  1. Denroscope是一個樹查看器,可以下載并在本地運行,如果要查看不止幾棵樹,它是最佳選擇。

  2. Figtree 一種用于進化生物學的進化樹作圖軟件,主要用于生物進化系統(tǒng)樹,并且支持多種形式的進化樹,支持有顏色、名稱變化等功能

  3. 從 Web 瀏覽器查看,例如 ETE Toolkit tree viewer。

使用其中之一,打開文件Species_Tree/SpeciesTree_rooted.txt。由于此文件有bootstrap值,Denroscope 需要選擇 Interpret as edge labels 選項才能正確查看它們。物種樹看起來像這樣:

在這里插入圖片描述

這棵樹是由 OrthoFinder 使用STAG算法推斷出來的,并使用STRIDE算法進行了生根。

如上所述,可以在此處看到果蠅位于比其他物種更長的分支上。如果知道物種樹應該是什么樣子,應該檢查樹是否符合預期。這里推斷樹是正確的。

如果物種樹不正確,也不會影響 orthogroup 推斷,但它可能會影響某些具有基因重復事件的基因樹中的 orthologue 推斷。在這種情況下,可以使用更正后的物種樹(-ft-s選項)再次運行 OrthoFinder 分析。通常運行很快,因為所有計算量大的計算(正交群和基因樹的推斷等)都已經(jīng)完成。

在這棵樹中,支持值并非都是 100%。
使用默認選項,物種樹推斷是使用 STAG 執(zhí)行的,它使用從支持每個二分的單基因座基因樹派生的物種樹的比例作為其支持的度量。 這是比多序列比對的標準引導程序支持更嚴格的措施。
如果改為使用-M msa選項,則將使用串聯(lián)的多序列比對代替物種樹推斷,并且所有二分法的支持度值為 100%。 在這種情況下,支持值對應于從完整的多基因比對中獲取的引導復制,這是完全不同的事情。 這是最常用的支持度量,對于相同的數(shù)據(jù)總是會報告更高的支持值。

  1. SpeciesTree_rooted.txt
    從所有正交群推斷的 STAG 物種樹,包含內部節(jié)點處的 STAG 支持值并使用 STRIDE 植根。
  1. SpeciesTree_rooted_node_labels.txt
    與上面相同的樹,但節(jié)點被賦予標簽(而不是支持值),以允許其他結果文件交叉引用物種樹中的分支/節(jié)點(例如基因復制事件的位置)。

Orthologues

運行 OrthoFinder 的最常見原因之一是找到感興趣的直系同源基因

實際的操作流程如下:

  1. 找一個感興趣的基因比如:看看果蠅基因 FBgn0005648 [它參與核裂解/聚腺苷酸化反應的裂解和聚腺苷酸化步驟(見FlyBase)] 的 orthologues
    Orthologues目錄中,每個物種都有一個子目錄,該子目錄又包含每個成對物種比較的文件,列出該物種對之間的直向同源物。
    打開Orthologues/Orthologues_Drosophila_melanogaster/Drosophila_melanogaster__v__Homo_sapiens.tsv
    該文件包含三列,Orthogroup、Drosophila_melanogasterHomo_sapiens。在表中找到FBgn0005648,會看到該基因在正交群OG0001189中,并且它在人類中具有三個orthologues:ENSG00000205022、ENSG00000100836、ENSG00000258643。

Gene Trees

為具有 4 個或更多序列(4 個序列是大多數(shù)樹推理程序進行樹推理所需的最小數(shù)量)的每個正交群推斷出的有根系統(tǒng)發(fā)育樹。

在上面發(fā)現(xiàn)FBgn0005648在人類中具有三個直系同源基因,接下來我們將查看基因樹,看看是否符合這一點,看看這三個直系同源物是如何產生的。
打開Gene_Trees/OG0001189_tree.txt

在這里插入圖片描述

從圖片可以看出,OrthoFinder 已自動植根 ———— 這棵樹植根于Drosophila基因 FBgn0005648。這使得快速檢查基因樹非常方便,對于更復雜、更難解釋的基因樹尤其有用。

查看基因樹,我們可以看到發(fā)生了兩個基因復制事件,一個由脊椎動物共享,另一個由人和小鼠共享。這導致了一對三的直系同源關系,即所有三個人類基因都與一個果蠅基因密切相關。通常情況下,直系同源關系不是一對一的,了解這一點很重要(如果不想花幾個月的時間對“直系同源”進行實驗)

我們可以在 FlyBase 上查看這個基因的頁面:http://flybase.org/reports/FBgn0005648.html
轉到Orthologs部分,然后查看Human Orthologs,會發(fā)現(xiàn)識別所有這三種直向同源物的方法是基于樹的方法 Compara、eggNOG、OrthoFinder 和 TreeFam。OrthoFinder 是唯一可以在自己的數(shù)據(jù)上運行的工具。基于評分的方法,例如 Hieranoid、Inparanoid、OMA 和 OrthoMCL,僅識別出這些直向同源物中的一個或一個。基因樹對于識別和解決這些復雜的關系尤為重要。

默認基因樹沒有支持值。畢竟,OrthoFinder 已經(jīng)將大約 121,000 個基因分配到正交群中,并在大約 15 分鐘內為這些基因推斷了近 18,000 個基因樹!我們將在后面的教程中討論如何獲取支持值。

Gene Duplication Events

擁有基因樹意味著 OrthoFinder 可以識別發(fā)生的所有基因復制事件。
OrthoFinder 在文件Species_Tree/ SpeciesTree_rooted_node_labels.txt 中標記物種樹的節(jié)點

查看節(jié)點N1,脊椎動物的共同祖先(即 D. rerio、T. rubripes、X.tropicalis、H. sapiens和M. musculus)。有兩個文件提供了有關基因復制事件的詳細信息。我們先打開Gene_Duplication_Events/SpeciesTree_Gene_Duplications_0.5_Support.txt

在這里插入圖片描述

以上給出了基因復制事件的Summary。其中每個節(jié)點顯示節(jié)點名稱,后跟一個下劃線,然后是映射到物種樹中每個節(jié)點充分支持的基因復制事件的數(shù)量。
如果至少 50% 的后代物種保留了復制基因的兩個拷貝,則基因復制事件被認為是“得到充分支持的”。

對于四足動物的共同祖先 N1,有 2458 個得到充分支持的基因復制事件。

我們可以在文件Gene_Duplication_Events/Duplications.tsv 中看到這些基因復制事件的列表。以下是文件中的幾行,按它們發(fā)生的物種樹節(jié)點排序:

在這里插入圖片描述

每個基因復制事件都與物種樹節(jié)點、它發(fā)生的正交群/基因樹和該基因樹中的節(jié)點交叉引用。

  1. Duplications.tsv
    是一個制表符分隔的文本文件,它列出了通過檢查每個正群基因樹的每個節(jié)點識別出的所有基因復制事件。列是“Orthogroup”,“Species Tree node”(發(fā)生復制的物種樹的分支,參見Species_Tree/SpeciesTree_rooted_node_labels.txt),“Gene tree node”(與基因復制事件對應的節(jié)點,參見相應的orthogroup Resolved_Gene_Trees/) 中的樹;“支持”(存在復制基因的兩個副本的預期物種的比例);“類型”(“終端”:物種樹終端分支上的重復,“非終端”:物種樹內部分支上的重復,因此被多個物種共享,“非終端:STRIDE檢查基因樹的拓撲結構在復制后應該是什么);“基因 1”(基因列表來自復制基因的一個副本),“基因 2”(基因列表來自復制基因的另一個副本。

  2. SpeciesTree_Gene_Duplications_0.5_Support.txt
    提供了物種樹分支上的上述重復的總和。它是一個 newick 格式的文本文件。每個節(jié)點或物種名稱后面的數(shù)字是在導致節(jié)點/物種的分支上發(fā)生的具有至少 50% 支持度的基因復制事件的數(shù)量。分支長度是標準分支長度,如 Species_Tree/SpeciesTree_rooted.txt 中給出的。

Resolved Gene Trees

Orthofinder還列出了從基因復制事件產生的兩個拷貝中的每一個的后代的基因。

我們可以查看 FBgn0005648 直系同源物。
通過 Resolved_Gene_Trees/OG0001189_tree.txt 中的基因樹。 該目錄包含帶有標記節(jié)點的基因樹。

這些文件顯示了 OrthoFinder 在推斷直向同源物和基因復制事件時如何解釋基因樹。 它們可能與直接來自tree inference 步驟(在 Gene_Trees/ 中可用)的原始基因樹略有不同。 為了獲得已解析的基因樹,OrthoFinder 進行了重復-丟失-合并分析,以確定對基因樹的更簡潔的解釋。

在這里插入圖片描述

從表中可以看出,在節(jié)點 n1 處發(fā)生了基因復制事件,所有后代物種中的兩個副本均 100% 保留。 查看樹,第二個基因復制事件發(fā)生在節(jié)點 n10 上,如果我們回到表格中,我們可以看到這個列表以及 Danio rerio 中的終端基因復制事件:

[圖片上傳失敗...(image-e267d5-1638339636006)]

如果對基因復制事件感興趣,那么此表包含大量數(shù)據(jù)。 在這六個物種中,OrthoFinder 確定了 34,065 個基因重復事件,所有這些事件都與它們發(fā)生的物種樹和基因樹的節(jié)點交叉引用! 這些事件也按正交群和物種樹節(jié)點匯總在文件 Duplications_per_Orthogroup.tsvDuplications_per_Species_Tree_Node.tsv 中,它們都在目錄 Comparative_Genomics_Statistics/ 中。

為具有 4 個或更多序列的每個正交群推斷出有根的系統(tǒng)發(fā)育樹,并使用 OrthoFinder hybrid species-overlap/duplication-loss coalescent模型進行解析。

Comparative Genomics Statistics

  1. Duplications_per_Orthogroup.tsv
    一個制表符分隔的文本文件,它給出了每個正交群中標識的重復數(shù)。此數(shù)據(jù)的主文件是 Gene_Duplication_Events/Duplications.tsv。

  2. Duplications_per_Species_Tree_Node.tsv
    它給出了識別為沿著物種樹的每個分支發(fā)生的重復數(shù)。此數(shù)據(jù)的主文件是 Gene_Duplication_Events/Duplications.tsv。

  3. Orthogroups_SpeciesOverlaps.tsv
    包含作為方陣的每個物種對之間共享的正交群的數(shù)量。

  4. OrthologuesStats_*.tsv
    包含矩陣給出每對物種之間一對一、一對多和多對多關系中的直向同源物數(shù)量。

  5. OrthologuesStats_one-to-one.tsv
    是每個物種對之間一對一直向同源物的數(shù)量。

  6. OrthologuesStats_many-to-many.tsv
    包含每個物種對的多對多關系中的直向同源物的數(shù)量(由于物種形成后兩個譜系中的基因重復事件)。條目 (i,j) 是物種 i 中與物種 j 中的基因存在多對多直系關系的基因數(shù)。

  7. OrthologuesStats_one-to-many.tsv
    條目 (i,j) 給出物種 i 中與物種 j 的基因處于一對多直系關系的基因數(shù)量。這里有一個示例結果文件的演練 (https://github.com/davidemms/OrthoFinder/issues/259)。

  8. OrthologuesStats_many-to-one.tsv
    條目 (i,j) 給出物種 i 中與物種 j 中的基因處于多對一直系關系的基因數(shù)量。

  9. OrthologuesStats_Total.tsv
    包含任何多樣性的每個物種的直向同源物對的總數(shù)。條目 (i,j) 是物種 i 中在物種 j 中具有直向同源物的基因總數(shù)。

  10. Statistics_Overall.tsv
    是一個制表符分隔的文本文件,其中包含有關正交群大小和分配給正交群的基因比例的一般統(tǒng)計信息。
    總的來說,至少 80% 的基因被分配到正交群。少于此值意味著可能會遺漏某些剩余基因實際存在的直系同源關系,物種采樣不佳是造成這種情況的最可能原因。 讓我們也檢查每個物種的百分比。

  11. Statistics_PerSpecies.tsv
    是一個制表符分隔的文本文件,它包含與 Statistics_Overall.csv 文件相同的信息,但針對每個單獨的物種。

Orthogroups

每個正交群的 FASTA 文件給出了正交群中每個基因的氨基酸序列。

通常我們對分組物種比較感興趣,即跨物種進化枝(而不是一對物種之間的比較)。orthogroup 對多個物種的泛化是orthogroup。就像直系同源物是一對物種的最后一個共同祖先中的單個基因的后裔一樣,正交群是一組物種中的單個基因的后裔。OrthoFinder 中的每個基因樹,例如上面的基因樹,都對應一個正交群。如果我們希望它包含所有成對直向同源物,那么正交群基因樹就是我們需要查看的樹。并且即使正交群中的某些基因可以是彼此的旁系同源物,但如果我們試圖去除任何基因,那么我們也將移除直系同源物。

因此,如果我們想對一組物種中的“等效”基因進行比較,我們需要對同種群中的基因進行比較。正交群位于文件Orthogroups/Orthogroups.tsv 中。該表每行有一個正交群,每列有一個物種,并從最大的正交群到最小的正交群排序。還有一個傳統(tǒng) OrthoMCL 格式的文件:Orthogroups/Orthogroups.txt。

Single Copy Orthologue

Orthogroup Sequences目錄相同的文件,但僅限于每個物種只包含一個基因的那些orthogroups。

在這里插入圖片描述

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容