【比較基因組學(xué)】基因家族擴(kuò)張與收縮分析

前言:因?yàn)樽罱戧懤m(xù)續(xù)接手了幾個(gè)物種的基因組項(xiàng)目,這也是生信分析中很大的一塊。其中最基礎(chǔ)的是組裝和注釋(當(dāng)然我們實(shí)驗(yàn)室也做組裝方法學(xué)的研究)?,F(xiàn)在隨著很多物種基因組的發(fā)表,純基因組想發(fā)個(gè)很好的文章沒有新穎的故事感覺也挺難的??醋罱P(guān)于基因組的文章,尤其是已經(jīng)release過的物種,好像都是在炒泛基因組/SV的概念。因?yàn)槲覀冏龅氖嵌啾扼w物種,所以更多的就牽扯到多倍體進(jìn)化,物種的比較等等比較基因組學(xué)的內(nèi)容。所以最近一直在陸陸續(xù)續(xù)的系統(tǒng)學(xué)習(xí)一些這方面的分析。

先介紹幾個(gè)概念。

Orthologs(直系同源物)是在兩個(gè)物種的最后共同祖先(LCA)中來自單個(gè)基因的一對(duì)基因。直系同源物是同源性基因,是物種形成事件的結(jié)果。Paralogs(旁系同源物)是同源基因,是重復(fù)事件的結(jié)果。下圖就可以看到,不同物種間的alpha-chain gene互為Orthologs(直系同源物)。這時(shí)候可以引用一個(gè)新名詞orthogroup (正交群)就用來形容自一組物種的LCA中的單個(gè)基因的基因組(在圖中就是alpha chain gene)。然后同一物種間alpha 和beta chain gene互為Paralogs(旁系同源物)。最后所有這些關(guān)系都可以由OrthoFinder來識(shí)別。

在介紹基因家族收縮和擴(kuò)張之前,有一個(gè)概念是繞不過去的,就是基因家族。

?

基因家族(gene family),是來源于同一個(gè)祖先,由一個(gè)基因通過基因重復(fù)而產(chǎn)生兩個(gè)或更多的拷貝而構(gòu)成的一組基因,它們?cè)诮Y(jié)構(gòu)和功能上具有明顯的相似性,編碼相似的蛋白質(zhì)產(chǎn)物,同一家族基因可以緊密排列在一起,形成一個(gè)基因簇,但多數(shù)時(shí)候,它們是分散在同一染色體的不同位置,或者存在于不同的染色體上的,各自具有不同的表達(dá)調(diào)控模式。在基因組項(xiàng)目中,通常會(huì)選擇自己要研究的物種和其近緣的物種通過比對(duì)來尋找基因家族。

談?wù)摰街毕低椿蚍治龅臅r(shí)候,大部分教程都是介紹OrthoMCL,這是2003年發(fā)表的一個(gè)工具,目前的引用次數(shù)已經(jīng)達(dá)到了3000多,但這個(gè)軟件似乎在2013年之后就不在更新,而且安裝時(shí)還需要用到MySQL(GitHub上有人嘗試從MySQL轉(zhuǎn)到sqlite)。

?

而OrthoFinder則是2015年出現(xiàn)的軟件,目前已有400多引用。該軟件持續(xù)更新,安裝更加友好,因此決定使用它來做直系同源基因的相關(guān)分析。

那么,OrthoFinder能做什么?

OrthoFinder: solving fundamental biases inwhole genome comparisons dramatically improves orthogroup inference accuracy提到,它的優(yōu)點(diǎn)就是比其他的直系同源基因組的推斷軟件準(zhǔn)確,并且速度還快。

?

此外它還能分析所提供物種的系統(tǒng)發(fā)育樹,將基因樹中的基因重復(fù)事件映射到物種樹的分支上,還提供了一些比較基因組學(xué)中的統(tǒng)計(jì)結(jié)果。

?

OrthoFinder的分析過程分為如下幾步:

?

1. BLAST all-vs-all搜索。使用BLASTP以evalue=10e-3進(jìn)行搜索,尋找潛在的同源基因。(除了BLAST, 還可以選擇DIAMOND和MMSeq2)

2. 基于基因長度和系統(tǒng)發(fā)育距離對(duì)BLAST bit得分進(jìn)行標(biāo)準(zhǔn)化。

3. 使用RBNHs確定同源組序列性相似度的閾值

4. 構(gòu)建直系同源組圖(orthogroup graph),用作MCL的輸入

5. 使用MCL對(duì)基因進(jìn)行聚類,劃分直系同源組

OrthoFinder2在OrthoFinder的基礎(chǔ)上增加了物種系統(tǒng)發(fā)育樹的構(gòu)建,流程如下:

1. 為每個(gè)直系同源組構(gòu)建基因系統(tǒng)發(fā)育樹

2. 使用STAG算法從無根基因樹上構(gòu)建無根物種樹

