美文网首页RNA-seqGenomics
基因组注释学习(一)----重复序列屏蔽

基因组注释学习(一)----重复序列屏蔽

作者: bcl_hx | 来源:发表于2020-04-15 00:09 被阅读0次

基因组组装完成后,需要对基因组进行注释。对于高等真核生物,由于重复序列占了相当大的比例,会影响基因预测的质量,也会带来不必要的资源消耗。因此在基因预测前,首先要检测并屏蔽基因组中的重复序列。

重复序列可分为串联重复序列和散在重复序列两大类。其中串联重复序列包括有微卫星序列,小卫星序列等等。散在重复序列又称转座子元件,包括以DNA-DNA方式转座的DNA转座子和反转录转座子。常见的反转录转座子类别有LTR,LINE和SINE等。

鉴定基因组重复区域的方法有两种:

(1)基于文库的同源方法(序列比对方法)。----RepeatMasker

(2)从头预测的方法。----RepeatModeler

基于文库同源方法将基因组与已知重复序列的数据库进行同源搜素,识别基因组中的重复序列,准确而快速。但依赖于数据库本身,只能通过已知特定类型的重复序列寻找相似的区域,当基因组差异过大,特别是新物种时,很多未知重复序列将难以识别。

从头预测方法直接从现有的全基因组序列中根据元件的结构或功能特征等训练模型,构建重复序列集,不依赖于其它数据库,可以有效识别出新的重复序列结构类型。但是比较费时,且也容易产生错误识别。

下面将介绍这两种软件的安装与使用:

1软件安装

软件可以用conda安装,但是由于服务器不能联网的原因,这里我考虑手动安装。

#1RepeatMasker----重复序列检测工具,通过与参考数据库的相似性比对来准确识别或屏蔽基因组中的重复序列。--基于文库的同源方法。
#(1)RepeatMasker
tar xf RepeatMasker-open-4-0-7.tar.gz
mv RepeatMasker ~/software/ 
#(2)trf409.linux64
mv trf409.linux64 ~/software/RepeatMasker/trf                   #移动并重命名为trf
chmod a+x ~/software/RepeatMasker/trf 
#(3)RMBlast
cp rmblast-2.10.0+-x64-linux.tar.gz ~/software
cd ~/software 
tar zxvf rmblast-2.10.0-x64-linux.tar.gz
rm rmblast-2.10.0-x64-linux.tar.gz
#(4)RepBase----目前官网已经不提供
tar xzvf RepBaseRepeatMaskerEdition-20170127.tar.gz
cd Libraries/
cp README ~/software/RepeatMasker/Libraries
cp RMRBSeqs.embl ~/software/RepeatMasker/Libraries
#注:把Library中的文件移到RepeatMasker/Library
#(5)运行配置脚本
 cd ~/software/RepeatMasker
 perl ./configure
 #note:按提示操作。
 #看看能不能运行
 ./RepeatMasker -h
file
#2RepeatModeler----重复序列检测工具,将序列和自己比较或者是高频K-mer来鉴定重复。--基于从头预测的方法。
(1)RepeatModeler
tar xf RepeatModeler-open-1.0.11.tar.gz
mv RepeatModeler-open-1.0.11 ~/software
(2)RECON
tar xf RECON-1.08.tar.gz
cd RECON-1.08/src
make && make install
cd ..
cd ..
mv RECON-1.08 ~/software/RepeatModeler-open-1.0.11
(3)nesg---注所有下载文件存到一个nesg文件夹中。
cd ~/nesg
make
cd ..
mv nesg ~/software/RepeatModeler-open-1.0.11
(4)RepeatScout
tar zxvf RepeatScout-1.0.5.tar.gz
cd RepeatScout-1/
make
mv RepeatScout-1 ~/software/RepeatModeler-open-1.0.11
(5)配置
cd ~/software/RepeatModeler-open-1.0.11
perl ./configure

提示缺少perl模块JSON


