ANARCI抗体编号实战教程:从单序列到批量处理的完整上手指南

📅 2026/8/17 19:40:06
ANARCI抗体编号实战教程:从单序列到批量处理的完整上手指南
ANARCI抗体编号实战教程从单序列到批量处理的完整上手指南【免费下载链接】ANARCIAntibody Numbering and Antigen Receptor ClassIfication项目地址: https://gitcode.com/gh_mirrors/an/ANARCI拿到一条抗体序列时你是否也头疼过三件事它到底是哪个物种的哪条链编号应该从哪个位置开始IMGT、Kabat 这些方案到底差在哪手工对照规则去数残基费时又容易出错。ANARCI 正是为破解这些难题而生的抗体编号工具——它用隐马尔可夫模型自动完成物种识别、链型分类和编号从单条序列到上万条批量数据都能一条命令跑完。这篇文章会带你用「完成一个真实任务」的方式从零上手 ANARCI。先搞懂它凭什么能自动编号在动手之前用 30 秒理解原理能让你之后的每一步都更踏实。抗体可变区在不同抗体间长度和插缺都不同但骨架高度相似。ANARCI 的思路很朴素把每个物种、每种链型的典型可变区做成一套标准模板隐马尔可夫模型再用你的序列去比对最像哪套模板。你可以把 HMM 想象成一份可伸缩的骨架图纸不同长度的插入序列都能在图纸上找到对应位置。比对成功就说明它是抗体图纸上的坐标就是编号。全部过程自动完成这就是它能同时回答是什么链 怎么编号两个问题的原因。三分钟装好 ANARCI把编号专家请进你的电脑安装依赖两个东西Biopython负责解析比对结果和 HMMER 3.1b1负责实际执行比对。用 conda 可以一次配齐conda install -c conda-forge biopython -y conda install -c bioconda hmmer3.3.2 -y git clone https://gitcode.com/gh_mirrors/an/ANARCI cd ANARCI python setup.py install安装完成后用下面命令验证——能打印出完整帮助信息就算装好了ANARCI --help小提示如果你的 conda 里没有 bioconda 源也可以直接pip install biopython再单独安装 HMMER效果相同。第一步动手一条命令跑通你的首次编号打开终端直接粘贴下面这条序列这是项目自带示例中的小鼠抗体 12E8 重链ANARCI 会把编号结果打印到屏幕上ANARCI -i EVQLQQSGAEVVRSGASVKLSCTASGFNIKDYYIHWVKQRPEKGLEWIGWIDPEIGDTEYVPKFQGKATMTADTSSNTAYLQLSSLTSEDTAVYYCNAGHDYDRGRFPYWGQGTLVTVSA预期输出顶部出现#|mouse|H|e-value|score|...的命中信息species 为 mousechain_type 为 H随后是从H 1 Q到H 120 S的完整编号表每条记录以//结尾。这一步你不仅完成了编号还免费获得了两个附加答案这是一条小鼠mouse重链H比对可信度高。整个过程只花了几秒。读懂输出表编号表里每一行都藏着什么编号表看起来很密其实结构非常固定拆开看就不慌了输出内容含义#\|species\|chain_type\|e-value\|score\|...最显著 HMM 命中的物种、链型与质量分数H 1 Q链型 H、IMGT 位置 1、氨基酸 QH 35 1 A位置 35 带插入码 1说明 CDR 区有额外残基//一条序列的结果到此结束划重点e-value和score越小/越大说明你的序列越像该模板。如果看到H 111 A这种带字母的插入位置不用担心——IMGT 方案用插入码解决 CDR3 的额外残基这是正常现象。批量处理实战上百条序列一次完成编号逐条跑命令不现实。项目自带的Example_scripts_and_sequences/antibody_sequences.fasta就是练习批量处理的绝佳数据。把结果写入文件同时导出比对统计ANARCI -i Example_scripts_and_sequences/antibody_sequences.fasta -o numbered.anarci -ht hits.txt预期输出屏幕上不会有逐条编号但你会发现它跑完了整个文件打开numbered.anarci每条序列一个区块相互之间用//分隔。那些不是抗体的序列比如酶、其他蛋白只会列出名字而不给编号——这正好帮你快速筛选出真正的抗体。注意项目里还有压缩格式的输入Example_scripts_and_sequences/pdb_sequences.fa.txt.gzANARCI 支持直接读取.gz文件不用手动解压批量流程里很省事。看懂六大编号方案IMGT、Kabat、Chothia 怎么选这是新手最容易困惑的地方。ANARCI 支持 6 种方案但别被吓到记住三条原则即可IMGT全物种、全受体类型通用结构等价发文章最常用默认就是它Kabat / Chothia只针对抗体Ig插缺位置标记更细做经典分析、比对文献老数据时用Martin增强版 Chothia、Wolfguy、AHo前两者偏结构分析AHo 用大量固定位置避免插入码适合批量对齐比较。命令行只需一个参数切换ANARCI -i myseq.fasta -s kabat -o myseq_kabat.anarci ANARCI -i myseq.fasta -s chothia -o myseq_chothia.anarci小提示-s支持缩写i、k、c、m、w、a分别对应六种方案。同一序列用不同方案编号位置号可能不同这是正常的不代表谁错了。进阶玩法用 Python API 把编号嵌入你的分析流程命令行适合一次性的活儿当你需要把编号结果喂给下游分析比如做 CDR 区域切割、构建设计特征就该用 Python API 了。项目提供了可直接参考的Example_scripts_and_sequences/anarci_API_example.py核心用法只有几行from anarci import number seq EVQLQQSGAEVVRSGASVKLSCTASGFNIKDYYIHWVKQRPEKGLEWIGWIDPEIGDTEYVPKFQGKATMTADTSSNTAYLQLSSLTSEDTAVYYCNAGHDYDRGRFPYWGQGTLVTVSA numbering, chain_type number(seq, schemekabat) print(chain_type) # 输出 H print(numbering[:5]) # 输出前 5 个编号位置预期输出第一行打印H第二行是形如[((H, 1), Q), ...]的编号列表——每个元素是 (位置, 氨基酸) 对。如果你想同时处理多条序列并拿到比对详情就用anarci(sequences, schemeimgt)它会返回编号、比对细节、命中表三组结果这正是许多自动化管道采用的标准入口。更快更强的三个技巧多核、germline 与 CSV 输出处理几千条序列时下面三个参数能让体验完全不同--ncpu 4并行加速。官方基准脚本Example_scripts_and_sequences/run_numbering_benchmark.sh演示了用 4 进程处理约 1 万条序列每条方案跑下来不超过几分钟--assign_germline按 V/J 种系基因序列一致性做物种归属比只看 HMM 命中更准适合物种注释类工作--csv把编号结果输出为对齐好的横向表格按链型分文件可直接导入 Excel 或 pandas 继续分析ANARCI -i pdb_sequences.fa.txt.gz -s i --csv -o /tmp/pdb_imgt --ncpu 4 --assign_germline预期输出在/tmp下生成pdb_imgt_H.csv、pdb_imgt_KL.csv等文件每列一个编号位置每行一条序列缺失位置用-补齐——这就是可直接用于多序列比对的下游数据。常见报错排障三个高频卡点与解决方案报错一Error: hmmscan was not found in the path可能原因HMMER 未安装或不在 PATH 里。解决方案用 conda 安装 hmmer 后重开终端如果 hmmer 装在自定义目录用-hp指定目录ANARCI -i seq.fasta -hp /path/to/hmmer/bin。报错二序列跑完却没有任何编号输出可能原因序列不是抗体可变区、长度太短或包含非标准氨基酸字符。解决方案确认序列长度 ≥ 70检查是否只含 20 种标准氨基酸若序列被工程改造过用--bit_score_threshold 60降低阈值试试但注意太低的阈值会引入假阳性。报错三物种识别结果和预期不符可能原因短序列比对信息不足或序列本身来自工程化抗体。解决方案加--assign_germline提高判别精度如果你已知物种用--use_species mouse限定候选可显著减少误判。遇到其他问题优先回看ANARCI --help的参数说明大多数坑都能在参数层面解决。总结与下一步行动清单至此你已经完成了从一条命令编号单序列到万条序列并行处理的完整闭环会用命令行、会读输出、会切换六大编号方案、能调用 Python API、还掌握了排障手段。ANARCI 真正解放你的是把认链型、定编号这种标准化劳动交给机器让你把精力留给真正的生物学问题。接下来可以立即动手的 4 件事 用Example_scripts_and_sequences/12e8.fasta重跑一遍对照本文逐行验证输出建立输出长什么样的直觉 用-s分别跑 IMGT 与 Kabat观察同一序列在 CDR 区的编号差异理解两种方案的本质区别 把你的抗体库整理成 FASTA用--csv导出对齐表再导入 pandas 统计 CDR 长度分布 参考anarci_API_example.py改造自己的脚本把编号结果接入抗体人源化或 CDR 分析流水线。【免费下载链接】ANARCIAntibody Numbering and Antigen Receptor ClassIfication项目地址: https://gitcode.com/gh_mirrors/an/ANARCI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考