当前位置: 首页 > news >正文

EVidenceModeler v2.1 安装与使用--生信工具58

EVidenceModeler (EVM) 流程做基因组注释

01 背景

EVidenceModeler(简称 EVM)软件将 从头基因预测蛋白比对转录本比对 整合为加权的共识基因结构。EVM 提供了一个灵活且直观的框架,用于将多种证据类型整合成一个自动化的基因结构注释系统。

EVM 的输入包括基因组序列、GFF3 格式的基因预测和比对数据,以及用于为每种证据类型应用的数值权重列表。权重可以手动配置。

理想情况下,输入应包括:

  • 至少三个不同的从头预测工具,例如:GlimmerHMM、SNAP、Augustus、GeneMarkHMM 和 FGeneSH。

  • 基于 RNA-seq 的转录本结构(例如来自 PASA 的比对组装)。

  • 蛋白质剪接比对(例如,使用相关蛋白数据库运行 miniprot)。

02 获取与安装 EVM

可以通过 Docker 或 Singularity 镜像来运行 EVM,这是最简单的方式,不需要额外的软件安装。

如果不使用镜像,EVM 也可以从 GitHub 的 EVM Release 页面下载。

下载软件后,在其永久存放位置解压(例如:/usr/local/bin),该位置以下会被称为 $EVM_HOME

在软件的基础目录下运行 make 命令,编译包含的 ParaFly 插件,以支持并行命令执行。

为了充分利用高质量的转录本比对结果,建议下载并安装 PASA —— 更多关于 PASA 的使用信息见下文。

推荐使用 conda 安装:

conda search evidencemodeler conda install evidencemodeler

安装完成后,EVM 的 Perl 脚本会存放在:

anaconda3/envs/EVM/opt/evidencemodeler-2.1.0/EvmUtils/

EVM 本质上是一个 整合多来源证据(蛋白、转录组、从头预测)的基因注释工具

数据来源:Arabidopsis 染色体级组装论文
使用数据:C24.chr.all.v2.0.fasta 的 1 号染色体

03 EVM 输入文件

运行核心命令:

~/anaconda3/envs/EVM/opt/evidencemodeler-2.1.0/EvmUtils/evidence_modeler.pl \ --genome ../../repeat/chr1.fa.masked \ --weights weights.txt \ --gene_predictions evm_abinitio.gff3 \ --protein_alignments evm_pro.gff3 \ --transcript_alignments transcripts.fasta.transdecoder.genome.gff3 \ > evm.out

所需输入包括:

  1. 基因组序列chr1.fa.masked

    • 需提前进行重复序列屏蔽。

  2. 权重文件 weights.txt(示例):

    PROTEIN genomeThreader 4
    TRANSCRIPT transdecoder 8
    ABINITIO_PREDICTION Augustus 1
    ABINITIO_PREDICTION GeneMark.hmm 1

    ab initio 预测结果evm_abinitio.gff3

    • 来自 AugustusGeneMark,可通过 BRAKER2 生成,再转换为 EVM 格式。

  3. 同源蛋白比对结果evm_pro.gff3

    • 使用 genomeThreader (gth),比对同源蛋白序列。

  4. 转录组证据transcripts.fasta.transdecoder.genome.gff3

    • Hisat2 + StringTie + TransDecoder 流程获得。

04 输入文件生成步骤
4.1 重复序列屏蔽

RepeatMasker -species Arabidopsis -pa 12 -xsmall -dir repeat chr1.fa

若为非模式物种,需要先构建重复序列库。


4.2 基于同源蛋白的注释

# 比对同源蛋白

~/anaconda3/envs/braker2/bin/gth \ -gff3out -intermediate -duplicatecheck seq \ -protein proteins.fa \ -translationtable 1 \ -genomic chr1.fa.masked \ -o homo_protein.gff3 -force

# 转换为 EVM 格式

~/anaconda3/envs/EVM/opt/evidencemodeler-2.1.0/EvmUtils/misc/genomeThreader_to_evm_gff3.pl \ homo_protein.gff3 > evm_pro.gff3


4.3 基于转录组数据
# 比对 hisat2-build ../repeat/chr1.fa.masked chr1 -p 8 hisat2 -p 8 --dta -x chr1 \ -1 SRR4420296_R1.fastq.gz -2 SRR4420296_R2.fastq.gz \ -S SRR4420296.sam# 转换并拼接 samtools sort -@ 8 -O bam -o SRR4420296.bam SRR4420296.sam stringtie -p 12 -o SRR4420296.gtf SRR4420296.bam# 转换为 cDNA 与 GFF3 gtf_genome_to_cdna_fasta.pl SRR4420296.gtf ../repeat/chr1.fa.masked > transcripts.fasta gtf_to_alignment_gff3.pl SRR4420296.gtf > transcripts.gff3# ORF 预测 TransDecoder.LongOrfs -t transcripts.fasta TransDecoder.Predict -t transcripts.fasta# 转换到基因组坐标 cdna_alignment_orf_to_genome_orf.pl \ transcripts.fasta.transdecoder.gff3 transcripts.gff3 transcripts.fasta \ > transcripts.fasta.transdecoder.genome.gff3

