在探究功能基因的時(shí)候,我們經(jīng)常需要對(duì)所研究的基因/蛋白質(zhì)進(jìn)行聚類(lèi)分組,逐個(gè)類(lèi)群探究蛋白功能。創(chuàng)建同源群可以采用Otrhofinder軟件,該軟件安裝方便,運(yùn)行快速,調(diào)用簡(jiǎn)單,可以說(shuō)是構(gòu)建同源群的神器。從OrthoFinder2.4.0版本開(kāi)始,同源群的劃分給予有根樹(shù)的層次,這種劃分方法比依靠相似度要更加準(zhǔn)確。此外,如果在推斷的過(guò)程中添加了外群物種,分群的精度有望進(jìn)一步提升[1]。
OrthoFinder 工作流程
- 調(diào)用 DIAMOND 對(duì)輸入序列進(jìn)行 all-vs-all 序列比對(duì)。diamond搜索速度快,非常適用于大量基因的相似度比對(duì)。
- 使用 MCL(Markov Cluster Algorithm) 算法根據(jù)比對(duì)結(jié)果進(jìn)行聚類(lèi),得到直系同源組(orthogroup)。其中每個(gè) orthogroup 的蛋白及序列信息存放在 Orthogroup_Sequences 文件夾中,單拷貝 orthogroup 的蛋白及序列信息存放在 Single_Copy_Orthologue_Sequences 文件夾中,orthogroup 的統(tǒng)計(jì)信息存放在 Comparative_Genomics_Statistics、Orthogroups 文件夾中。
- 使用 FastMe 對(duì)每個(gè) orthogroup構(gòu)建無(wú)根基因樹(shù)(gene tree)。
- 使用 STAG(Species Tree Inference from All Genes) 根據(jù)剛剛劃分好的包含所有物種的orthogroups中的同源基因推斷無(wú)根物種樹(shù)(species tree),此處會(huì)綜合考慮每一棵OG內(nèi)基因構(gòu)建的基因樹(shù),匯總成為最終的物種樹(shù)。通過(guò)參數(shù) -M dendroblast 或 -M msa,OrthoFinder 可以調(diào)用 STAG 中兩種構(gòu)建物種樹(shù)的方法:DendroBLAST 和 CMSA(Concatenated Multiple Sequence Alignment,聯(lián)合多序列比對(duì))。
- 使用 STRIDE(Species Tree Root Inference from Gene Duplication Events) 通過(guò)基因復(fù)制事件的不可逆性為無(wú)根物種樹(shù)、無(wú)根基因樹(shù)賦根,得到有根物種樹(shù)、有根基因樹(shù)、基因間的直系同源關(guān)系、基因復(fù)制事件。結(jié)果存放在文件夾 Species_Tree、Gene_Tree、Orthologues、Gene_Duplication_Events、Comparative_Genomics_Statistics 中。
1.創(chuàng)建環(huán)境并安裝orthofinder
conda create -n ogsfinder python=3.9.15 #太高版本的python,例如3.11在后面會(huì)報(bào)錯(cuò)。
conda activate ogsfinder
conda install -c bioconda orthofinder diamond=2.1.8 #錯(cuò)誤的diamond版本會(huì)報(bào)錯(cuò)。
2.運(yùn)行orthofinder尋找直系同源基因
將待尋找OGs的多個(gè)蛋白質(zhì)組文件存放于ExampleData文件夾,運(yùn)行orthofinder命令。指定運(yùn)行占用20個(gè)cpu(默認(rèn)使用16個(gè)cpu)。此處添加參數(shù)-M msa會(huì)進(jìn)行bootstrap檢驗(yàn),最終看到的物種數(shù)是具有bootstrap值的。
orthofinder -f ExampleData -S diamond -t 20 -M msa
#-t 并行序列搜索線程數(shù)(默認(rèn)= 16)
#-a 并行分析線程數(shù)(默認(rèn)值= 1)
#-M 基因樹(shù)推斷方法??蛇x:dendroblast和msa(默認(rèn)= dendroblast)推薦msa,可執(zhí)行帶有bootstrape的建樹(shù)
#-S 序列搜索程序(默認(rèn)= blast)選項(xiàng):blast,mmseqs,,blast_gz,diamond(推薦使用diamond,比對(duì)速度很給力)
#-A 多序列聯(lián)配方式,需要添加參數(shù)-M msa時(shí)才有效;(默認(rèn)= mafft)可選擇:muscle,mafft
#-T 建樹(shù)方法,需要添加參數(shù)-M msa時(shí)才有效,(默認(rèn) = fasttree)可選:iqtree,raxml-ng,fasttree,raxml(推薦)
但是如需在構(gòu)建物種樹(shù)里加入bootstrape值則需要進(jìn)入程序的config.json文件修改對(duì)應(yīng)建樹(shù)軟件的e值或者新增-b 1000/-bb 1000。
運(yùn)行結(jié)束后會(huì)在ExampleData目錄下生成新的目錄OrthoFinder。
參考信息:
- Github OrthoFinder https://github.com/davidemms/OrthoFinder#getting-started-with-orthofinder
- orthofinder安裝及使用教程 http://www.itdecent.cn/p/3bcd965605f5