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