抗体-04.工具-06.IMGT-ANARCI-RIOT-抗体序列注释工具对比选型

新人第一次选抗体序列注释工具,常见困惑是:三个名字都听过,功能好像重叠,到底用哪个? 本文横向对比 IMGT/V-QUESTANARCIRIOTriot-na)——三者都做可变区注释与编号,但设计重心不同:IMGT 是行业标准的免疫遗传学体系;ANARCI 是蛋白序列本地编号利器;RIOT 是核酸+蛋白双通道的高通量批处理引擎

段末注释:本文对比的是序列层面的 V(D)J 注释、FR/CDR 编号与胚系归属,不涉及三维结构坐标预测。

系列工具-03 IMGT · 工具-04 ANARCI · 工具-05 RIOT · 工具索引


1. 三十秒选型:先回答两个问题

图 1 新人选型决策流程:从输入序列类型到工具选择(科普示意)

问题 A:你手里主要是核酸还是氨基酸?

输入 优先考虑
核酸(测序、cDNA、组库) IMGT/V-QUESTRIOT(NT 模式)
氨基酸(表达序列、预测蛋白、PDB 链) ANARCIRIOT(AA 模式)

问题 B:你要多「深」的免疫遗传学信息?

需求深度 优先考虑
完整 V/D/J、Junction、突变统计、监管/发表口径 IMGT/V-QUEST
只要链型 + 多方案编号,嵌入 Python/ML pipeline ANARCI
百万级批处理 + AIRR 标准输出 + NT/AA 统一流程 RIOT

若仍不确定,继续读 §3 总表与 §6 场景对照。


2. 注释原理:共同逻辑与三家差异

三款工具表面都在报 v_call、CDR 边界,但底层路径不同。先弄清「注释在算什么」,再读对比表更有意义。

2.1 共同逻辑:不是「先找保守 FR,剩下算 CDR」

可变区注释不是在单条序列上扫描保守区、再把剩余划为 CDR。更标准的模型是:

1
2
3
4
5
6
7
8
9
目标序列

与胚系参考(V,重链还有 D、J)做全局比对

在比对列上建立「编号位点 ↔ 目标残基」的对应关系

套用编号方案(IMGT / Kabat / Chothia …)里预先规定的 FR/CDR 位点区间

反推到目标序列 → 得到 FR1、CDR1、FR2 … 及 V(D)J 调用

要点:

  • FR/CDR 边界来自编号方案规则(如 IMGT 的 CDR1 常见为位点 27–38),不是每条胚系等位基因各贴一套独立标签。
  • 胚系比对提供坐标系;方案提供切刀位置。
  • CDR3 横跨 V–(D)–J junction,需 V/D/J 共同参与界定,不只靠 V 基因模板。

段末注释:Kabat 历史上用群体序列变异性定义 CDR,Chothia 偏结构环区;但 IMGT/V-QUEST、ANARCI、RIOT 对单条序列的执行方式都是「比对 + 方案位点投影」,而非现场算保守性。

2.2 三家实现路径对比

