您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用Orthomcl查找同源基因,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
OrthoMCL介紹
OrthoMCL (http://orthomcl.org/orthomcl/) (v2.0版本)是現(xiàn)在用的最多的一款來找直系同源基因(Orthologs)以及旁系同源基因 (Paralog) 的軟件。
根據(jù)官網(wǎng)的教程需要十多步來完成整個運行流程,但是絕大部分的工作都有代碼可以用,按照他的步驟來,還是很省心的。話不多數(shù),接下來就以蛋白質(zhì)序列為例,詳細介紹Orthomcl的使用。
輔助模塊
Orthomcl需要的linux詳細配置,簡單敘述。
系統(tǒng):unix
BLAST:我們推薦NCBI的 BLAST,
Database:oracle 或 mysql,下文我們選擇mysql來進行闡述.
Hardware:內(nèi)存4G,硬盤100G
MCL程序
軟件安裝
(1)Mysql安裝
Orthomcl需要用到數(shù)據(jù)庫,對數(shù)據(jù)庫不太了解也沒關(guān)系,只要能夠安裝好數(shù)據(jù)庫、并使用簡單的幾條SQL語句就可以了,較復(fù)雜的工作都有程序直接完成。具體安裝過程就不說啦。
(2)安裝mcl
下載地址在 http://www.micans.org/mcl/src/mcl-latest.tar.gz,自動獲取最新版。
./configure make make install
#注意出現(xiàn)make[] Nothing to be done for '***'
make[] leaving directory '***'
不是make錯誤!make時最好用root權(quán)限,即在make前加sudo
(3)安裝Orthmcl:
下載鏈接:http://orthomcl.org/common/downloads/software/v2.0/orthomclSoftware-v2.0.9.tar.gz
使用以下命令解壓:
tar -xf orthomclSoftware-v2.0.9.tar.gz
解壓完成后的文件夾下包括bin config doc lib 四個文件夾,可以將bin目錄加到環(huán)境變量里,方便以后操作:
cd ~ echo "export PATH=$PATH:/home/wangq/.../orthomclSoftware-v2.0.9/bin" >> .bashrc source .bashrc
之后可以在Orthomcl software主文件夾或其它地址下創(chuàng)建文件夾作為工作目錄,這里以官網(wǎng)文檔的my_orthomcl_dir為例。把/doc/OrthoMCLEngine/Main/orthomcl.config.template文件復(fù)制到my_orthomcl_dir下,命令如下:[路徑:解壓后的orthomclSoftware-v2.0.9]
mkdir my_orthomcl_dir cp /doc/OrthoMCLEngine/Main/orthomcl.config.template my_orthomcl_dir/orthomcl.config #復(fù)制并重命名為orthomcl.config
修改orthomcl.config:
# this config assumes a mysql database named 'orthomcl'. adjust according # to your situation. dbVendor=mysql #使用的數(shù)據(jù)庫為mysql,若為oracle,則改成oracle dbConnectString=dbi:mysql:orthomcl #連接到mysql里的orthomcl數(shù)據(jù)庫 dbLogin=wangq #數(shù)據(jù)庫的用戶名 dbPassword=123 #與用戶名相對應(yīng)的密碼 similarSequencesTable=SimilarSequences #下面都是中間產(chǎn)生的各種表 orthologTable=Ortholog inParalogTable=InParalog coOrthologTable=CoOrtholog interTaxonMatchView=InterTaxonMatch percentMatchCutoff=50 #Coverage cutoff值 這里選擇50%的Coverage,視你自己而定 evalueExponentCutoff=-5 #blast 篩選的e-value 用過blast的都不默認 oracleIndexTblSpc=NONE
具體操作
具體操作步驟包括創(chuàng)建數(shù)據(jù)庫、轉(zhuǎn)換序列格式、過濾、比對、解析結(jié)果和聚類等步驟,詳細說明如下:
(1)創(chuàng)建數(shù)據(jù)庫并建表
這一部分就是依據(jù)剛才配置的config文件,對mysql進行配置,在數(shù)據(jù)庫里建立一些空表,Note:在做這步前,請先在你的mysql中新建一個數(shù)據(jù)庫,如create database orthomcl,下面我就使用這個數(shù)據(jù)庫來操作數(shù)據(jù)。
mysql -u root -p #先用root登錄創(chuàng)建名為orthomcl的數(shù)據(jù)庫 mysql> create database orthomcl; mysql> grant all on orthomcl.* to 'wangq'@'%'; #賦予wangq用戶操作orthomcl數(shù)據(jù)庫的所有權(quán)限,wangq處為用戶名,%代表任何主機 orthomclInstallSchema orthomcl.config mysql.log species #執(zhí)行orthomclInstallSchema命令,按照orthomcl.config的配置,在數(shù)據(jù)庫中 創(chuàng)建表,mysql.log記錄日志文件(選) species為每個表名后加物種名(選)
(2)格式化orthomcl輸入文件
我們使用多個物種所有基因的蛋白質(zhì)序列查找同源基因,數(shù)據(jù)來源于轉(zhuǎn)錄組或數(shù)據(jù)庫下載。該步將會將你的pep文件轉(zhuǎn)換為orthmcl所要求的文件,其實也就是一個改寫的過程,格式要求為如下:
>taxoncode|unique_protein_id #taxoncode為物種代碼一般為3-4個字母 unique_protein_id為蛋白id,taxoncode和蛋白id之間用|隔開 MFAXGETHFD..........
例如:
>Dha|CAG25565 MFAXGETHFD..........
使用orthomclAdjustFasta程序可以把fasta格式的序列文件轉(zhuǎn)換成orthomcl的標準格式,轉(zhuǎn)換格式前先在my_orthomcl_dir目錄下創(chuàng)建名為compliantFasta的文件夾,命令如下:
mkdir compliantFasta cd compliantFasta orthomclAdjustFasta hsa ../Homo_sapiens.NCBI36.53.pep.all.fa 1 #hsa為物種代碼;***.fa為序列文件,存放在my_orthomcl_dir目錄下;1代表在id前加物種名和|
執(zhí)行完上述命令后,產(chǎn)生的文件為hsa.fasta存放在compliantFasta目錄下。compliantFasta文件夾下存放各個物種的蛋白組,如Hsa.fasta Dha.fasta Ali.fasta Kla.fasta......
(3)過濾序列
使用orthomclFilterFasta命令對compliantFasta文件夾下的序列進行過濾,orthomcl的推薦規(guī)則是允許protein序列最短長度為10,stop coden占的最大比例為20%,命令會在my_orthomcl_dir目錄下產(chǎn)生goodProteins.fasta和poorProteins.fasta,goodProteins.fasta文件中包含所有comliantFasta文件夾下經(jīng)過篩選的物種蛋白組。
orthomclFilterFasta compliantFasta/ 10 20
(4)blast比對
用goodProteins.fasta建庫,并與自身比對。由于數(shù)據(jù)量較大,比對時間可能會比較長,一兩天都是正常的,小伙伴們請耐心等待!
makeblastdb -in goodProteins.fasta -dbtype prot -title orthomcl -parse_seqids -out orthomcl -logfile orthomcl.log #以goodProteins.fasta為序列文件,創(chuàng)建名為orthomcl的blast數(shù)據(jù)庫 blastp -db orthomcl -query goodProteins.fasta -seg yes -out orthomcl.blastout -evalue 1e-5 -outfmt 7 -num_threads 24 #goodProteins.fasta對orthomcl庫做blast,產(chǎn)生的結(jié)果文件為orthomcl.blastout(自身對自身做blast,找出目標物種間的同源基因)
(5)處理blast產(chǎn)生的結(jié)果
orthomclBlastParser blastresult compliantFasta > similarSequences.txt
#使用orthomclBlastParser命令引入compliantFasta文件夾下文件,生成similarSequences.txt文件,找出相似性序列,輸出文件從第1列到第8列分別是:query_id, subject_id, query_taxon, subject_taxon, evalue_mant, evalue_exp, percent_ident, percent_match。
(6)相似性序列載入mysql數(shù)據(jù)庫
orthomclLoadBlast orthomcl.config similarSequences.txt #將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫中
(7)尋找成對蛋白質(zhì)
orthomclPairs orthomcl.config orthomcl_pairs.log cleanup=no #此命令對數(shù)據(jù)庫中的表進行操作
(8)將數(shù)據(jù)從mysql數(shù)據(jù)庫中導(dǎo)出
orthomclDumpPairsFiles orthomcl.config
此命令會在my_orthomcl_dir下生成一個mclInput文件和一個pairs文件夾,pairs文件夾下包含coorthologs.txt和inparalogs.txt和orthologs.txt三個文件。
(6)(7)(8)三步是對數(shù)據(jù)庫的操作,不懂沒關(guān)系,照做就可以了。
(9)使用mcl對pairs進行聚類
mcl mclInput --abc -I 1.5 -o mclOutput
(10)提取mcl的結(jié)果,生成group.txt文件
orthomclMclToGroups Fungi 1 < mclOutput > groups.txt #生成groups.txt文件,每個同源組的編號從Fungi1開始,依次遞增
至此orthomcl程序運行完畢,產(chǎn)生的groups.txt即為即為最終結(jié)果文件,可對其進行各種數(shù)據(jù)操作,例如提取單拷貝的直系同源基因,只需要判斷同源組中包含研究的所有物種,且每個物種都只有一個基因,這樣的就是一組單拷貝的直系同源基因啦。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Orthomcl查找同源基因”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。