重复序列在基因组中广泛存在,包括转座子、简单重复序列和低复杂度区域等。这些重复序列对于基因组结构、功能和进化具有重要影响。RepeatModeler 通过分析输入的基因组序列数据,识别其中的重复序列,并生成一组重复序列的模型。这些模型可以用于进一步的基因组注释、研究基因组结构和演化、以及识别重要的基因组元件等应用。
RepeatModeler通常与其他基因组注释工具(如 RepeatMasker)一起使用,用于将发现的重复序列模型与基因组序列进行比对,并标记出重复序列在基因组中的位置。这样的注释信息可以帮助研究人员更好地理解基因组结构和功能,以及不同物种之间的演化关系。
在使用RepeatModeler时,通常需要提供待分析的基因组序列数据,然后软件会自动进行重复序列的识别和建模过程。RepeatModeler的输出通常包括重复序列的模型文件以及相关的统计信息,用户可以根据需要进一步分析和利用这些结果。
1. 环境依赖
安装 RepeatMasker:
RepeatMasker 的安装也需要很多依赖环境,具体见我之前写的一篇文:转座子元件注释 RepeatMasker 安装使用。
安装 RECON:
wget -c http://www.repeatmasker.org/RepeatModeler/RECON-1.08.tar.gz
tar -xzvf RECON-1.08.tar.gz
cd RECON-1.08/src
make
安装 RepeatScount
wget http://www.repeatmasker.org/RepeatScout-1.0.6.tar.gz
tar -zxvf RepeatScout-1.0.6.tar.gz
make
如果同时要检测 LTR,还要安装以下工具:
安装 GenomeTools
wget https://github.com/genometools/genometools/releases/download/v1.6.5/gt-1.6.5-Linux_x86_64-64bit-complete.tar.gz
tar -zxvf gt-1.6.5-Linux_x86_64-64bit-complete.tar.gz
安装 Ltr_retriever:略
安装 CD-HIT:略
安装 MAFFT:
wget https://mafft.cbrc.jp/alignment/software/mafft-7.487-with-extensions-src.tgz
tar -zxvf mafft-7.487-with-extensions-src.tgz
cd core
make
安装 Ninja:
## 官方推荐的流程是:
wget https://github.com/TravisWheelerLab/NINJA/releases/tag/0.95-cluster_only.zip
unzip NINJA-0.95-cluster_only.zip
cd NINJA
make all
然而,在编译的时候遇到了报错:
g++ -std=gnu++11 -Wall -mssse3 -fopenmp -O3 -c -o ArgumentHandler.o ArgumentHandler.cpp
cc1plus: error: unrecognized command line option "-std=gnu++11"
尝试了一下,无论哪个版本中,要求的都是 CXX = g++ #must support C++11,怎么调整也不行。
Ninja 官方推荐 java 版本,我尝试了安装:
wget http://wheelerlab.org/software/ninja/old_distros/ninja_1.2.2.tgz
tar -zxvf ninja_1.2.2.tgz
是可以使用的。但是在编译 RepeatModeler 的时候,要求给定路径的时候给 ninja_1.2.2 的路径却还是报错,仔细检查了编译脚本,发现前后两个版本的可执行文件名称不同,修改:
mv ninja Ninja
费了好半天劲,终于可以了!
2. 软件安装
安装 RepeatModeler:
wget https://github.com/Dfam-consortium/RepeatModeler/archive/refs/tags/2.0.tar.gz
tar -zxvf 2.0.tar.gz
perl ./configure
这个时候有报错:
-bash: ./configure: /usr/local/bin/perl: bad interpreter: No such file or directory
通过 which perl 确定系统上 perl 的路径后,替换掉 configure 文件中的 /usr/local/bin/perl 路径。
此外,在安装 2.0.5 版本的时候,提示:
The following perl modules required by RepeatModeler are missing from
your system. Please install these first:
Devel::Size
我嫌麻烦,就直接安装了旧版本。2.0 版本没问题。回到编译过程:
perl ./configure
依次按上述要求给出 PERL、RepeatMasker、RECON、RepeatScout、TRF、RMBlast 的路径。
如果要检测 LTR,还要再配置 LtrHarvest、Ltr_retriever、MAFFT、CD-HIT、Ninja 的路径。
3. 软件运行
如果上述软件的路径有修改,要重新配置 RepeatModeler,也就是重新跑一遍 ./configure。
3.1 建库
## 示例
<RepeatModelerPath>/BuildDatabase -name elephant elephant.fa
BuildDatabase 有三种用法:
## 指定单个或多个 FASTA 格式的序列文件
BuildDatabase [-options] -name "mydb" <seqfile(s) in fasta format>
## 指定包含 FASTA 文件的目录,并且仅处理具有.fa或.fasta后缀的文件
BuildDatabase [-options] -name "mydb" -dir <dir containing fasta files *.fa, *.fasta, *.fast, *.FA, *.FASTA, *.FAST, *.dna, and *.DNA >
## 提供包含 FASTA 文件名(完全合格的文件名)的清单文件,每行一个文件名
BuildDatabase [-options] -name "mydb" -batch <file containing a list of fasta files>
3.2 运行 RepeatModeler
## 示例
nohup <RepeatModelerPath>/RepeatModeler -database elephant -threads 20 -LTRStruct >& run.out &
参数详解:
-database:指定要在其上运行分析的序列数据库的名称。
-pa:指定要运行的并行搜索作业的数量。RMBlast 作业将使用每个 4 个核心,而 ABBlast 作业将使用每个单核心。例如,在具有 12 个核心的机器上,使用 RMBlast 运行,可以使用-pa 3来充分利用机器。
-recoverDir: 如果运行在处理过程中失败,则可能可以恢复一些结果,并继续上次运行的位置。只需提供失败运行结果的输出目录,并且程序将尝试恢复并继续运行。
-LTRStruct:检测 LTR(LTR_Harvest 和 LTR_retreiver),并将结果与 RepeatScout/RECON 管道结合。[可选]











网友评论