AGAT v1.6.0 安装与使用--生信工具72

AGAT:基因组注释处理的全能工具箱,轻松搞定 GTF/GFF 格式难题

在基因组学研究中,GTF(Gene Transfer Format)和 GFF(General Feature Format)是描述基因注释信息的核心格式,广泛应用于基因结构预测、功能注释、比较基因组学等多个研究场景。然而,这两种格式自 1997 年问世以来不断演化,虽然灵活性极高,能容纳丰富的基因组特征信息,但也导致了 "格式变体繁多" 的问题 ------ 不同工具输出的 GTF/GFF 文件在结构、属性定义、特征命名上往往存在差异,给下游分析的兼容性带来了巨大挑战。

面对这一痛点,来自瑞典国家生物信息学基础设施(NBIS Sweden)的科研团队开发了 AGAT(Another Gtf/Gff Analysis Toolkit)------ 一款功能全面、兼容性极强的基因组注释处理工具箱。它不仅能解决 GTF/GFF 文件的标准化问题,更整合了格式转换、注释修正、特征提取、统计分析等一系列实用功能,成为基因组学研究者的 "必备利器"。

复制代码
https://github.com/NBISweden/AGAT

https://agat.readthedocs.io/en/latest/

01 功能及应用

AGAT 的核心优势在于 "全能性" 和 "鲁棒性",即使是格式混乱、存在错误的 GTF/GFF 文件,它也能高效处理。其核心功能可分为三大类:

1. 标准化与清洗:让注释文件 "合规"

AGAT 能将任意类型的 GTF/GFF 文件标准化为完整、排序规范的 GFF3 格式,同时自动修复文件中的常见问题:

  • 补充缺失的父级特征(如仅存在 CDS / 外显子时,自动添加基因和 mRNA 特征);
  • 补全必填属性(ID 和 Parent),确保特征间的层级关系清晰;
  • 修复重复标识符、修正特征位置错误、移除重复特征;
  • 对分散在文件中的相关特征进行分组,按顺序排序(支持 tabix 索引优化);
  • 可选合并重叠的基因位点。

核心工具:agat_convert_sp_gxf2gxf.pl(所有带_sp_前缀的脚本均支持该类功能)。

2. 多格式转换:打破数据互通壁垒

AGAT 支持多种基因组数据格式的双向转换,覆盖科研中常见的需求场景:

转换需求 对应工具
GTF/GFF → BED agat_convert_sp_gff2bed.pl
GTF/GFF → GTF agat_convert_sp_gff2gtf.pl
GTF/GFF → 表格格式(TSV) agat_sp_gff2tsv.pl
minimap2 输出的 BAM → GFF agat_convert_sp_minimap2_bam2gff.pl
GTF/GFF → ZFF agat_sp_gff2zff.pl
BED → GFF3 agat_convert_bed2gff.pl
EMBL → GFF3 agat_convert_embl2gff.pl

3. 多样化注释处理:满足个性化分析需求

除了基础的标准化和转换,AGAT 还提供了数十种实用工具,覆盖注释分析的全流程:

  • 特征提取:提取任意类型的序列(如 CDS、外显子、UTR 序列)、提取特定属性信息;
  • 注释筛选:按 ORF 长度筛选基因模型、保留最长转录本、按基因长度 / 内含子数量筛选;
  • 注释修正:修复 CDS 相位、添加内含子特征、管理 UTR 区域、修正融合基因;
  • 统计分析:生成特征统计报告(如基因 / 转录本数量)、功能注释统计、BUSCO 结果对比、两个注释文件的差异分析;
  • 其他功能:添加启动子 / 终止子特征、互补链注释、合并多个注释文件等。

完整工具列表可通过agat --tools命令查看,或参考官方文档

02 快速安装 AGAT

AGAT 支持多种安装方式,适配不同操作系统和用户习惯,推荐优先使用 Bioconda 或 Docker(简单高效):

1. 推荐方式:Bioconda 安装(最便捷)

