以前做基因组的repeat注释的时候,我一般都是采用repeatmasker/model的,在注释大点的基因组,尤其是烟草的时候,总觉得速度让人捉急。最近,做新的基因组注释相关的项目的时候,发现了另一个好用的工具:EDTA。一句话:盘它,以后注释repeat用EDTA就可以了。
EDTA, 全称是 Extensive de-novo TE Annotator。(This package is developed for automated whole-genome de-novo TE annotation and benchmarking the annotation performance of TE libraries。)从它的描述中我们也可以看出它是一个综合性的流程工具,它整合了目前LTR预测工具结果,TIR预测工具结果,MITE预测工具结果,Helitrons预测工具结果, 从而构建出一高可信,非冗余的TE数据库,用做基因组的注释。所以说,不用想以前注释repeat,需要几个工具综合。流程图如下图所示:
===参考资料===
Ou, S., Su, W., Liao, Y., Chougule, K., Agda, J.R.A., Hellinga, A.J., Lugo, C.S.B., Elliott, T.A., Ware, D., Peterson, T., et al. (2019). Benchmarking transposable element annotation methods for creation of a streamlined, comprehensive pipeline. Genome Biology 20, 275.
https://github.com/oushujun/EDTA
===安装====
还是要感慨一下conda真是拯救了我这种安软件总是出问题的人,可以尽情的配置不一样的环境,尤其是不同工具对于不同perl或者python版本的依赖问题。
git clone https://github.com/oushujun/EDTA.git
cd EDTA
conda env create -f EDTA.yml
//相当于建立了一个EDTA的环境,里面进行了相关要求的配置。
source activate EDTA 或者 conda activate EDTA //进入EDTA的环境
perl EDTA.pl //就可以用了
这里的参数比较简单,
-genome: 输入的基因组序列
-species: 物种名,Rice, Maize和others三个可选
-step: 运行步骤,all|filter|final|anno, 根据具体情况选择
-t: 线程数,默认是4
此外还有几个参数可以关注下
-cds: 提供已有的CDS序列(不能包括内含子和UTR),用于过滤
--exclude: bed文件提供的区域不做TE注释,可以提供基因注释bed
-sensitive: 是否用RepeatModeler分析剩下的TE,默认是0,也就是不要。RepeatModeler运行时间比较久,量力而行。
-anno: 是否在构建TE文库后进行全基因组预测,默认是0.
===测试例子=====
先用安装包里面知道的test数据试一下:
cd test/
perl ../EDTA.pl --genome genome.fa --cds genome.cds.fa --curatedlib ../database/rice6.9.5.liban --exclude genome.exclude.bed --overwrite 1 --sensitive 1 --anno 1 --evaluate 1 --threads 10
运行结束之后,产生的文件:
其中TEanno.sum是repeat注释的总结文件:
其中TEanno.gff3是repeat注释的gff文件:
===测试真实数据===
测试一下arabidopsis的Chr1染色体:
准备Chr1.fa和Chr1.cds.fa文件
perl ../EDTA.pl --genome Chr1.fa --cds Chr1.cds.fa --sensitive 1 --anno 1 --evaluate 1 --threads 20 --force 1
差不多1~2个小时就可以跑完。
本文使用 文章同步助手 同步
网友评论