EviAnn v2.0.5 安装与使用--生信工具111

EviAnn------ 基于证据的真核生物基因组注释软件

EviAnn(Evidence Annotation)是一款全新的基因组注释软件,完全基于证据驱动。EviAnn 利用 RNA‑seq 数据、转录本序列以及近缘物种蛋白比对结果,完成蛋白编码基因与长非编码 RNA 的注释,输出 GFF3 格式注释文件。运行 EviAnn不需要预先对基因组重复序列进行软屏蔽 ;软件运行稳定、速度快。在一台 24 核 Intel Xeon Gold 服务器上,完成小鼠(M. musculus)基因组注释耗时不到 1 小时(输入为比对完成的 RNA‑seq BAM 文件,以及包含人在内的多个近缘物种合计约 346 Mb 蛋白序列)。

bash 复制代码
https://github.com/alekseyzimin/EviAnn_release    #官网

EviAnn 的优势

  1. 输出完全符合 NCBI 注释规范,注释结果可直接通过table2asn工具提交至 NCBI GenBank(见下文)。
  2. 安装与运行简单,依赖库易于部署。
  3. 运行速度极快:RNA‑seq 比对完成后,哺乳动物基因组注释耗时小于 1 小时。
  4. 绝大多数蛋白编码转录本可输出 5' 与 3'UTR。
  5. 支持长非编码 RNA(lncRNA)注释。
  6. 自动标记加工假基因,并且不输出假基因的 CDS 序列。
  7. 可通过参数‑f调用 UniProt‑SwissProt 数据库,实现可选的自动功能注释。
  8. 同时支持长读长、短读长转录组数据,也支持混合数据集。
  9. 支持最大32 Gbp的基因组。
  10. 若存在一个或多个注释完成的近缘物种,DNA 水平平均相似度 > 95% 时,无需 RNA‑seq 数据,仅依靠近缘物种转录本与蛋白即可完成注释
  11. 支持细胞器(线粒体、叶绿体)注释。
  12. 支持染色体长度 > 4 Gbp 的超大基因组。

EviAnn 开发得到美国 NSF 基金 IOS‑2432298,以及 NIH 基金 R01‑HG006677、R35‑GM130151 资助。

安装说明

Bioconda 安装

EviAnn 已上架 Bioconda。建议新建独立 conda 环境:

复制代码
conda create -n eviann

激活环境并安装:

复制代码
conda activate eviann
conda install eviann

安装完成后运行eviann.sh即可使用。切换环境使用:conda activate eviann / conda deactivate

GitHub 源码安装

从 GitHub 发布页下载最新源码压缩包EviAnn‑X.X.X.tar.gz(不要下载 Source code 源码包): https://github.com/alekseyzimin/EviAnn_release/releases 将 X 替换为实际版本号,执行:

复制代码
$ tar xvzf EviAnn-X.X.X.tar.gz
$ cd EviAnn-X.X.X
$ ./install.sh

安装脚本自动编译配置全部依赖,可执行文件输出至bin/目录。 任意位置调用:/path_to/EviAnn‑X.X.X/bin/eviann.sh

外部依赖(GitHub 源码安装需要手动部署至 PATH)
软件内置打包的依赖(无需手动安装)
  • StringTie 3.0.0(静态编译版)
  • gffread 0.12.7(静态编译版)
  • gffread 0.12.6(静态编译版)
  • makeblastdb、blastp 2.8.1+(NCBI 工具;若提示版本不兼容,可从 NCBI FTP 下载旧版本)
  • TransDecoder 5.7.1(修改版,移除 URI::Escape 依赖)
  • samtools 1.15.1(静态编译版)
  • ufasta 1.0(安装时编译)
  • miniprot v0.15‑r270(安装时编译)
开发者模式(仅开发人员使用)

克隆开发分支需要额外依赖:swigyaggo,需要配置到系统 PATH。

复制代码
$ git clone https://github.com/alekseyzimin/EviAnn_release
$ cd EviAnn_release
$ git submodule init
$ git submodule update
$ cd ../ufasta && git checkout master
$ cd ..
$ make
$ (cd build/inst/bin && tar -xzf TransDecoder-v5.7.1.tar.gz)
$ (cd build/inst/bin && tar -xzf miniprot.tgz && cd miniprot_source && make && mv miniprot ../ && cd .. && rm -rf  miniprot_source miniprot.tgz)

