
EviAnn—— 基于证据的真核生物基因组注释软件EviAnnEvidence Annotation是一款全新的基因组注释软件完全基于证据驱动。EviAnn 利用 RNA‑seq 数据、转录本序列以及近缘物种蛋白比对结果完成蛋白编码基因与长非编码 RNA 的注释输出 GFF3 格式注释文件。运行 EviAnn不需要预先对基因组重复序列进行软屏蔽软件运行稳定、速度快。在一台 24 核 Intel Xeon Gold 服务器上完成小鼠M. musculus基因组注释耗时不到 1 小时输入为比对完成的 RNA‑seq BAM 文件以及包含人在内的多个近缘物种合计约 346 Mb 蛋白序列。https://github.com/alekseyzimin/EviAnn_release #官网EviAnn 的优势输出完全符合 NCBI 注释规范注释结果可直接通过table2asn工具提交至 NCBI GenBank见下文。安装与运行简单依赖库易于部署。运行速度极快RNA‑seq 比对完成后哺乳动物基因组注释耗时小于 1 小时。绝大多数蛋白编码转录本可输出 5 与 3UTR。支持长非编码 RNAlncRNA注释。自动标记加工假基因并且不输出假基因的 CDS 序列。可通过参数‑f调用 UniProt‑SwissProt 数据库实现可选的自动功能注释。同时支持长读长、短读长转录组数据也支持混合数据集。支持最大32 Gbp的基因组。若存在一个或多个注释完成的近缘物种DNA 水平平均相似度 95% 时无需 RNA‑seq 数据仅依靠近缘物种转录本与蛋白即可完成注释。支持细胞器线粒体、叶绿体注释。支持染色体长度 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 源码安装需要手动部署至 PATHminimap2: https://github.com/lh3/minimap2HISAT2: https://github.com/DaehwanKimLab/hisat2软件内置打包的依赖无需手动安装StringTie 3.0.0静态编译版gffread 0.12.7静态编译版gffread 0.12.6静态编译版makeblastdb、blastp 2.8.1NCBI 工具若提示版本不兼容可从 NCBI FTP 下载旧版本TransDecoder 5.7.1修改版移除 URI::Escape 依赖samtools 1.15.1静态编译版ufasta 1.0安装时编译miniprot v0.15‑r270安装时编译开发者模式仅开发人员使用克隆开发分支需要额外依赖swig、yaggo需要配置到系统 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.hglibc 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 说明数据类型fastqIllumina RNA‑seq fastq输入 1 个或一对 fastqfastaIllumina RNA‑seq fasta输入 1 个或一对 fastabam比对完成的 Illumina RNA‑seq bambam_isoseq比对完成的 PacBio Iso‑seq bamisoseqPacBio 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 FILEUniProt‑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 FLOATlncRNA 注释最低 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.gffGFF3 注释文件genome.fasta.proteins.fasta蛋白氨基酸序列genome.fasta.transcripts.fasta转录本序列输出结果解读输出 GFF3、蛋白 fasta、转录本 fasta。按照 GFF3 规范终止密码子包含在 CDS 区间内。蛋白编码 mRNA 属性字段IDEviAnn 分配的转录本 IDParent父级 gene IDEvidenceProteinIDCDS 注释依据的蛋白 ID附带蛋白功能描述以XLOC开头代表仅依靠转录本比对得到参考EvidenceTranscriptIDEvidenceTranscriptID注释依据的转录本 ID组装转录本存放于PREFIX.gtf证据类型为protein_only时该字段为源蛋白 IDcomplete/transcript_only格式转录本ID:支持该转录本的RNA‑seq实验数:最大TPMStartCodonCDS 起始密码子StopCodonCDS 终止密码子Class蛋白比对匹配等级可信度最高为、kEvidence注释证据类型complete转录本证据 蛋白证据同时使用protein_only仅蛋白证据transcript_only仅转录本证据CDS 由 TransDecoder 预测再经 Uniprot 比对校验pseudotrue可选标记加工假基因该转录本不会输出 CDSlncRNA ncRNA 属性字段ID转录本 IDParent父级 gene IDEvidenceTranscriptID注释依据转录本 ID组装转录本存放于PREFIX.gtf示例 GFF 片段蛋白编码基因、假基因、lncRNANC_004353.4 EviAnn gene 29462 43759 . - . IDXLOC_000048;geneIDXLOC_000048;typeprotein_coding;NoteSimilar to PLXNA2: Plexin‑A2 (Homo sapiens); NC_004353.4 EviAnn mRNA 32745 43754 . - . IDXLOC_000048‑mRNA‑1;ParentXLOC_000048;EvidenceProteinIDXP_001352289.2;EvidenceTranscriptIDMSTRG_00000148:4:7.702416;StartCodonatg;StopCodonTGA;Class;Evidencecomplete;NoteSimilar to PLXNA2: Plexin‑A2 (Homo sapiens); NC_004353.4 EviAnn exon 32745 33125 . - . ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn exon 33191 33373 . - . ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn exon 35874 36457 . - . ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn exon 36516 41285 . - . ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn exon 42914 43754 . - . ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn CDS 33018 33125 . - 0 ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn CDS 33191 33373 . - 0 ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn CDS 35874 36457 . - 2 ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn CDS 36516 41285 . - 2 ParentXLOC_000048‑mRNA‑1 NC_004353.4 EviAnn CDS 42914 43424 . - 0 ParentXLOC_000048‑mRNA‑1 NC_004354.4 EviAnn gene 23461776 23464767 . - . IDXLOC_001890;geneIDXLOC_001890;typeprotein_coding;pseudotrue;Notefunction unknown; NC_004354.4 EviAnn mRNA 23461776 23464767 . - . IDXLOC_001890‑mRNA‑1;ParentXLOC_001890;EvidenceProteinIDXP_046868993.1;EvidenceTranscriptIDMSTRG_00006719:2:3.697180;StartCodonatg;StopCodonTAA;Classk;Evidencecomplete;pseudotrue;Notefunction unknown; NC_004354.4 EviAnn exon 23461776 23464767 . - . ParentXLOC_001890‑mRNA‑1 NC_004353.4 EviAnn gene 181423 182801 . - . IDXLOC_000055U_lncRNA;geneIDXLOC_000055U_lncRNA;typelncRNA;junction_score0;Notefunction unknown; NC_004353.4 EviAnn ncRNA 181423 182801 . - . IDXLOC_000055U_lncRNA‑mRNA‑1;ParentXLOC_000055U_lncRNA;EvidenceTranscriptIDMSTRG_00000163:5:11.129138 NC_004353.4 EviAnn exon 181423 181516 . - . ParentXLOC_000055U_lncRNA‑mRNA‑1 NC_004353.4 EviAnn exon 181569 182801 . - . ParentXLOC_000055U_lncRNA‑mRNA‑1使用 table2asn 提交 EviAnn 注释到 NCBI GenBank网页生成sbt模板文件https://submit.ncbi.nlm.nih.gov/genbank/template/submission/下载 NCBItable2asn工具https://www.ncbi.nlm.nih.gov/genbank/table2asn/在 EviAnn 输出目录执行table2asn -M n -J -c w -euk -t template.sbt -gaps‑min 10 -l paired‑ends -j [organismlatin name][isolateisolate] -i assembly.fasta -f assembly.fasta.pseudo_label.gff -o output.sqn -Z -V b -locus‑tag‑prefix XXXX假设基因组文件assembly.fastaEviAnn 注释assembly.fasta.pseudo_label.gffXXXX为 GenBank 分配的 4 位 locus tag 前缀。输出output.sqn、output.gbf用于 GenBank 提交。案例 1RNA‑seq 近缘物种蛋白做注释基因组genome.fastaRNA‑seq 双端数据rna1_R1.fastq rna1_R2.fastq、rna2_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 bamv1.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 Methods23, 1521–1527 (2026). https://doi.org/10.1038/s41592-026-03156-0