细节参阅RepeatModele官方文档:http://www.repeatmasker.org/RepeatModeler/
RepeatMasker和RepeatModele主页:http://www.repeatmasker.org
RepeatMasker是基因组重复序列检测的常用工具。一般依赖于已有的重复序列参考库Repbase作同源预测。对于绝大部分目标真核物种,都收录在Repbase中。有时候Repbase注释重复区的效果不是很好,这种情况下可考虑执行重复序列的从头预测,即通过当前的全基因组序列,训练重复序列集构建本地repeat library,再通过RepeatMasker注释重复序列。其中,与RepeatMasker配套的RepeatModeler,可以实现。
RepeatModeler本地配置
在正式安装RepeatModeler主程序之前,需要提前配置好其依赖的工具。
1-3、RepeatMasker、TRF、序列搜索引擎
见前文(RepeatMasker的安装与使用)(https://www.jianshu.com/p/ffdbedae80fa)。
RepeatMasker的安装,同时建立在TRF(Tandem Repeats Finder)和相关的序列搜索引擎已经配置好的基础上。因此,对于这3种工具的配置,在前文介绍RepeatMasker安装时已经作了说明。
4、RECON(从头预测功能实现的核心组件)
conda install RECON #自动配置在conda环境中,例如“/home/my/software/Miniconda3/bin”
5、RepeatScout(从头预测功能实现的核心组件)
在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
6、NSEG
下载后编译安装。
#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
7、RepeatModeler
前面的工具配置好后,源码编译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后面总出问题。回车继续。
RepeatModeler安装路径,默认自动指定安装路径,回车继续。
指定RepeatMasker的安装路径,回车继续。
指定RECON的安装路径,回车继续。
指定RepeatScout的安装路径,回车继续。
指定NSEG的安装路径,回车继续。
指定TRF的安装路径(这个同时也是RepeatMasker安装必需的),回车继续。
最后是序列搜索引擎(这个同时也是RepeatMasker安装必需的),例如我们这里选择2,指定RMBlast主程序所在路径,回车返回主界面后,再选择3,就完成了。
你也可以指定多种序列搜索引擎后,再选择3,不过实际运行时,一次只能选择一种序列比对方式。
终于把一些列的环境添加完了,最后配置环境变量。
#例如,我的RepeatModeler安装路径是在“/home/my/software/RepeatModeler-open-1.0.11”
export PATH=/home/my/software/RepeatModeler-open-1.0.11:$PATH
#这时候没啥问题的话应该可以看到帮助界面了
RepeatModeler -h
RepeatModeler使用测试
#建立基因组索引
BuildDatabase -name Silkworm -engine ncbi genomic.fna
#构建 library,这步非常耗时,好像提升线程也没啥用,#获得两个主要文件,*-families.fa、*-families.stk
RepeatModeler -pa 4 -database Silkworm -engine ncbi
#下方作为测试,只使用了主要的参数,其中通过 -lib 参数指定本地库
RepeatMasker -pa 4 -gff -lib Silkworm-families.fa -dir repeat2 genomic.fna
fasta文件“-families.fa”为训练得到的共识重复序列,序列id后会标注它属于哪种重复序列家族,若无法归类则用标注为“Unkown”。
“-families.stk”为种子联配(Seed alignments)文件,是Dfam兼容的Stockholm格式,可以使用RepeatModeler 安装路径中自带的工具“RepeatModeler/util/dfamConsensusTool.pl”上传到Dfam_consensus数据库中。
详见:http://www.repeatmasker.org/RepeatModeler/dfamConsensusTool
查看输出结果“*.tbl”。
更新:
RepeatModeler 预测基因组重复序列,为下一步的RepeatMasker建立重复序列数据库
#建库,利用rice 一个实例fasta文件
BuildDatablase –name ricedb –engine ncbi rice.sample.2.fa
#参数说明
-name <database name>
The name of the database to create.
-engine <engine name>
The name of the search engine we are using. I.e abblast/wublast or rmblast.
-dir <directory>
The name of a directory containing fasta files to be processed. The
files are recognized by their suffix. Only *.fa and *.fasta files
are processed.
-batch <file>
The name of a file which contains the names of fasta files to
process. The files names are listed one per line and should be fully
qualified.
RepeatModeler -database ricedb -pa 5
#参数说明
-database
The name of the sequence database to run an analysis on. This is the
name that was provided to the BuildDatabase script using the "-name"
option.
-pa #
Specify the number of parallel search jobs to run. RMBlast jobs will
use 4 cores each and ABBlast jobs will use a single core each. i.e.
on a machine with 12 cores and running with RMBlast you would use
-pa 3 to fully utilize the machine.
-recoverDir <Previous Output Directory>
If a run fails in the middle of processing, it may be possible
recover some results and continue where the previous run left off.
Simply supply the output directory where the results of the failed
run were saved and the program will attempt to recover and continue
the run.
(1.1)RepeatModeler结果文件
- consensi.fa:自身比对找到的一致性序列
- consensi.fa.classified:重复序列分类结果,“#”后面的字符串是分类结果
- consensi.fa.masked:屏蔽后的序列,不太使用
(2)RepeatMasker;屏蔽DNA序列中转座子或者低复杂度重复序列,输出的序列把已知的重复序列都屏蔽成N或X,并给出相应的位置和统计信息
#将上一步的结果文件(自动生成,以“RM”开头)里面的consensi.fa.classified为libirary,对参考序列进行序列屏蔽
#运行
RepeatMasker -nolow -e ncbi -pa 5 -norna -dir ./ -lib consensi.fa.classified rice.sample.fa
#重要参数
-nolow. (不屏蔽低复杂序列,担心屏蔽后使得基因结构受到影响)
Does not mask low_complexity DNA or simple repeats
-lib [filename] 自己制定的重复序列库
Allows use of a custom library (e.g. from another species)
-e(ngine) [crossmatch|wublast|abblast|ncbi|rmblast|hmmer]
Use an alternate search engine to the default.
-pa(rallel) [number]
The number of sequence batch jobs [50kb minimum] to run in parallel.
-norna
Does not mask small RNA (pseudo) genes
-dir [directory name] 输出文件位置
Writes output to this directory (default is query file directory,
"-dir ." will write to current directory).
-gff
Creates an additional Gene Feature Finding format output
(2.1)RepeatMasker输出结果
*.out:重复序列详细比对结果
*.masked:屏蔽后的序列
*.tbl:重复序列统计文件
*.cat:和out差不多
(2.2)*.out 每一列含义
第一列:比对分值,SW score
第二列:替代率 perc div.
第三列:碱基缺失百分率
第四列:在重复序列中碱基缺失百分率
第五列:query sequence
第六列:查询序列起始位置
第七列:查询序列终止位置
第八列:查询区域中超出比对区域碱基的数目,也就是没有比对上的碱基数
第九列:+/-(C)
第十列:比上的重复序列名称,类型命名
第十一列:比上重复序列的分类,和repeatmolder 中*.classed 是一样的
第十二列:比上的在数据库中的起始位置
第十三列:比上的在数据库中的终止位置
第十四列:在第十列上超出比对区域碱基的数目,也就是没有比对上的碱基数
第十五列:比对区域的ID,随机给的
(2.3)最后将out文件可转为GFF文件,即完成基因组重复序列的鉴定