编译:执行make;生成发布包:make install;二进制输出目录build/inst/bin;版本号在 Makefile 头部设置。

部分系统编译报错:缺失xlocale.h,glibc 2.26 之后移除该头文件。EviAnn 的 Perl 扩展模块依赖该文件。解决方案:升级 Perl 扩展,或者建立软链接:

复制代码
ln -s /usr/include/locale.h /usr/include/xlocale.h

使用命令

复制代码
eviann.sh [options]

参数说明

参数 说明
‑t INT 线程数,默认:1
‑g FILE 必填:基因组 fasta 文件,无默认值
‑r FILE 转录组测序数据文件列表,无默认值文件格式说明 :每行对应一个测序样本;一个样本的所有 reads 放在同一行。格式示例:/path/file1 /path/file2 /path/file3 tag``/path/file1 /path/file2 tag``/path/file1 tag空格分隔,行首无空格;tag 说明数据类型:fastq:Illumina RNA‑seq fastq;输入 1 个或一对 fastqfasta:Illumina RNA‑seq fasta;输入 1 个或一对 fastabam:比对完成的 Illumina RNA‑seq bambam_isoseq:比对完成的 PacBio Iso‑seq bamisoseq:PacBio Iso‑seq fasta/fastqmix:同一样本同时包含 Illumina (fastq)+ 长读长 (Iso‑seq/ONT),输入 3 个文件bam_mix:同一样本同时包含 Illumina (bam)+ 长读长 (bam),输入 2 个 bam不写 tag 默认视为fastq,需要 1 个或一对 fastq 文件。
‑e FILE 近缘物种组装转录本 fasta,用作注释证据,默认无
‑p FILE 近缘物种蛋白序列 fasta(建议≥10 个物种);不提供则自动调用 uniprot 蛋白,默认无
‑s FILE UniProt‑SwissProt 蛋白 fasta,用于功能注释;软件会自动下载最新版本;指定该参数可使用本地版本;数据库地址:https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz
‑m INT 最大内含子长度;默认自动计算:sqrt(基因组kb大小)*1000
‑‑partial 输出包含 CDS 不完整(缺失起始 / 终止密码子)的转录本
‑d INT 基因组倍性,用于估算最大内含子长度,默认 2
‑c FILE 本物种 CDS 的 GFF 文件作为注释输入;GFF 必须包含 gene/transcript/mRNA/exon/CDS 层级
‑‑lncrnamintpm FLOAT lncRNA 注释最低 TPM 阈值,默认 1.0
`‑f ‑‑functional`
‑‑mito_contigs FILE 线粒体 contig 列表文件,使用线粒体密码子(终止密码子 AGA,AGG,TAA,TAG)
‑‑extra FILE 外部 GFF 导入额外特征;GFF 必须包含 gene 层级;与已有注释重叠的特征会被忽略
‑‑debug 保留全部中间输出文件,默认关闭
‑‑verbose 输出详细运行日志,默认关闭
‑‑version 打印版本并退出
‑‑help 打印帮助并退出

重要:必须提供‑r或者‑e参数。

EviAnn 会保存全部中间步骤进度;程序异常中断(宕机、磁盘满),直接重复执行相同命令,会从已经完成的步骤继续运行。

输出文件前缀为输入基因组文件名。例如输入genome.fasta,输出:

  • genome.fasta.pseudo_label.gff:GFF3 注释文件
  • genome.fasta.proteins.fasta:蛋白氨基酸序列
  • genome.fasta.transcripts.fasta:转录本序列

输出结果解读

输出 GFF3、蛋白 fasta、转录本 fasta。按照 GFF3 规范,终止密码子包含在 CDS 区间内

