基因组重复序列注释
引言
目前重复序列的注释方法有很多,但是主流的1.EDTA+RepeatMask;2.Repeatmolder+Repeatmasker,但是我在使用Repeatmolder+Repeatmasker组合进行重复序列注释的时候,Unclass的重复序列种类高达35%,这结果显然是有问题的,因此我去寻找原因,发现Repeatmolder预测的TE库本身就有很多是Unclass,最终导致RepeatMasker的输出结果也有很多是Unclass。因此,我重新使用EDTA进行TE库的预测,然后使用RepeatMasker进行重复序列的注释,即EDTA+RepeatMask,目前结果还没跑出来。
1. 软件官网
2. 下载
官网推荐直接用Conda下载,但是我用Conda下载后,使用的时候会出现LTR重复序列注释不到的问题。当我使用第二种方法,也就是手动安装依赖软件,随后使用,就不会出现这个问题。
#Conda 直接安装
conda create -n EDTA
conda activate EDTA
conda install -n bioconda::edta
# 手动安装依赖,然后安装EDTA
mamba create -n EDTA2.2 -c conda-forge -c bioconda -c r annosine2 biopython blast cd-hit coreutils genericrepeatfinder genometools-genometools glob2 h5py==3.9 keras==2.11 ltr_finder ltr_retriever mdust multiprocess muscle openjdk pandas perl perl-text-soundex pyarrow python r-base r-dplyr regex repeatmodeler r-ggplot2 r-here r-tidyr scikit-learn swifter tensorflow==2.11 tesorter
git clone https://github.com/oushujun/EDTA.git
3. 软件使用
使用测试数据验证软件是否下载成功,一般测试数据集的运行时间是5分钟,如果没有出现错误,则说明安装没问题(警告正常)。
# 测试
perl ../EDTA.pl –genome genome.fa –cds genome.cds.fa –curatedlib ../database/rice7.0.0.liban –exclude genome.exclude.bed –overwrite 1 –sensitive 1 –anno 1 –threads 10
# 运行命令
perl ./EDTA/EDTA.pl -genome $Genome -species others -step all -t 30
# 当不指定-anno 1时,EDTA只会构建一个TE的库,并不会进行注释。因此当时想不再使用RepeatMask进行注释,而是完全由EDTA进行建库+注释,可以加上-anno 1
# 参数
–genome 基因组FASTA文件
–species 指定物种
–step [all|filter|final|anno] 指定要运行EDTA的步骤。all: 运行整个流程(默认)filter: 从原始TE开始到结束。final: 从过滤后的TE开始到最终运行。
–anno [0|1] 执行(1)或不执行(0,默认)全基因组TE注释,作为TE库构建后的步骤。
# 输出结果
(1)构建的TE序列库,是后面RepeatMasker运行的指定TE库: $genome.mod.EDTA.TElib.novel.fa
注: 下面的结果需要指定-anno 1才能输出
(2) 全基因组TE注释:$genome.mod.EDTA.TEanno.gff3。此文件包含结构完整和破碎的TE注释。
(3)全基因组TE注释摘要:$genome.mod.EDTA.TEanno.sum。
(4)低阈值TE掩蔽:$genome.mod.MAKER.masked。此文件仅掩蔽长TE(≥1 kb)的基因组文件。您可以将其用于de novo基因注释。在实践中,这种方法将减少基因区域的过度掩蔽,从而提高基因预测质量。然而,初始基因模型应包含TE,并需要进一步过滤。
(5)简单TE的注释不一致性:$genome.mod.EDTA.TE.fa.stat.redun.sum。
(6)嵌套TE的注释不一致性:$genome.mod.EDTA.TE.fa.stat.nested.sum。
(7)整体注释不一致性:$genome.mod.EDTA.TE.fa.stat.all.sum。
# 运行RepeatMasker
RepeatMasker -e rmblast -pa 20 -q -lib Lib.fasta genome.fasta -xmall
# 生成软屏蔽后的序列
maskFile.pl -fasta genome.fasta -annotations genome.out -softmask
# 生成硬屏蔽后的序列
maskFile.pl -fasta genome.fasta -annotations genome.out
《基因组重复序列注释》有4条评论
你好,我想请教个问题,我之前用EDTA做重复序列注释,有人和我说EDTA的屏蔽用的是N,所以会和作为补gap用的N混淆,会不准确,所以需要用用repeatmasker重新做一次,做软注释,想请教您有必要吗?
您好,正常来说N是指未知碱基,但是EDTA的屏蔽结果会把重复序列屏蔽成N,这两者明显是不同的概念,所以我认为需要用Repeatmaker重新做一次屏蔽。
请问您现在解决Unclassified含量很高的这个问题了吗?我在使用不同的从头预测的方法后,将lib文件合并,使用了DeepTE对unknown的重复序列进行分类,最后进行了RepeatMasker注释,但仍存在大量的Unclassified。
我使用EDTA进行构建TE库,然后使用RepeatMasker注释解决了这个问题,你可以参考一下。