CC BY 4.0 (除特别声明或转载文章外)
如果这篇博客帮助到你,可以请我喝一杯咖啡~
1. EDTA
1.1 EDTA介绍
EDTA是一个用于自动化全基因组的转座元件(transposable elements,TE)从头注释(de-novo)注释和评估TE注释的综合软件。
EDTA运行和调用软件的流程:
- LTR预测
- LTR_FINDER预测LTR
- LTRharvest预测LTR
- LTR_retriever确认前两个软件预测的LTR
- TIR预测
- Generic Repeat Finder
- TIR-Learner预测TIR
- Helitrons预测
- HelitronScanner
- filter过滤
- 以上三种TE预测结束后做basic filter获得full-length TEs
- 进一步做advance filter,获得raw library
- 与指定的curated library合并
- 用RepeatModeler做训练
- 用指定的CDS做最后的filters
- 获得最终的final TE library
- Annotation
- Evaluation
1.2. EDTA 安装
注意RepeatMasker安装的Repbase库的加入,参考RepeatMasker的安装。
1.2.1. quick installation using conda
- 下载EDTA
git clone https://github.com/oushujun/EDTA.git
- 用EDTA.yml创建新的环境和安装依赖
conda env create -f EDTA.yml
1.2.2. another installation using conda
- 【推荐】创建新的环境并进入
conda create -n EDTA
conda activate EDTA [xsdkcapb.xls](../../../Downloads/xsdkcapb.xls)
- 三种方式安装EDTA:
- 安装EDTA
conda install -c bioconda -c conda-forge edta
- 安装EDTA和指定版本依赖
conda install -c conda-forge -c bioconda edta python=3.6 tensorflow=1.14 'h5py<3'
- 用mamba加速安装
conda install -c conda-forge mamba
mamba install -c conda-forge -c bioconda edta python=3.6 tensorflow=1.14 'h5py<3'
1.2.3. singularity安装
singularity pull EDTA.sif docker://oushujun/edta:<tag>
1.2.4. docker安装
docker pull docker://oushujun/edta:<tag>
1.3. EDTA 使用
nohup EDTA.pl --genome sample.fa --cds sample.cds --species others --step all --sensitive 1 --anno 1 --evaluate 1 -t 30 &
参数解释:
- –genome 基因组文件
- –cds 提供这个种或近缘种的CDS序列(不能包括introns和UTR),用于最终过滤。
- –rmout 提供其他软件做的同源TE注释(比如repeatmasker的.out文件),如果不提供则默认使用EDTA - library用于masking。
-
–species [Rice Maize others]三种可选 -
–step [all filter final anno] - -sensitive: 是否用RepeatModeler分析剩下的TE,默认是0,不要。RepeatModeler会增加运行时间。
- -anno: 是否在构建TE文库后进行全基因组预测,默认是0.
- -evalues: 默认是0,需要同时设置-anno 1才能使用。能够评估注释质量,但会显著增加分析时间。
- –overwrite默认是0,设定为1会删除已有结果重新运行,建议保持默认,运行中断可以继续运行。
简化推荐版:
nohup EDTA.pl --genome sample.fa --cds sample.cds --species others --step all --anno 1 -t 36 &
1.4. 结果文件
- genome.mod.EDTA.TElib.fa:最终结果,非冗余的TE库。如果在输入文件中用–curatedlib指定的修正版TE库,则该文件中也将包含这部分序列。
- genome.mod.EDTA.TElib.novel.fa: 新TE类型。该文件包括在输入文件中用–curatedlib指定的修正版TE库没有的TE序列,即genome.mod.EDTA.TElib.fa减去–curatedlib指定库(需要–curatedlib参数)。
- genome.mod.EDTA.TEanno.gff: 全基因组TE的注释。该文件包括结构完整和结构不完整的TE的注释(需要–anno 1参数)。
- genome.mod.EDTA.TEanno.sum: 对全基因组TE注释的总结(需要–anno 1参数)。
- genome.mod.MAKER.masked: 低阈值TE的屏蔽。该文件中仅包括长TE(>= 1 kb)序列(需要–anno 1参数)。
- genome.mod.EDTA.TE.fa.stat.redun.sum: 简单TE的注释偏差(需要–evaluate 1参数)。
- genome.mod.EDTA.TE.fa.stat.nested.sum:嵌套型TE注释的偏差(需要–evaluate 1参数)。
- genome.mod.EDTA.TE.fa.stat.all.sum: 注释偏差的概述(需要–evaluate 1参数)。
1.5. 评估已有TE注释
当已有TE库结果,想要与其他软件(比如RepeatMasker)预测结果比较,可以用EDTA的脚本lib-test.pl
进行,评估是通过与参考注释进行比较来进行的。
1.5.1. 用RepeatMasker根据已有TE库进行注释
RepeatMasker -pa 36 -q -no_is -norna -nolow -div 40 -lib sample.TE.lib.fasta -cutoff 225 sample.fa
1.5.2. 用lib-test.pl进行TE注释的比较和评估
lib-test.pl 是一个用于比较不同转座元件(TE)注释库性能的 Perl 脚本。它通过分析基因组上标准库与测试库的注释结果,评估不同注释库对特定 TE 类型的覆盖率和分类效果。
lib-test.pl -genome sample.fa -std genome.stdlib.RM.out -tst genome.testlib.RM.out -cat LTR
• -genome:基因组序列文件。
• -std:标准库注释的 RepeatMasker .out 文件。
• -tst:测试库注释的 RepeatMasker .out 文件。
• -cat:评估目标为 LTR 元件。
• -N:将 N 碱基计入基因组总长度。
• -unknown:不将未分类注释纳入目标类别。
• -threads:使用 8 个线程以提高运行速度。