一.?RepeatMasker簡(jiǎn)介:
基因組組裝完成后,進(jìn)行基因預(yù)測(cè)和注釋允粤。由于基因組中存在重復(fù)序列結(jié)構(gòu)區(qū),特別是高等真核生物翼岁,重復(fù)序列占了相當(dāng)大的比例类垫,會(huì)影響基因預(yù)測(cè)的質(zhì)量,也會(huì)帶來不必要的資源消耗登澜,因此在基因預(yù)測(cè)前阔挠,首先要檢測(cè)并屏蔽基因組中的重復(fù)序列。
不過脑蠕,也有一些人在注釋基因組重復(fù)序列結(jié)構(gòu)時(shí)购撼,也可能是專注于某些特定研究,例如谴仙,某些重復(fù)元件可能參與了重要功能迂求,我們期望定位它們的位置,這種情況下需要識(shí)別精準(zhǔn)晃跺。
那么揩局,這時(shí)候就得使用檢測(cè)重復(fù)序列的工具了,先來學(xué)習(xí)RepeatMasker掀虎。
RepeatMasker是重復(fù)序列檢測(cè)的常用工具凌盯,通過與數(shù)據(jù)庫(kù)相似性比對(duì)來準(zhǔn)確識(shí)別或屏蔽基因組中的重復(fù)序列,屬于同源預(yù)測(cè)注釋的方式烹玉,依賴于RepBase數(shù)據(jù)庫(kù)和第三方比對(duì)軟件(RMBlast驰怎、Crossmatch、HMMER二打、ABBlast)县忌,是重復(fù)序列注釋的重要軟件。
二.安裝:
首先是官網(wǎng):
http://www.repeatmasker.org/RepeatMasker/
通過WSL在個(gè)人電腦上安裝:
Conda install -c bioconda trf
Conda install -c bioconda rmblast
下載RepeatMasker-4.1.2-p1.tar.gz
tar -zxvf RepeatMasker-4.1.2-p1.tar.gz
./configure后继效,根據(jù)提示指定TRF和rmblast所在位置
在Libraries里會(huì)生成一個(gè)RepeatMaskerLib.h5文件症杏,這就是Dfam+RepBase的整合。
三.運(yùn)行:
首先確定數(shù)據(jù)庫(kù)中是否收錄了目標(biāo)物種:
一些教程是利用./util/queryRepeatDatabase.pl -tree來查看瑞信,但我沒有找到queryRepeatDatabase.pl文件厉颤;
通過“Libraries/taxonomy.dat”查看物種信息,所有已收錄物種的名稱都存儲(chǔ)在該文件中凡简,暫時(shí)找不到工具正確打開走芋,按照文本文件去去打開后會(huì)有很多亂碼绩郎,查詢效果不佳,希望有了解的同學(xué)翁逞、老師看見后能夠告訴我蔬充;
命令行(參考一篇Cell文章):
RepeatMasker -nolow -no_is -norna -parallel 4 -lib /Libraries/RepeatMasker.lib genomic.fna -dir /zhushi/repeatmasker > repeatmasker.log >&1 &
參數(shù)詳解:
- nolow鸣峭,不掩蓋低復(fù)雜度的DNA或簡(jiǎn)單的重復(fù)序列;
-no_is,跳過細(xì)菌插入元素檢驗(yàn);
-norna喳坠,不掩蓋小RNA(偽)基因暴氏;
-parallel 4厅贪,并行計(jì)算山涡,多線程;
-lib [filename] Allows use of a custom library (e.g. from another species)
-dir,?輸出結(jié)果目錄必怜;
參考的命令行并沒有-species參數(shù)肉拓,且-species和-lib參數(shù)沖突,只能設(shè)置其中一個(gè)梳庆,理解查詢了一下對(duì)這兩個(gè)參數(shù)還是有些不明白暖途;
四.結(jié)果解讀:
大約32h后,程序結(jié)束膏执,非常慢驻售,下一次加線程數(shù),結(jié)果生成如下四個(gè)文件:
.*cat
記錄了輸入的基因組序列和數(shù)據(jù)庫(kù)中參考重復(fù)序列的比對(duì)詳情更米,該文件默認(rèn)生成欺栗。
會(huì)存在個(gè)別堿基的差異,其中“i”和“v”分別代表了堿基轉(zhuǎn)換(transitions)和顛換(transversions)征峦,“-”表示該位點(diǎn)存在堿基插入/刪除迟几。
.*tbl文件, 重復(fù)序列統(tǒng)計(jì)文件:
包含了基因組長(zhǎng)度、GC含量栏笆、重復(fù)區(qū)長(zhǎng)度以及重復(fù)區(qū)各類別基本統(tǒng)計(jì)信息等类腮。其中,“bases masked”就是重復(fù)序列的總長(zhǎng)度和在基因組中的占比竖伯,視物種而定存哲,一般都是比較可靠的因宇。
*.out文件, 重復(fù)序列統(tǒng)計(jì)文件:
一共十五列七婴,每一列含義如下圖:
需要注意,部分注釋會(huì)在ID列會(huì)有*標(biāo)識(shí)察滑,表明該區(qū)域有兩條比對(duì)打厘,*標(biāo)記結(jié)果最佳,通常這部分大部分重疊或者是包含關(guān)系贺辰,可以選擇其中一個(gè);
通過這個(gè)*.out文件(或下文的gff文件)户盯,就可以去定位你期望關(guān)注的特殊類型的重復(fù)序列元件在基因組中的位置了嵌施,后續(xù)可再自寫腳本根據(jù)位置信息將這段序列提取出來,或者更進(jìn)一步研究它們的功能等莽鸭。
生成gff3文件:
可以使用RepeatMasker提供的工具將結(jié)果轉(zhuǎn)化為gff3吗伤, 但是需要注意,這里的gff3不是標(biāo)準(zhǔn)的gff3
RepeatMasker/perl rmOutToGFF3.pl *.fa.out > *.gff3
*.masked文件, 屏蔽后的序列:
相較于原始輸入fasta文件中的序列硫眨,masked文件中將其中重復(fù)序列部分屏蔽為了N堿基足淆,該文件默認(rèn)生成。
注意區(qū)分礁阁,這里有的N堿基是屏蔽的重復(fù)序列巧号,而有的N堿基則是原來這個(gè)基因組fasta文件中就有的(一般為gap)。
該文件作為后續(xù)基因序列預(yù)測(cè)的輸入文件姥闭。這樣丹鸿,基因預(yù)測(cè)時(shí)就不會(huì)再考慮這些重復(fù)序列區(qū)域(因?yàn)檫@些區(qū)域的堿基已經(jīng)屏蔽為了N堿基,不會(huì)被識(shí)別)棚品,縮小了基因組范圍靠欢,大大減少了資源消耗,提升準(zhǔn)確度南片。
*.polyout文件:
命令行中通過-poly參數(shù)掺涛,可額外將預(yù)測(cè)結(jié)果.out中的微衛(wèi)星注釋識(shí)別出來,單獨(dú)整理為一張表疼进,文件結(jié)構(gòu)同.out薪缆。
如果你不想將微衛(wèi)星視作嚴(yán)格的重復(fù)序列類型,可通過.polyout文件中的注釋位置伞广,將.out中的微衛(wèi)星去除拣帽。那么,為什么不直接在.out中根據(jù)注釋作篩選呢嚼锄?因?yàn)槲⑿l(wèi)星屬于“Simple_repeat”的一種减拭,但.out中并非所有“Simple_repeat”都是微衛(wèi)星,所以直接去篩選很難操作区丑。
當(dāng)然拧粪,也有很多人不將“Simple_repeat”視作嚴(yán)格的重復(fù)序列類型,如果你也這么認(rèn)為沧侥,直接在*.out中過濾掉所有注釋為“Simple_repeat”的結(jié)果就可以了可霎。
五.報(bào)錯(cuò)信息:
一開始我在服務(wù)器上安裝,分別對(duì)以下幾個(gè)軟件宴杀、數(shù)據(jù)庫(kù)進(jìn)行配置:
1.Perl和Python3以及TRF非常好安裝癣朗,基本上在官網(wǎng)上下載后解壓就能用;
2.HMMER見我的公眾號(hào)另一篇文章基因功能預(yù)測(cè)工具-HMMER的安裝旺罢;
3.Dfam和Repeat(https://www.girinst.org/repbase/update/)數(shù)據(jù)庫(kù):
Dfam數(shù)據(jù)庫(kù)內(nèi)容見我另一篇公眾號(hào)文章旷余,Dfam-轉(zhuǎn)座元件TEs數(shù)據(jù)庫(kù), 其中RepeatMasker/Libraries目錄下已經(jīng)有了需要的Dfam.h5文件;
Repeat數(shù)據(jù)庫(kù)進(jìn)入DOWNLOAD頁(yè)面下載,
tar -zxvf RepBaseRepeatMaskerEdition-20181026.tar.gz
將解壓出來的:RMRBSeqs.embl和README.RMRBSeqs文件放到RepeatMasker/Libraries目錄下绢记;
4. h5py python 模塊,pip3 不是pip正卧,因?yàn)橛胮ip3進(jìn)行安裝時(shí)報(bào)了錯(cuò)蠢熄,就用conda install h5py安裝在miniconda3/lib/python3.8/site-packages/目錄下(后面證實(shí)安裝錯(cuò)誤)。
然后正式開始安裝RepeatMasker:
tar -zxvf RepeatMasker-4.1.2-p1.tar.gz
./configure后炉旷,根據(jù)提示指定TRF和HMMER所在位置护赊,然后開始報(bào)錯(cuò)了:
將miniconda3/lib/python3.8/site-packages/目錄下的h5py文件夾復(fù)制到RepeatMasker文件夾下,再次perl ./configure砾跃,最后提示如下:
雖然有黃色的cannot提示,先接著往下運(yùn)行骏啰,運(yùn)行時(shí)報(bào)錯(cuò):
運(yùn)行命令:RepeatMasker -nolow -no_is -norna -parallel 4 -lib /home/ /RepeatMasker/Libraries/RepeatMasker.lib canu_removedup.fa
報(bào)錯(cuò)信息:
RepeatMasker version 4.1.2-p1
Search Engine: HMMER [ 3.3.2 (Nov 2020) ]
Taxonomy::new() needs a path for a famdb file!
?at /public/home/lvqiang/software/RepeatMasker/RepeatMasker line 635.
后來我查了一下gitlib上issue欄目,作者這樣回復(fù):
還是沒有正確安裝h5py模塊抽高,這次想辦法讓軟件去識(shí)別miniconda3/lib/python3.8/site-packages/目錄下的h5py模塊去判耕,通過修改famdb.py文件,還是沒有成功翘骂。
錯(cuò)誤推測(cè):因?yàn)槲矣玫姆?wù)器系統(tǒng)安裝的是python2, 我在我目錄下安裝了python3壁熄,很有可能是兩個(gè)版本的python起了沖突,導(dǎo)致一些混亂碳竟,以后有網(wǎng)后草丧,找個(gè)時(shí)間解決一下這個(gè)問題。
六.補(bǔ)充:
Repeat數(shù)據(jù)庫(kù)下載鏈接:
https://www.girinst.org/server/RepBase/protected/repeatmaskerlibraries/RepBaseRepeatMaskerEdition-20181026.tar.gz;
參數(shù):
參考:http://www.reibang.com/p/ffdbedae80fa
七.遺留問題:
-species 和 -lib 參數(shù)設(shè)置莹桅;
Linux系統(tǒng)下h5py安裝模塊失敳础;
歡迎各位老師同學(xué)能夠針對(duì)我的遺留問題進(jìn)行討論诈泼,在此謝過懂拾。
本文使用 文章同步助手 同步