非模式生物重復(fù)序列注釋 RepeatModeler2+RepeatMasker4

首先安裝RepeatModeler2,RepeatMasker4
建議直接去官網(wǎng)下載,解壓安裝。同時安裝其他包。安裝流程這里不詳細(xì)介紹了,網(wǎng)上有很多。

假設(shè)現(xiàn)在已經(jīng)安裝完畢,并且依賴包也配置完畢。

1、下載最新Dfam庫和Repbase庫并配置

這里使用的是3.4版本的Dfam庫(https://www.dfam.org/home),.h5, .hmm, .embl 三個文件都要下載。
這里使用的是v20181026版本的Repbase庫。最新的RepBase庫是要收錢的,這個2018的版本是目前廣為流傳的免費庫。

這兩個庫包含了目前較為完整的物種重復(fù)序列數(shù)據(jù)。

1.1 RepBase

進(jìn)入RepeatMasker目錄:

cd path_to_RepeatMasker
wget https://github.com/chenyangkang/Repbase-Dfam/blob/main/RepBaseRepeatMaskerEdition-20181026.tar.gz
tar -zxvf RepBaseRepeatMaskerEdition-20181026.tar.gz

這時壓縮包里的兩個文件RMRBSeqs.emblREADME.RMRBSeqs應(yīng)該已經(jīng)被放置到RepeatMasker/Libraries里面了,cd進(jìn)去檢查一下。

1.2 Dfam

Dfam(.h5文件)太大了,上傳不了,從官網(wǎng)下吧

wget -c https://www.dfam.org/releases/Dfam_3.4/families/Dfam_curatedonly.embl.gz
wget -c https://www.dfam.org/releases/Dfam_3.4/families/Dfam_curatedonly.h5.gz
wget -c https://www.dfam.org/releases/Dfam_3.4/families/Dfam_curatedonly.hmm.gz

這里下載的都是Curated的(也就是不包含從頭預(yù)測的物種)。如果需要從頭預(yù)測的數(shù)據(jù)庫可以從Dfam官網(wǎng)下載,包含更多物種。但因為本文討論非模式物種的注釋,RepeatModeler2基本可以完成從頭預(yù)測的工作,因此只用curated數(shù)據(jù)庫。后期整合到一起就行了。

gunzip Dfam_curatedonly.embl.gz
gunzip Dfam_curatedonly.h5.gz
gunzip Dfam_curatedonly.hmm.gz

mv Dfam_curatedonly.embl Dfam.embl
mv Dfam_curatedonly.h5 Dfam.h5
mv Dfam_curatedonly.hmm Dfam.hmm

這里只有改了名字,RepeatMasker才能識別。

1.3 重新congifure RepeatMasker

./configure

路徑配置跟之前都一樣??吹?code>combining Dfam+RepBase之類的字樣,以及配置結(jié)束以后Dfam和RepBase的版本號,說明成功了。在Libraries里會生成一個RepeatMaskerLib.h5文件,這就是Dfam+RepBase的整合。

2、導(dǎo)出目標(biāo)非模式物種的對應(yīng)上下節(jié)點Repeat families

Dfam庫以及RepBase庫中大多數(shù)物種都是模式物種,對于非模式物種,有兩種策略進(jìn)行注釋:

  1. 使用已有homology-based庫中的近源物種,直接使用該物種的庫進(jìn)行注釋。
  2. 使用RepeatModeler2鑒別出的De novo序列加上homology-based庫中部分序列進(jìn)行注釋(這里的“部分”指的是該類群祖先及衍生節(jié)點的序列families,當(dāng)然,如果需要控制變量,也可以只用祖先節(jié)點的共有序列)。

本文只討論第二種方法。因為注釋會更加完整一些。RepeatMasker4.1.1可以使用famdb.py來訪問構(gòu)建的RepeatMaskerLib.h5數(shù)據(jù)庫。famdb.py就在RepeatMasker文件夾里。


查看鳥類repeat families樹:

famdb.py -i RepeatMaskerLib.h5 lineage \
-ad Aves
太多了,后半部分不顯示。大部分物種repeat families沒有記錄

查找并導(dǎo)出鳥類及其上祖先節(jié)點、其下所有類群的repeat families:

famdb.py -i RepeatMaskerLib.h5 families \
-f embl -a -d Aves > Aves_ad.embl

或
只查找并導(dǎo)出鳥類及其上祖先節(jié)點(可以避免衍生節(jié)點物種分布不均勻問題。當(dāng)有多個物種需要注釋,并且需要對比注釋的比例及總量時,這樣可以控制變量):

famdb.py -i RepeatMaskerLib.h5 families \
-f embl -a Aves > Aves_a.embl

-a為ancestor的意思,-d為descendent的意思。-ad可以一起寫。


將embl格式轉(zhuǎn)化為fasta格式,方便后期與RepeatModeler2結(jié)果合并

buildRMLibFromEMBL.pl Aves_a.embl> Aves_a.fasta

buildRMLibFromEMBL.pl腳本在RepeatMasker/util文件夾里


3、RepeatModeler2從頭預(yù)測

假設(shè)已經(jīng)configure結(jié)束。沒有安裝或configure的朋友可以看看晚上其他安裝教程。

###用序列文件構(gòu)建數(shù)據(jù)庫
BuildDatabase -name ${i}  -engine rmblast ${i}.fna
###RepeatModeler根據(jù)數(shù)據(jù)庫比對預(yù)測repeats
RepeatModeler -database ${i}  -pa 5

其中${i}為基因組文件名
也可以添加LTR結(jié)構(gòu)搜索pipeline:

RepeatModeler -database ${i}  -pa 5 -LTRStruct

我沒用過這個-LTRStruct參數(shù),不知道效果如何。
這里的-pa是并行數(shù)。如果是rmblast/ncbi搜索引擎的話每個pa是4個線程。所以這里-pa設(shè)置為5,在提交腳本時就要請求20個線程。

順利的話最后得到一個文件夾,以及一個${i}-families.fa,一個${i}-families.stk文件。

4、整合de novo預(yù)測數(shù)據(jù)庫及homology-based數(shù)據(jù)庫

因為都是fasta格式(Aves_a.embl轉(zhuǎn)化為fasta了,見上文),cat到一起就行了

cat ${i}-families.fa Aves_a.fasta > all_${i}_final.fasta

5、RepeatMasker注釋

RepeatMasker -xsmall -poly \
-pa 5 -lib ${i}.all.repeat.db.fasta -engine ncbi ${i}.fna

參數(shù)就不說了,RepeatMasker -h看一下吧。

大功告成


結(jié)果顯示,de novo-based和homology-based一起用比單個用要多注釋30%-50%(對我的數(shù)據(jù)而言)。

歡迎討論

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

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

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