3. 使用STRIDE算法構(gòu)建有根物種樹

4. 有根物種樹進(jìn)一步輔助構(gòu)建有根基因樹

5. 基于Duplication-Loss-Coalescent 模型,有根基因樹可以用來推斷物種形成和基因復(fù)制事件,最后記錄在統(tǒng)計(jì)信息中。

===安裝===

對(duì)于我這種安裝軟件總是無能的人,conda真是拯救了我。

conda install -c bioconda -c conda-forge orthofinder

==測試?yán)舆\(yùn)行===

orthofinder -f ExampleData -S mmseqs

注:?-f 指定文件夾

? ? ? ? -S 指定序列搜索程序,有blast,mmseqs, blast_gz, diamond可用

so easy?。?!

OrthoFinder的基本使用就是如此簡單,而且最終效果也基本符合需求。

?

如果你想根據(jù)多序列聯(lián)配(MSA)結(jié)果按照極大似然法構(gòu)建系統(tǒng)發(fā)育樹,那么你需要加上-M msa。這樣結(jié)果會(huì)更加準(zhǔn)確,但是代價(jià)就是運(yùn)行時(shí)間會(huì)更久,這是因?yàn)镺rthoFinder要做10,000 - 20,000個(gè)基因樹的推斷。

?

OrthoFinder默認(rèn)用mafft進(jìn)行多序列聯(lián)配,用fasttree進(jìn)行進(jìn)化樹推斷。多序列聯(lián)配軟件還支持muscle, 進(jìn)化樹推斷軟件還支持iqtree, raxml-ng, raxml。例如參數(shù)可以設(shè)置為-M msa -Amafft -T raxml.

?

并行化參數(shù): -t參數(shù)指定序列搜索時(shí)的線程數(shù),-a指的是序列搜索后分析的CPU數(shù)。

===結(jié)果文件===

運(yùn)行結(jié)束后,會(huì)在ExampleData里多出一個(gè)文件夾,Results_ Jun07, 其中Jun07是我運(yùn)行的日期

?

(1) Results Files: Orthogroups

包含一個(gè)主文件“Orthogroups.csv”和兩個(gè)支持文件:

Orthogroups.csv,每一行為一個(gè)group,每一列為一個(gè)物種,行列交匯處為基因名稱。

Orthogroups_UnassignedGenes.csv,包含所有未分配到任何group的基因名稱。

Orthogroups.txt,OrthoMCL格式的輸出結(jié)果,內(nèi)容等同于Orthogroups.csv。

(2)Results Files: Comparative_Genomics_Statistics

包含一些統(tǒng)計(jì)數(shù)據(jù),可用于比較基因組分析、繪圖以及質(zhì)控。

Statistics_Overall.csv和Statistics_PerSpecies.csv,提供基本的描述信息

Orthogroups_SpeciesOverlaps.tsv,兩兩物種的group共享矩陣

- G50:group中的基因數(shù),使得50%的基因處于該大小或更大的group中。

- O50:最小數(shù)量的group,使得50%的基因處于該大小或更大的group中。?

- Number of single-copy orthogroups:每個(gè)物種中只有一個(gè)基因的group(相當(dāng)于單拷貝核心基因)。這些group是構(gòu)建物種樹和許多其他分析的理想選擇。

- Unassigned gene:未與任何其他基因劃分到一個(gè)group的基因。

(3)?Results Files: Orthologues

? ? ? ? 兩兩物種間的直系同源基因,每一行為一個(gè)group,第一列為group編號(hào),第二列為第一個(gè)物種的基因,第三列為第二個(gè)物種的基因。同一物種的基因名以“,”分割。直系同源物可以是一對(duì)一,一對(duì)多或多對(duì)多。

(4)?Results Files: Gene_Trees and Species_Tree

? ? ? ? 每個(gè)group的基因樹和定根的物種樹以newick格式輸出,可以用各種看樹軟件展示,如MEGA、iTOL、Dendroscope和FigTree等,個(gè)人推薦用iTOL。例子的species的tree展示:

===其它用法===

1.? 添加新物種到之前的分析(previous_orthofinder_directory指的是包含“SpeciesIDs.txt”的目錄)

orthofinder -bprevious_orthofinder_directory -f new_fasta_directory

?

2. 從之前的分析中移除物種

從輸出目錄下找到工作目錄“WorkingDirectory”中的“SpeciesIDs.txt”文件,在要移除的物種那一行最前面加上一個(gè)“#”并保存,然后運(yùn)行(previous_orthofinder_directory指的是包含“SpeciesIDs.txt”的目錄):

orthofinder -bprevious_orthofinder_directory

?

3. 同時(shí)添加和刪除物種

編輯好“SpeciesIDs.txt”后,運(yùn)行:

orthofinder -b previous_orthofinder_directory-f new_fasta_directory

本文使用 文章同步助手 同步

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容