复制代码
# 安装
conda install -c bioconda agat

# 更新
conda update agat

# 卸载
conda uninstall agat

2. Docker/Singularity 安装(适合环境隔离需求)

Docker:
复制代码
# 拉取镜像(以1.4.2版本为例)
docker pull quay.io/biocontainers/agat:1.4.2--pl5321hdfd78af_0

# 测试工具使用
docker run quay.io/biocontainers/agat:1.4.2--pl5321hdfd78af_0 agat_convert_sp_gxf2gxf.pl --help
Singularity:
复制代码
# 拉取镜像
singularity pull docker://quay.io/biocontainers/agat:1.4.2--pl5321hdfd78af_0

# 启动容器并使用工具
singularity run agat_1.4.2--pl5321hdfd78af_0.sif
agat_convert_sp_gxf2gxf.pl --help

3. 手动安装(适合高级用户)

需先安装依赖(Perl ≥5.8、Perl 模块如 Bioperl、Clone 等,可选 R 用于绘图),再执行以下命令:

复制代码
# 克隆仓库
git clone https://github.com/NBISweden/AGAT.git
cd AGAT

# 检查依赖、编译、测试、安装
perl Makefile.PL
make
make test
make install

# 卸载
perl uninstall_AGAT

依赖安装可参考官方文档的 "Install prerequisites" 部分,支持 cpanm、conda 或系统包管理器(如 apt)。

03 AGAT 核心:强大的解析器与数据结构

AGAT 的高效性源于其独特的解析器设计,尤其是带_sp_前缀的工具("SLURP 模式"),会将整个 GFF 文件加载到内存中的专用数据结构(称为 "OMNISCIENT"),便于快速访问和处理特征关系。

1. 数据结构设计

OMNISCIENT 结构按 "层级" 组织基因组特征,清晰区分不同级别(level1:基因;level2:mRNA、rRNA 等;level3:外显子、CDS、UTR 等),同时存储文件头信息、配置参数等:

复制代码
# 文件头信息
$omniscient{other}{header} = 以#开头的文件头内容

# 特征信息(按层级存储)
$omniscient{level1}{tag_l1}{level1_id} = 基因等level1特征
$omniscient{level2}{tag_l2}{idY} = mRNA等level2特征列表(idY为父级ID)
$omniscient{level3}{tag_l3}{idZ} = 外显子等level3特征列表(idZ为父级ID)

# 配置信息
$omniscient{config}{parameter1} = 配置参数值

2. 解析逻辑:智能适配任意文件

AGAT 解析器按优先级处理特征间的关系,确保兼容性:

  1. 优先:通过 Parent/ID 或 gene_id/transcript_id 关联特征;
  2. 其次:通过共同标签(默认 locus_tag,可自定义)分组特征;
  3. 最后:顺序解析(按文件行顺序分组,适用于无明确关联信息的文件)。

这种设计让 AGAT 能适配 42 种以上不同格式或存在错误的 GTF/GFF 文件,甚至能处理仅含 level3 特征(如部分 Prokka 输出)的特殊情况。

3. 解析器的核心能力

除了标准化和清洗,解析器还能:

  • 为多父级特征创建独立副本(如一个外显子对应多个 mRNA 时,自动生成多个独立外显子);
  • 自动添加 UTR(当 CDS 和外显子存在时);
  • 修复基因位置(如 mRNA 超出基因范围时,自动调整基因边界)。

04 实用示例:AGAT 如何解决实际问题?

以下 3 个典型示例,展示 AGAT 在实际研究中的应用:

示例 1:补全仅含 CDS 的注释文件

若输入文件仅定义了 CDS 特征(无基因、mRNA、外显子):

gff

复制代码
##gff-version 3
Tob1_contig1	Prodigal:2.60	CDS	476	670	.	-	0	ID=Tob1_00001;locus_tag=Tob1_00001;product=hypothetical protein

运行命令:

