lyao222lll的个人博客分享 http://blog.sciencenet.cn/u/lyao222lll

博文

重复序列的从头预测工具RepeatModeler安装及使用

已有 555 次阅读 2019-10-19 11:12 |个人分类:Software/Pipeline/Script|系统分类:科研笔记| _生信工具, _结构基因组

重复序列的从头预测工具RepeatModeler安装及使用

 

RepeatMasker是基因组重复序列检测的常用工具。通常做法,依赖于已有的重复序列参考库Repbase同源预测。对于绝大部分目标真核物种,都在Repbase中有收录。尽管如此,当组装了新物种(指的是先前从未被测过序的)的基因组时,现有的Repbase中肯定是缺少该物种的数据的。同时,即便是已知物种(指的是已经有参考基因组的),现有的数据库可能也会存在对目标物种基因组的覆盖度不好的问题。在这些情况下,直接通过现有的RepBase数据库来计算重复序列,常会出现只找到较少的重复序列的情形,此时Repbase可能已经无法满足我们的需求了。

尽管可以找近缘物种做参考,但不同物种基因组之间的差异肯定是无法避免的。不过如果只是想简单地屏蔽一些重复序列,以方便后续的基因预测过程,这样是没什么影响的,毕竟这种情况下我们并不关注重复序列是啥。但如果更侧重于研究重复元件本身,例如你想分析重复序列的基因组进化,那么肯定要尽可能更多地识别出来。

在前文简介RepeatMasker同源预测时,展示的示例,通过Repbase注释重复区的效果就不是很好。同时提到,这种情况下可考虑执行重复序列的从头预测,即通过当前的全基因组序列,训练重复序列集构建本地repeat library,再通过RepeatMasker注释重复序列。其中,与RepeatMasker配套的RepeatModeler,就可以实现这点。

 


RepeatModeler本地安装及使用


细节参阅RepeatModele官方文档:http://www.repeatmasker.org/RepeatModeler/

RepeatMaskerRepeatModele主页:http://www.repeatmasker.org

 

RepeatModeler本地配置


在正式安装RepeatModeler主程序之前,需要提前配置好其依赖的工具。RepeatModeler依赖的工具挺多的,包括RepeatMasker等在内。

 

1-3RepeatMaskerTRF、序列搜索引擎

见前文RepeatMasker安装及使用

RepeatMasker的安装,同时建立在TRFTandem Repeats Finder)和相关的序列搜索引擎已经配置好的基础上。因此,对于这3种工具的配置,在前文介绍RepeatMasker安装时已经作了说明。

 

4RECON(从头预测功能实现的核心组件)

对于本人来说,conda能搞定的绝不源码编译。

conda install RECON
#自动配置在conda环境中,例如“/home/my/software/Miniconda3/bin”

 

5RepeatScout(从头预测功能实现的核心组件)

github获取后编译安装。

#github:https://github.com/mmcco/RepeatScout
git clone https://github.com/mmcco/RepeatScout.git
cd RepeatScout
chmod 755 *
make
 
#添加环境变量,例如RepeatScout安装在“/home/my/software/RepeatScout”
export PATH=/home/my/software/RepeatScout:$PATH

 

6NSEG

下载后编译安装。

#NSEG:ftp://ftp.ncbi.nih.gov/pub/seg/nseg/
mkdir NSEG && cd NSEG
wget ftp://ftp.ncbi.nih.gov/pub/seg/nseg/*
chmod 755 *
make
 
#添加环境变量,例如NSEG安装在“/home/my/software/NSEG”
export PATH=/home/my/software/NSEG:$PATH

 

7RepeatModeler

前面的工具配置好后,源码编译RepeatModeler,和RepeatMasker安装过程很像,需要一步步指定所依赖的环境。

#RepeatModeler
wget http://repeatmasker.org/RepeatModeler/RepeatModeler-open-1.0.11.tar.gz
tar xzvf RepeatModeler-open-1.0.11.tar.gz
 
cd RepeatModeler-open-1.0.11
chmod -R 755 *
perl ./configure

./configure”执行后,根据提示信息一步步来。

首先是perl环境,推荐使用/usr/bin环境下的perl,即系统perl,使用conda中的perl后面总出问题。回车继续。

1.png

RepeatModeler安装路径,默认自动指定安装路径,回车继续。

2.png

指定RepeatMasker的安装路径,回车继续。

3.png

指定RECON的安装路径,回车继续。

4.png

指定RepeatScout的安装路径,回车继续。

5.png

指定NSEG的安装路径,回车继续。

6.png

指定TRF的安装路径(这个同时也是RepeatMasker安装必需的),回车继续。

7.png

