首先安裝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.embl和README.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)行注釋:
- 使用已有homology-based庫中的近源物種,直接使用該物種的庫進(jìn)行注釋。
- 使用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

查找并導(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ù)而言)。
歡迎討論