复制代码
agat_convert_sp_gxf2gxf.pl --gff 8_test.gff

输出结果会自动补全基因、mRNA、外显子特征,层级关系清晰:

gff

复制代码
##gff-version 3
Tob1_contig1	Prodigal:2.60	gene	476	670	.	-	0	ID=nbis_NEW-gene-1;locus_tag=Tob1_00001;product=hypothetical protein
Tob1_contig1	Prodigal:2.60	mRNA	476	670	.	-	0	ID=nbis_nol2id-cds-1;Parent=nbis_NEW-gene-1;locus_tag=Tob1_00001;product=hypothetical protein
Tob1_contig1	Prodigal:2.60	exon	476	670	.	-	.	ID=nbis_NEW-exon-1;Parent=nbis_nol2id-cds-1;locus_tag=Tob1_00001;product=hypothetical protein
Tob1_contig1	Prodigal:2.60	CDS	476	670	.	-	0	ID=Tob1_00001;Parent=nbis_nol2id-cds-1;locus_tag=Tob1_00001;product=hypothetical protein

示例 2:补全缺失的 mRNA 和 UTR 特征

若输入文件缺少 mRNA(level2)和 UTR(level3)特征:

gff

复制代码
##gff-version 3
NC_003070.9	RefSeq	gene	3631	5899	.	+	.	ID=NC_003070.9:NAC001;locus_tag=AT1G01010;
NC_003070.9	RefSeq	exon	3631	3913	.	+	.	ID=NM_099983.2;Parent=NC_003070.9:NAC001;
NC_003070.9	RefSeq	CDS	3760	3913	.	+	0	ID=NM_099983.2;Parent=NC_003070.9:NAC001;

运行 AGAT 后,会自动添加 mRNA、5'UTR 和 3'UTR 特征,修正 ID 唯一性:

gff

复制代码
NC_003070.9	RefSeq	mRNA	3631	5899	.	+	.	ID=NC_003070.9:NAC001;Parent=nbis_NEW-gene-1;locus_tag=AT1G01010
NC_003070.9	RefSeq	five_prime_UTR	3631	3759	.	+	.	ID=nbis_NEW-five_prime_utr-1;Parent=NC_003070.9:NAC001;
NC_003070.9	RefSeq	three_prime_UTR	5628	5899	.	+	.	ID=nbis_NEW-three_prime_utr-1;Parent=NC_003070.9:NAC001;

示例 3:整理分散的相关特征

若输入文件中同一基因的特征分散在不同位置(如 exon、CDS、UTR 交叉排列),AGAT 会自动分组并按层级排序,让文件结构更清晰。

05 参考文献

复制代码
Dainat J. 2022. Another Gtf/Gff Analysis Toolkit (AGAT): Resolve interoperability issues and accomplish more with your annotations. Plant and Animal Genome XXIX Conference. https://github.com/NBISweden/AGAT.

Dainat J. AGAT: Another Gff Analysis Toolkit to handle annotations in any GTF/GFF format. (Version v1.4.1). Zenodo. https://www.doi.org/10.5281/zenodo.3552717
相关推荐
奔跑中的小象5 小时前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
DevSecOps选型指南5 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
Shockang5 小时前
LangGraph 状态机实战
人工智能
DLYSB_5 小时前
存储运维实战:基于 Ceph Event 监听与 Python 适配器的分布式存储健康度物理声光响应架构
运维·ceph·python·报警灯
刹那芳华19925 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作5 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
科技之门5 小时前
AI3D从建模到贴图、绑骨和动画的完整流程怎么做?V2Fun完整工作流指南
人工智能·3d·贴图
宇宙第一小趴菜5 小时前
二、机器学习的应用领域和发展史
人工智能·机器学习
前端开发江鸟5 小时前
我写过 MCP Server,却一直以为 MCP 只有 Tool
人工智能
天国梦6 小时前
自习室智能化升级避坑指南:天学网AI智习室方案实测与选型建议
大数据·人工智能