最后是序列搜索引擎(这个同时也是RepeatMasker安装必需的),例如我们这里选择2,指定RMBlast主程序所在路径,回车返回主界面后,再选择3,就完成了。

你也可以指定多种序列搜索引擎后,再选择3,不过实际运行时,一次只能选择一种序列比对方式。

8.png

 

终于把一些列的环境添加完了,最后配置环境变量。

#例如,我的RepeatModeler安装路径是在“/home/my/software/RepeatModeler-open-1.0.11”
export PATH=/home/my/software/RepeatModeler-open-1.0.11:$PATH
 
#这时候没啥问题的话应该可以看到帮助界面了
RepeatModeler -h

9.png

 

RepeatModeler使用测试


前文在测试RepeatMasker时,使用的是从NCBI中下载的一个基因组(AssemblyGCA_900382705.2),通过Repbase数据库指定已知参考物种的预测结果不佳(尽管当时我使用的Repbase版本很老也是一个原因,但我确实懒得再下一个新版本的......或许后来的版本会好些)。在这里,将通过RepeatModeler根据这个基因组序列训练重复序列集,构建本地库,并使用RepeatMasker再执行一次,看效果如何。

 

RepeatModeler执行重复序列的从头预测并建库

RepeatModeler使用起来也很简单。

细节详见官方文档:http://repeatmasker.org/RepeatModeler/

#测试基因组来源:https://www.ncbi.nlm.nih.gov/genome/68823?genome_assembly_id=380814
#和先前RepeatMasker使用的基因组是一致的,方便对比说明
 
#下方作为测试,只使用了主要的参数
#可通过“BuildDatabase -h”、“RepeatModeler -h”等查看详细参数说明
 
#建立基因组索引
BuildDatabase -name Fusarium_tricinctum -engine ncbi GCA_900382705.2_FTRI.INRA104.GCA2018.2_genomic.fna
 
#构建 library,这步非常耗时(即便测试用的真菌基因组不大),好像提升线程也没啥用
RepeatModeler -pa 4 -database Fusarium_tricinctum -engine ncbi
 
#获得两个主要文件,*-families.fa、*-families.stk

fasta文件“*-families.fa”为训练得到的共识重复序列,序列id后会标注它属于哪种重复序列家族,若无法归类则用标注为“Unkown”。

10.png

*-families.stk”为种子联配(Seed alignments)文件,是Dfam兼容的Stockholm格式,可以使用RepeatModeler 安装路径中自带的工具“RepeatModeler/util/dfamConsensusTool.pl”上传到Dfam_consensus数据库中。

详见:http://www.repeatmasker.org/RepeatModeler/dfamConsensusTool

11.png

 

再结合RepeatMasker寻找基因组中的重复序列

接下来,使用上一步得到的共识序列作为参考重复序列,使用RepeatMasker查找目标基因组中的重复序列就可以了。关于RepeatMasker运行和结果说明可见前文

或着官方文档:http://www.repeatmasker.org/webrepeatmaskerhelp.html

#使用构建的 library,使用 RepeatMasker 对基因组重复序列进行预测
#下方作为测试,只使用了主要的参数,其中通过 -lib 参数指定本地库
RepeatMasker -pa 4 -gff -lib Fusarium_tricinctum-families.fa -dir repeat2 GCA_900382705.2_FTRI.INRA104.GCA2018.2_genomic.fna

我们查看输出结果“*.tbl”。嗯嗯,貌似重复序列比例还是很低(2.63%,不过比前文使用Repbase检测的仅0.87%要好些)……按道理重复序列比例不应该只有这点,我确实不信一个40Mb大小的霉菌基因组只有不到5%的重复序列比例,它的基因组特征不应是如此吧?想不通为啥。

12.png

正常来讲,碰到这种情形时可以拿原始测序数据作个基因组surveyk-mer分析之类的,估算下重复序列比例是否确实是这样。这里由于这个基因组直接下载自NCBI现成的,没有测序数据可用,就算了。

不过先抛开上个疑问先,软件的安装和使用已经没什么问题了。

 


关于同源注释和从头注释方法的比较


以下参考自网上大神的总结。

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

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

综合考虑两种情形,如果从头预测的结果与同源预测的结果有30%以上的overlap,并且分类不一致,会把从头预测的结果过滤掉。从头预测与同源预测结果有overlap,但是分类一致的,都会保留,但是统计的时候不会重复统计。




http://blog.sciencenet.cn/blog-3406804-1202562.html

上一篇:基因组重复序列检测工具RepeatMasker安装及使用
下一篇:原核生物基因组CRISPRs序列预测的几种常用工具

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-11-12 18:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部