首先安裝RepeatModeler2,RepeatMasker4
建議直接去官網下載,解壓安裝吹埠。同時安裝其他包第步。安裝流程這里不詳細介紹了,網上有很多藻雌。
假設現在已經安裝完畢雌续,并且依賴包也配置完畢。
1胯杭、下載最新Dfam庫和Repbase庫并配置
這里使用的是3.4版本的Dfam庫(https://www.dfam.org/home)驯杜,.h5, .hmm, .embl 三個文件都要下載。
這里使用的是v20181026版本的Repbase庫做个。最新的RepBase庫是要收錢的鸽心,這個2018的版本是目前廣為流傳的免費庫滚局。
這兩個庫包含了目前較為完整的物種重復序列數據。
1.1 RepBase
進入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
應該已經被放置到RepeatMasker/Libraries
里面了顽频,cd進去檢查一下藤肢。
1.2 Dfam
Dfam(.h5文件)太大了,上傳不了糯景,從官網下吧
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的(也就是不包含從頭預測的物種)嘁圈。如果需要從頭預測的數據庫可以從Dfam官網下載,包含更多物種蟀淮。但因為本文討論非模式物種的注釋最住,RepeatModeler2基本可以完成從頭預測的工作,因此只用curated數據庫怠惶。后期整合到一起就行了涨缚。
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
路徑配置跟之前都一樣脓魏。看到combining Dfam+RepBase
之類的字樣通惫,以及配置結束以后Dfam和RepBase的版本號茂翔,說明成功了。在Libraries
里會生成一個RepeatMaskerLib.h5
文件讽膏,這就是Dfam+RepBase的整合檩电。
2、導出目標非模式物種的對應上下節(jié)點Repeat families
Dfam庫以及RepBase庫中大多數物種都是模式物種府树,對于非模式物種俐末,有兩種策略進行注釋:
- 使用已有homology-based庫中的近源物種,直接使用該物種的庫進行注釋奄侠。
- 使用RepeatModeler2鑒別出的De novo序列加上homology-based庫中部分序列進行注釋(這里的“部分”指的是該類群祖先及衍生節(jié)點的序列families卓箫,當然,如果需要控制變量垄潮,也可以只用祖先節(jié)點的共有序列)烹卒。
本文只討論第二種方法。因為注釋會更加完整一些弯洗。RepeatMasker4.1.1可以使用famdb.py來訪問構建的RepeatMaskerLib.h5數據庫旅急。famdb.py就在RepeatMasker文件夾里。
查看鳥類repeat families樹:
famdb.py -i RepeatMaskerLib.h5 lineage \
-ad Aves
查找并導出鳥類及其上祖先節(jié)點、其下所有類群的repeat families:
famdb.py -i RepeatMaskerLib.h5 families \
-f embl -a -d Aves > Aves_ad.embl
只查找并導出鳥類及其上祖先節(jié)點(可以避免衍生節(jié)點物種分布不均勻問題。當有多個物種需要注釋谣辞,并且需要對比注釋的比例及總量時迫摔,這樣可以控制變量):
famdb.py -i RepeatMaskerLib.h5 families \
-f embl -a Aves > Aves_a.embl
-a
為ancestor的意思,-d
為descendent的意思泥从。-ad
可以一起寫句占。
將embl格式轉化為fasta格式,方便后期與RepeatModeler2結果合并
buildRMLibFromEMBL.pl Aves_a.embl> Aves_a.fasta
buildRMLibFromEMBL.pl
腳本在RepeatMasker/util文件夾里
3躯嫉、RepeatModeler2從頭預測
假設已經configure結束纱烘。沒有安裝或configure的朋友可以看看晚上其他安裝教程。
###用序列文件構建數據庫
BuildDatabase -name ${i} -engine rmblast ${i}.fna
###RepeatModeler根據數據庫比對預測repeats
RepeatModeler -database ${i} -pa 5
其中${i}
為基因組文件名
也可以添加LTR結構搜索pipeline:
RepeatModeler -database ${i} -pa 5 -LTRStruct
我沒用過這個-LTRStruct
參數和敬,不知道效果如何凹炸。
這里的-pa是并行數。如果是rmblast/ncbi搜索引擎的話每個pa是4個線程昼弟。所以這里-pa設置為5,在提交腳本時就要請求20個線程奕筐。
順利的話最后得到一個文件夾舱痘,以及一個${i}-families.fa
,一個${i}-families.stk
文件离赫。
4芭逝、整合de novo預測數據庫及homology-based數據庫
因為都是fasta格式(Aves_a.embl轉化為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
參數就不說了,RepeatMasker -h
看一下吧翎猛。
大功告成
結果顯示胖翰,de novo-based和homology-based一起用比單個用要多注釋30%-50%(對我的數據而言)。
歡迎討論