蛋白编码 mRNA 属性字段

  • ID:EviAnn 分配的转录本 ID
  • Parent:父级 gene ID
  • EvidenceProteinID:CDS 注释依据的蛋白 ID;附带蛋白功能描述;以XLOC开头代表仅依靠转录本比对得到,参考EvidenceTranscriptID
  • EvidenceTranscriptID:注释依据的转录本 ID;组装转录本存放于<PREFIX>.gtf;证据类型为protein_only时该字段为源蛋白 ID;complete/transcript_only格式:<转录本ID>:<支持该转录本的RNA‑seq实验数>:<最大TPM>
  • StartCodon:CDS 起始密码子
  • StopCodon:CDS 终止密码子
  • Class:蛋白比对匹配等级;可信度最高为=k
  • Evidence:注释证据类型
    • complete:转录本证据 + 蛋白证据同时使用
    • protein_only:仅蛋白证据
    • transcript_only:仅转录本证据;CDS 由 TransDecoder 预测,再经 Uniprot 比对校验
  • pseudo=true(可选):标记加工假基因,该转录本不会输出 CDS

lncRNA ncRNA 属性字段

  • ID:转录本 ID
  • Parent:父级 gene ID
  • EvidenceTranscriptID:注释依据转录本 ID;组装转录本存放于<PREFIX>.gtf

示例 GFF 片段(蛋白编码基因、假基因、lncRNA)

复制代码
NC_004353.4     EviAnn  gene    29462   43759   .       -       .       ID=XLOC_000048;geneID=XLOC_000048;type=protein_coding;Note=Similar to PLXNA2: Plexin‑A2 (Homo sapiens);
NC_004353.4     EviAnn  mRNA    32745   43754   .       -       .       ID=XLOC_000048‑mRNA‑1;Parent=XLOC_000048;EvidenceProteinID=XP_001352289.2;EvidenceTranscriptID=MSTRG_00000148:4:7.702416;StartCodon=atg;StopCodon=TGA;Class==;Evidence=complete;Note=Similar to PLXNA2: Plexin‑A2 (Homo sapiens);
NC_004353.4     EviAnn  exon    32745   33125   .       -       .       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  exon    33191   33373   .       -       .       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  exon    35874   36457   .       -       .       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  exon    36516   41285   .       -       .       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  exon    42914   43754   .       -       .       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  CDS     33018   33125   .       -       0       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  CDS     33191   33373   .       -       0       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  CDS     35874   36457   .       -       2       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  CDS     36516   41285   .       -       2       Parent=XLOC_000048‑mRNA‑1
NC_004353.4     EviAnn  CDS     42914   43424   .       -       0       Parent=XLOC_000048‑mRNA‑1

NC_004354.4     EviAnn  gene    23461776        23464767        .       -       .       ID=XLOC_001890;geneID=XLOC_001890;type=protein_coding;pseudo=true;Note=function unknown;
NC_004354.4     EviAnn  mRNA    23461776        23464767        .       -       .       ID=XLOC_001890‑mRNA‑1;Parent=XLOC_001890;EvidenceProteinID=XP_046868993.1;EvidenceTranscriptID=MSTRG_00006719:2:3.697180;StartCodon=atg;StopCodon=TAA;Class=k;Evidence=complete;pseudo=true;Note=function unknown;
NC_004354.4     EviAnn  exon    23461776        23464767        .       -       .       Parent=XLOC_001890‑mRNA‑1

NC_004353.4     EviAnn  gene    181423  182801  .       -       .       ID=XLOC_000055U_lncRNA;geneID=XLOC_000055U_lncRNA;type=lncRNA;junction_score=0;Note=function unknown;
NC_004353.4     EviAnn  ncRNA   181423  182801  .       -       .       ID=XLOC_000055U_lncRNA‑mRNA‑1;Parent=XLOC_000055U_lncRNA;EvidenceTranscriptID=MSTRG_00000163:5:11.129138
NC_004353.4     EviAnn  exon    181423  181516  .       -       .       Parent=XLOC_000055U_lncRNA‑mRNA‑1
NC_004353.4     EviAnn  exon    181569  182801  .       -       .       Parent=XLOC_000055U_lncRNA‑mRNA‑1

使用 table2asn 提交 EviAnn 注释到 NCBI GenBank

  1. 网页生成sbt模板文件:https://submit.ncbi.nlm.nih.gov/genbank/template/submission/

  2. 下载 NCBI table2asn工具:https://www.ncbi.nlm.nih.gov/genbank/table2asn/

  3. 在 EviAnn 输出目录执行:

    table2asn -M n -J -c w -euk -t template.sbt -gaps‑min 10 -l paired‑ends -j "[organism=latin name][isolate=isolate]" -i assembly.fasta -f assembly.fasta.pseudo_label.gff -o output.sqn -Z -V b -locus‑tag‑prefix XXXX