4.4 从头预测(Ab initio)

braker.pl --cores 48 --species=At01 \ --genome=../repeat/chr1.fa.masked \ --softmasking \ --bam=SRR4420296.bam \ --gff3 \ --prot_seq=../proteins.fa --prg=gth

结果包含:

  • augustus.hints.gtf

  • GeneMark-ET/genemark.gtf

需格式转换:

~/anaconda3/envs/EVM/opt/evidencemodeler-2.1.0/EvmUtils/misc/augustus_GTF_to_EVM_GFF3.pl \ augustus.hints.gtf > evm_augustus.gff3

~/anaconda3/envs/EVM/opt/evidencemodeler-2.1.0/EvmUtils/misc/GeneMarkHMM_GTF_to_EVM_GFF3.pl \ GeneMark-ET/genemark.gtf > evm_genemark.gff3

# 合并 cat evm_augustus.gff3 evm_genemark.gff3 > evm_abinitio.gff3


05 整合注释

有了上述文件,即可运行 EVM 主流程,整合多种证据,得到最终的注释结果:

~/anaconda3/envs/EVM/opt/evidencemodeler-2.1.0/EvmUtils/evidence_modeler.pl \ --genome ../../repeat/chr1.fa.masked \ --weights weights.txt \ --gene_predictions evm_abinitio.gff3 \ --protein_alignments evm_pro.gff3 \ --transcript_alignments transcripts.fasta.transdecoder.genome.gff3 \ > evm.out

 $EVM_HOME/EVidenceModeler \--sample_id mySampleID \--genome genome.fasta \--gene_predictions gene_predictions.gff3 \--protein_alignments protein_alignments.gff3 \--transcript_alignments transcript_alignments.gff3 \--segmentSize 100000 \--overlapSize 10000 

06 引用
  • The EVM paper: Haas et al. Automated eukaryotic gene structure annotation using EVidenceModeler and the Program to Assemble Spliced Alignments. Genome Biology 2008, 9:R7doi:10.1186/gb-2008-9-1-r7.

  • Using EVM along with PASA for genome annotation: Approaches to Fungal Genome Annotation, Mycology. 2011 Oct 3; 2(3): 118–141

  • GINGER: an integrated method for high-accuracy prediction of gene structure in higher eukaryotes at the gene and exon level Takeaki Taniguchi, Miki Okuno, Takahiro Shinoda, Fumiya Kobayashi, Kazuki Takahashi, Hideaki Yuasa, Yuta Nakamura, Hiroyuki Tanaka, Rei Kajitani, Takehiko Itoh

EVM 是一个 整合多种证据的注释框架,依赖于 重复序列处理、同源蛋白比对、转录组拼接与预测、从头基因预测 等多个步骤。关键在于 格式转换与权重设置,最终通过 evidence_modeler.pl 融合证据生成可靠的基因组注释。

http://www.dtcms.com/a/358546.html

相关文章:

  • 开发者效率白皮书:工具选型与使用方法论
  • 使用 JavaScript 构建 RAG(检索增强生成)库:原理与实现
  • 【Redisson 加锁源码解析】
  • 不使用if else ,实现石头剪刀布
  • 大数据在UI前端的应用深化研究:用户行为数据的跨平台关联分析
  • 思科ISR4300系列端口限速
  • 面试专栏
  • [光学原理与应用-333]:ZEMAX - 序列模式的设计过程
  • 基于CNN(卷积神经网络)的门牌号识别
  • 国标调查:赋能中国汽车行业高质量发展的关键支撑
  • 【C++】红黑树(详解)
  • 项目管理方法如何选择
  • 语音情感识别中的跨语言无监督领域自适应方法详解
  • 微服务搭建(SpringBoot + Dubbo + Nacos)
  • 【龙泽科技】汽车电气故障诊断仿真教学软件【迈腾380TSI】
  • 3.kafka常用命令
  • 元素滚动scrollIntoView
  • 2025年09月计算机二级Python选择题每日一练——第十二期
  • GD32入门到实战22--红外NEC通信协议
  • node.js ---文件读写(FS模块)
  • shell脚本第五阶段---shell函数与正则表达式
  • 机器学习时间序列算法进行随机划分数据是不合适的!
  • 一键掌控三线资源:极简 Shell 脚本实现 CPU·磁盘·内存可视化巡检
  • 鸿蒙ArkTS 核心篇-14-条件表达式(三目运算符)
  • ans1语法的一个例子nt5inf.cat
  • openEuler2403安装部署PostgreSQL17
  • 开发中使用——鸿蒙CoreSpeechKit让文字发声
  • 118、【OS】【Nuttx】【周边】效果呈现方案解析:作用域?
  • python pyqt5开发DoIP上位机【源码】
  • Spring代理的特点