file
#解决方法:无root权限时候。
#https://metacpan.org/pod/JSON下直接download吧
tar xvzf JSON-4.02.tar.gz
cd JSON-4.02/
perl Makefile.PL
make
make install
make test
mv JSON-4.02 ~/software/perl_modules
#再次配置(按提示输入地址)
cd ~/software/RepeatModeler-open-1.0.11
perl ./configure
./RepeatModeler -h    #测试
file
#写入环境变量
vim ~/.bashrc
export PATH="~/software/RepeatMasker:$PATH"                                                        
export PATH="~/software/RepeatModeler-open-1.0.11:$PATH" 
source ~/.bashrc
#测试
RepeatMasker -h
RepeatModeler -h

2.软件使用

2.1RepeatMasker的使用

如果RepBase数据库对一个物种覆盖率较好,则可以直接使用RepeatMasker屏蔽重复序列。

cd ~/annotation/xx_annotation
mkdir RepeatMasker
touch RepeatMasker.sh
vim RepeatMasker.sh
RepeatMasker -e xx -species xx -pa xx -gff -dir ~/annotation/xx_annotation/RepeatMasker ~/annotation/xx_annotation/xx_unmasked.fa
#-e:选择搜索引擎,可以为wublast|abblast|ncbi|hmmer|decypher。
#-species:选择的物种。
#-pa:并行时候使用的处理器数量。
#-gff:输出gff文件。
#-dir:输出文件目录。
#最后为组装得到的fasta所在目录。
#结果文件
xx.fa.masked, 将重复序列用N代替(后续用于预测)。
xx.fa.out.gff, 以gff2形式存放重复序列出现的位置。
xx.fa.tbl, 该文件记录着分类信息。
file
#查看屏蔽重复序列情况
cat xx.fa.tbl
#note:如果屏蔽出来的效果不好,建议用下面的方法做(先验知识,物种的重复序列比例)。
file

2.2RepeatModeler的使用

如果RepBase数据库对一个物种覆盖率不好,直接用RepeatMasker屏蔽出来的很少,则需要使用RepeatModeler构建library。

mkdir RepeatModeler
touch RepeatModeler.sh
vim RepeatModeler.sh
cd ~/annotation/xx_annotation
#1.建立数据库。
BuildDatabase -name xx -engine xx ~/annotation/xx_annotation/xx_unmasked.fa
#-name:数据库的名字。
#-engine:选择的搜索引擎。
#最后为组装得到的结果所在目录。
#2.构建library
RepeatModeler -database xx -engine xx -pa xx 
#-database:数据库名字,与前面一致。
#-engine:选择的搜索引擎,与前面一致。
#-pa:并行时候使用的处理器数量。
#3.RepeatMasker进行重复序列屏蔽
RepeatMasker -e xx -lib xx-families.fa -pa xx -gff -dir ~/annotation/xx_annotation/RepeatModeler xx_unmasked.fa
#注:这里其他使用与前面介绍的一样,只不过这里指定了我们产生的library文件。
#第一步结果:构建的数据库。
file
#第二步结果:运行时间相对较长,一般的服务器建议nohup放后台运行。
#运行成功会生成以下两个文件。
xx-families.fa:找到的重复序列。                   #对于使用RepeatMasker运行快速自定义库搜索非常有用。
xx-families.stk:种子联配文件(seed alignment file)。
#note:也会生成以下文件。----具体解释见官网:http://www.repeatmasker.org/RepeatModeler/
file
#第三步结果:解读与前面一样。
file

3.写在最后

如果是RepBase对要做物种的覆盖情况较好直接RepeatMasker就好,当然如果你要做的RepBase覆盖情况不好的话,还是用RepModeler构建library再用RepeatMasker吧。

参考:

https://shengxin.ren/article/29

https://blog.csdn.net/u012110870/article/details/82500684

https://www.jianshu.com/p/50ce4bcd1972

https://www.jianshu.com/p/52621fc935bb

http://www.repeatmasker.org/RepeatModeler/

http://www.repeatmasker.org/RMDownload.html

本文由博客一文多发平台 OpenWrite 发布!

相关文章

网友评论

    本文标题:基因组注释学习(一)----重复序列屏蔽

    本文链接:https://www.haomeiwen.com/subject/dwifvhtx.html