假设基因组文件assembly.fasta,EviAnn 注释assembly.fasta.pseudo_label.gffXXXX为 GenBank 分配的 4 位 locus tag 前缀。输出output.sqnoutput.gbf,用于 GenBank 提交。

案例 1:RNA‑seq + 近缘物种蛋白做注释

基因组:genome.fasta;RNA‑seq 双端数据rna1_R1.fastq rna1_R2.fastqrna2_R1.fastq rna2_R2.fastq;近缘物种蛋白全部合并为proteins_all.faa

蛋白数据量建议:昆虫 10‑20 万条;典型植物 / 哺乳动物 50 万条以上。

复制代码
cat protein1.faa protein2.faa > proteins_all.faa

生成 reads 列表文件paired.txt

复制代码
$ cat paired.txt
/path/rna1_R1.fastq /path/rna1_R2.fastq
/path/rna2_R1.fastq /path/rna2_R2.fastq

快速生成列表(在 reads 目录执行):

复制代码
paste <(ls $PWD/*_R1.fastq) <(ls $PWD/*_R2.fastq) > paired.txt

混合数据示例paired_mixed.txt

复制代码
$ cat paired_mixed.txt
/path/rna1_R1.fastq /path/rna1_R2.fastq /path/IsoSeq_rna.fastq
/path/rna1_R1.fastq /path/rna1_R2.fastq
/path/rna2_R1.fa /path/rna2_R2.fa fasta
/path/rna3.bam bam

v1.0.8 之前版本必须写绝对路径。24 线程运行:

复制代码
/path/EviAnn-X.X.X/bin/eviann.sh -t 24 -g /path/genome.fasta -r /path/paired.txt -p /path/proteins_all.faa

案例 2:无 RNA‑seq,仅依靠近缘物种转录本与蛋白(注释 lift‑over)

已有近缘物种 gff、基因组,用gffread提取转录本、蛋白:

复制代码
/eviann_path/bin/gffread -W -y species1_prot.faa -w species1_transc.fa -g species1_genome.fa species1.gff
/eviann_path/bin/gffread -W -y species2_prot.faa -w species2_transc.fa -g species2_genome.fa species2.gff

合并:

复制代码
cat species*_transc.fa > transcripts.fa
cat species*_prot.fa > proteins.faa

必须加上‑l参数,开启 lift‑over 模式

复制代码
/path/EviAnn-X.X.X/bin/eviann.sh -t 24 -g /path/genome.fasta -e $PWD/transcripts.fa -p $PWD/proteins.faa -l

引用

Zimin, A.V., Puiu, D., Pertea, M. et al. Efficient evidence-based genome annotation with EviAnn. Nat Methods 23, 1521--1527 (2026). https://doi.org/10.1038/s41592-026-03156-0

相关推荐
haluhalu.1 小时前
机器学习概念
人工智能·机器学习
月华路2 小时前
《模型不玄学》小白的模型算法实战手册 - 前言
人工智能·机器学习
小道士写程序4 小时前
自然语言处理NLP - 第3章 从字符到Token:机器的输入长什么样
人工智能·机器学习
IT毕设实战小研5 小时前
基于大数据的AI应用对就业与收入增长的区域差异分析及可视化
大数据·人工智能·python·随机森林·机器学习·课程设计
liliangcsdn6 小时前
如何对IC时间序列进行汇总统计分析示例
人工智能·算法·机器学习
10WTW017 小时前
量化推理系统详解:从模型鲁棒性到数值表示的根本约束
人工智能·深度学习·机器学习
段一凡-华北理工大学7 小时前
高炉炉况智能诊断与预警实战~系列文章24:炉况诊断实战全景复盘:从需求到价值的完整案例
大数据·人工智能·机器学习·模型可解释性·高炉智能化·高炉炉况诊断·高炉炉况预警
小白说大模型7 小时前
基于 Qwen3.8-Max 构建 AI 合同精审系统:文档解析、多轮条款分析 Pipeline 工程实战
数据库·人工智能·spring·机器学习·自然语言处理
AI工具测评家7 小时前
2026实测对比|论文降AI改写底层技术解析:同义词替换≠真正去除AI写作特征
人工智能·机器学习·ai写作·降重·ai检测·查重·降ai