环节 IMGT / V-QUEST ANARCI RIOT
参考库 IMGT reference directory(行业目录) 内置胚系 HMM 库(人/鼠等) OGRDB 开放胚系库(可 CUSTOM)
比对引擎 V-QUEST 专用核酸比对 + IMGT 规则 HMMER3 对 HMM 全局比对 Rust 预过滤 + Python 胚系比对
输入主场景 核酸(cDNA、组库 reads) 氨基酸 核酸 + 氨基酸 双通道
V(D)J 调用 ✅ V、D、J 精细指派 ❌ 不做完整 V/D/J(仅链型/物种) ✅ V、D、J + c_call
FR/CDR 切分 IMGT 方案位点(输出 FR/CDR-IMGT) 多方案切换(--scheme 四方案(IMGT/Kabat/Chothia/Martin)
遗传学延伸 突变表、Junction 分解、Collier de Perles E-value、链型、位点列表 productive、AIRR 扩展字段
设计目标 免疫遗传学标准与可发表报告 蛋白序列编号适配器(pipeline) 组库级批处理 + 标准化输出
1
2
3
IMGT:  核酸 ──► 对 IMGT 胚系目录精细 V(D)J 比对 ──► IMGT 编号 + 突变/Junction 报告
ANARCI:蛋白 ──► HMMER 对胚系 HMM 比对 ──► 链型/物种 + 多方案位点映射
RIOT: NT/AA ──► Rust 预过滤缩小候选 ──► 胚系比对 + 方案切分 ──► AIRR 表

2.3 原理层面的优劣势

工具 原理优势 原理局限
IMGT / V-QUEST 行业 IMGT 目录同源,V/D/J/Junction/相对胚系突变一体化;核酸链上可读框、移码、翻译与注释一致;报告口径最适合 Methods/CMC 以 Web/HighV-QUEST 为主,难嵌入本地超大规模 pipeline;主要输出 IMGT 方案;对蛋白输入非主线
ANARCI HMM 对 gap/插入鲁棒,适合 CDR3 长度多变;一套比对、多套编号方案(含 AHo);API 轻量,直接得 (位点, aa);MIT 许可 不做完整 V/D/J 与 Junction 遗传学叙事;物种标签可能错但编号仍可用;无核酸 productive/移码层
RIOT 双输入统一逻辑;Rust 预过滤适合百万级;输出 AIRR 便于组库生态;OGRDB 开放可自定义 遗传学报告深度不及 V-QUEST 突变表;商业许可需单独确认;Ig 为主,TCR 等需实测

按「你要注释的到底是什么」选:

注释目标 更匹配的原理路径
「这条 cDNA 的 V/D/J 是谁、相对胚系突变了多少」 IMGT 核酸精细比对
「这条蛋白按 Kabat 每位点怎么标、链型是什么」 ANARCI HMM + 多方案投影
「这批序列能否标准化进组库 pipeline」 RIOT 预过滤批处理 + AIRR

2.4 特殊序列:原理仍成立,解读要小心

人源化 / CDR 移植(CDR 来自鼠、FR 来自人)时,三家的切分逻辑不变(仍是比对 + 方案位点),但遗传学解读易偏:

现象 原因 对三家的影响
v_call 常显示人源 V FR 占比较长且已人源化,全局比对偏向人胚系 IMGT/RIOT 的 V 调用与构建记录可能「语法一致、故事不同」
CDR 区「突变」偏多 相对被指派人胚系,鼠 CDR 被视为大量差异 IMGT 突变表不能直接当体细胞突变或免疫原性唯一依据
D/J 与 V 物种叙事不一致 CDR3/junction 可能保留原始鼠重排 IMGT/RIOT 可能出现人 V + 鼠倾向 D/J;需与实验记录对照
FR/CDR 边界通常仍可用 边界由方案位点决定,不随物种嵌合改变 ANARCI 编号往往最稳;遗传学报告需人工注明供体来源

原则:编号/切分信工具;胚系归属与突变含义信实验设计与构建文档。


3. 一张总表看全貌

图 2 三款工具在「自动化程度 × 遗传学注释深度」上的定位(科普示意)

维度 IMGT / V-QUEST ANARCI RIOT(riot-na)
本质 标准 + 数据库 + 在线工具生态 本地 CLI/Python 编号工具 本地 CLI/Python 批注释引擎
维护方 IMGT® 联盟 牛津 OPIG/SAbPred Natural Antibody
输入:核酸 ✅ 主场景 ✅ NT 通道
输入:氨基酸 ⚠️ 非 V-QUEST 主线 ✅ 主场景 ✅ AA 通道
V 基因指派 ✅ 精细 ⚠️ 间接(HMM 链型)
D / J 基因指派 ✅ 完整
Junction / CDR3 分解 ✅ 详细
相对胚系突变统计 ✅ 突变表 ⚠️ 有限
productive / 移码检测 ✅(核酸) ✅(NT 为主)
编号方案 IMGT 为主 IMGT、Kabat、Chothia、Martin、AHo、Wolfguy IMGT、Kabat、Chothia、Martin
TCR 支持 ✅(IMGT/TR) ✅(IMGT/AHo 等) ⚠️ 以 Ig 为主,需实测
多结构域(融合蛋白) ⚠️ scFv 模式 ⚠️ 需手动拆分 --multiple-domains
部署方式 Web;批处理用 HighV-QUEST 本地 pip/GitHub 本地 pip wheel / Docker
批处理规模 单条方便;大规模需 HighV-QUEST 本地 FASTA + Python 循环 Rust 预过滤 + 多进程,适合组库级
输出格式 网页 + IMGT-gapped FASTA 等 CSV / (位点, aa) 列表 AIRR 扩展 CSV/JSON
Python API ❌(需解析导出) anarci.number() create_riot_nt/aa()
胚系库 IMGT reference directory 内置 HMM(人/鼠等) OGRDB + 可自定义
行业认可度 ⭐ 最高(发表/监管) ⭐ 计算抗体社区常用 ⭐ 组库/AIRR 生态上升
许可 免费 Web;HighV-QUEST 有配额 MIT 非商业免费;商业需查 LICENSE

读表口诀

  • 写报告、对 IMGT 官方口径 → IMGT
  • 蛋白序列、要 Kabat/Chothia、塞 pipeline → ANARCI
  • 测序组库、要 AIRR、NT+AA 一套搞定 → RIOT

4. 分维度细比

4.1 输入与前置条件

情况 推荐 原因
杂交瘤测序得到的 cDNA IMGT 或 RIOT-NT 需要 V(D)J 与 reading frame 信息
只有 VH/VL 氨基酸 FASTA ANARCI 或 RIOT-AA 无需翻译;ANARCI 编号方案更多
BCR 组库 百万 FASTA RIOT 并行 + AIRR 输出;IMGT HighV-QUEST 有配额
scFv 一条肽 含 VH+VL RIOT(多域)或手动拆两条后 ANARCI ANARCI 不自动拆双域
纳米抗体 VHH 单链 ANARCI 编号成熟;注意物种标签可能不准

4.2 编号方案

三者都支持 IMGT,但「一套序列多种方案」的能力不同:

方案 IMGT ANARCI RIOT
IMGT ✅ 默认 ✅ 默认
Kabat 对照表
Chothia 对照表
Martin
AHo / Wolfguy

若项目必须在 IMGT 与 Kabat/Chothia 间切换,ANARCI 与 RIOT 更省事;若只认 IMGT 且要官方 gapped 输出,IMGT/V-QUEST 最直接。

4.3 输出与下游对接

下游任务 更顺手的工具 说明
论文 Methods「按 IMGT 注释」 IMGT 审稿人熟悉;可附 V-QUEST 截图/导出
PyTorch 按 CDR 位点抽特征 ANARCI number() 直接得位点列表
Immcantation / AIRR 组库分析 RIOT 字段与 Rearrangement Schema 对齐
人源化报告(FR 回复突变统计) IMGT V-QUEST 突变表最完整
Snakemake / Spark 流水线 RIOT 或 ANARCI 均本地;RIOT 自带 Spark 示例

4.4 性能与运维

维度 IMGT ANARCI RIOT
单条试序列 ⭐ Web 即开即用 CLI 一条命令 CLI 一条命令
10³ 条 Web 重复提交或 HighV-QUEST 本地 FASTA 本地 FASTA,-p 并行
10⁶ 条组库 HighV-QUEST(注册/配额) 可行但无预过滤加速 ⭐ Rust 预过滤 + 多进程
环境依赖 浏览器 Python + HMMER3 Python ≥3.10;wheel 通常免编译
版本复现 注明 IMGT reference release 固定 GitHub commit + hmmscan 版本 固定 riot-na 版本 + 胚系库日期

4.5 许可与合规

  • IMGT:学术 Web 免费;HighV-QUEST 大规模需注册;商业用途查 IMGT 条款。
  • ANARCIMIT,商业 pipeline 友好。
  • RIOT:非商业机构非商业使用免费;商业用途需单独查阅 LICENSE

企业选型时,许可有时比功能差异更先决定答案。


5. 三者各自最擅长什么

用一句话概括(不重复单篇全文,只帮记忆):

工具 最擅长回答
IMGT 「这条核酸在免疫遗传学标准下是谁、突变了多少、Junction 长什么样?」
ANARCI 「这条蛋白是 VH 还是 VL、按 Kabat/Chothia/IMGT 每位点怎么标?」
RIOT 「这批核酸或蛋白能否批量注释成 AIRR 表、是否 productive、V/D/J 是谁?」

6. 按场景选型(对照表)

场景 首选 备选 备注
克隆测序验证(单条 cDNA) IMGT/V-QUEST RIOT-NT 要突变表选 IMGT
人源化 / 免疫原性分析 IMGT FR 突变统计 IMGT 最全
抗体 ML 训练(CDR 掩码) ANARCI RIOT-AA ANARCI API 最轻量
读老文献 Kabat 编号 ANARCI RIOT --scheme kabat
BCR 测序后处理(>10⁵ 条) RIOT IMGT HighV-QUEST RIOT 本地无配额
组库入库 AIRR 格式 RIOT 字段原生对齐
双特异性 / CAR 融合蛋白 RIOT 手动拆分 + ANARCI --multiple-domains
TCR 序列(α/β 链) IMGT 或 ANARCI RIOT 需项目内验证
快速 Web 试一条 AA ANARCI Web(人/鼠) 生产仍建议本地固定版本
监管申报材料 / CMC 文档 IMGT 行业默认语言
商业 closed-source pipeline ANARCI RIOT(查 LICENSE) MIT 最省心

7. 可以组合用吗?

可以,且实践中常见——不是互斥,而是分工

1
2
3
4
5
6
7
8
9
10
11
12
13
典型组合 A(发现 → 计算)
测序 cDNA ──IMGT/V-QUEST──► 确认胚系与突变(报告)

└──翻译 AA──ANARCI──► 统一编号供 ML / 设计脚本

典型组合 B(组库 → 深度核查)
百万 FASTA ──RIOT──► AIRR 表 + productive 过滤

└──挑克隆──IMGT/V-QUEST──► 突变表 + Junction 细节(发表)

典型组合 C(全本地)
NT/AA 统一 ──RIOT──► 批注释
需 AHo 编号 ──ANARCI──► 子集再编号

原则:批处理用 RIOT,蛋白编号方案切换用 ANARCI,报告级遗传学细节用 IMGT。同一克隆若三处结果不一致,优先核对输入序列(是否含信号肽/Fc)、编号 scheme 是否一致、胚系库版本是否相同。


8. 新人常见误区

  1. 把「编号」当成「胚系注释」
    ANARCI 给的是位点映射 + 链型;不等于 V-QUEST 级 D 基因与突变统计。

  2. 核酸丢给 ANARCI、蛋白丢给 V-QUEST
    输入类型与工具主场景错配,结果要么跑不通要么信息不全。

  3. 不同 scheme 混比 CDR 长度
    IMGT 与 Kabat 的 CDR1 边界可能差 1–3 个残基;对比前必须统一 scheme(见 抗体-01.结构-02)。

  4. 忽略版本与胚系库
    IMGT reference release、ANARCI commit、RIOT + OGRDB 日期都会影响 v_call; Methods 里应写明。

  5. RIOT 多进程直接传对象
    须用 get_or_create_riot_*;ANARCI 无此限制,但需装 HMMER。

  6. 以为注释工具能预测功能
    三者都不输出亲和力、表达量或三维结构;注释是下游分析的前置步骤。

  7. 以为注释是在序列上找保守区再切 CDR
    实际是胚系比对 + 编号方案位点投影;见 §2.1。

  8. 人源化分子直接信突变表
    CDR 鼠 + FR 人时,IMGT/RIOT 突变统计需结合构建记录解读;见 §2.4。


9. 选型速查卡

1
2
3
4
5
6
7
8
9
10
11
┌─────────────────────────────────────────────────────────────┐
│ 我要… → 选 │
├─────────────────────────────────────────────────────────────┤
│ 单条 cDNA,写进论文/报告 → IMGT/V-QUEST │
│ 蛋白 FASTA,多种编号方案 → ANARCI │
│ 组库百万条 + AIRR → RIOT │
│ 嵌入 Python,只要 (位点, aa) → ANARCI │
│ 融合蛋白多 VH/VL → RIOT --multiple-domains │
│ 商业软件,MIT 最省事 → ANARCI │
│ 行业默认 IMGT 口径 → IMGT │
└─────────────────────────────────────────────────────────────┘

10. 小结

若你只能记三句
IMGT = 标准 + 核酸胚系注释最全,Web 友好,发表首选
ANARCI = 蛋白本地编号 + 方案最全,ML pipeline 首选
RIOT = NT/AA 双通道 + 组库批处理 + AIRR,高通量首选

没有「永远最好」的工具,只有与输入类型、注释深度、输出格式与合规要求最匹配的选择。建议先读 §2 注释原理与三篇单工具科普,再用 §6 场景表拍板。


延伸阅读

篇目 链接
IMGT 详解 抗体-04.工具-03
ANARCI 详解 抗体-04.工具-04
RIOT 详解 抗体-04.工具-05
CDR 与编号方案背景 抗体-01.结构-02 可变区结构

参考文献

  1. Lefranc M.-P. IMGT unique numbering. Immunology Today (1997); IMGT/V-QUEST: Brochet X. et al. Nucleic Acids Res. (2008)
  2. Dunbar J., Deane C.M. ANARCI. Bioinformatics (2016)
  3. Dudzic P. et al. RIOT. Briefings in Bioinformatics (2024). doi:10.1093/bib/bbae632
-------------本文结束感谢您的阅读-------------