溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Orthomcl查找同源基因

發(fā)布時間:2022-02-23 10:42:47 來源:億速云 閱讀:451 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了如何使用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)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI