ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何用 ANARCI 快速完成抗体序列编号:从一条序列到一张免疫学地图的实战指南

如何用 ANARCI 快速完成抗体序列编号:从一条序列到一张免疫学地图的实战指南 如何用 ANARCI 快速完成抗体序列编号从一条序列到一张免疫学地图的实战指南【免费下载链接】ANARCIAntibody Numbering and Antigen Receptor ClassIfication项目地址: https://gitcode.com/gh_mirrors/an/ANARCI深夜十一点你终于从测序公司拿到了那 120 个氨基酸的序列。接下来该怎么办它是重链还是轻链是人的还是小鼠的CDR 区域到底在哪一段如果不做编号你甚至没法在论文里写清楚我改了这个位置——因为每条抗体的长度都不一样没有人知道你说的第 50 位是哪一位。这正是 ANARCIAntibody Numbering and Antigen Receptor ClassIfication要解决的核心问题。作为牛津蛋白信息学小组OPIG开发的抗体序列分析工具它用隐马尔可夫模型自动识别链型和物种再按你指定的国际标准方案完成编号。本文不打算按介绍→安装→使用的老套路走而是从你真正会遇到的问题出发带你把它用起来。先来一张速查卡三步让 ANARCI 跑起来如果你已经装好了 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看到参数说明就算成功。然后你的第一条编号命令长这样ANARCI -i EVQLQQSGAEVVRSGASVKLSCTASGFNIKDYYIHWVKQRPEKGLEWIGWIDPEIGDTEYVPKFQGKATMTADTSSNTAYLQLSSLTSEDTAVYYCNAGHDYDRGRFPYWGQGTLVTVSA把这段序列丢进去ANARCI 会告诉你这是小鼠重链用 IMGT 方案编号成功并输出从H 1 Q到H 119 A的完整位置表。你手里的一串字母从此变成了一张可以和其他抗体互相对照的坐标图。核心能力深挖它为什么敢说给我序列我给你编号看懂工具的设计思路你才敢在生产环境里用它。ANARCI 的三个设计决策值得细品。第一为什么用 HMM 而不是 BLAST 或简单的序列比对抗体可变区的长度差异极大CDR3 可以短到几个氨基酸、长到几十个。BLAST 面对这种中间插了一段的序列往往对齐得歪七扭八。隐马尔可夫模型天生擅长处理插入和删除它给每个 IMGT 位置建立了匹配状态同时为插入和删除专门建模。所以即使你的序列 CDR3 特别长HMM 也能把两端的骨架位置对齐得干干净净。这也是 ANARCI 敢承诺所有抗原受体类型 128 个位置对应统一的底气所在——这套状态模型本身就是在 IMGT 坐标下训练的。第二一套内核六种编号方案。很多教程会把支持 IMGT、Kabat、Chothia、Martin、AHo、Wolfguy 六种方案当成一个功能清单念过去但真正值得理解的是ANARCI 不是为每种方案各写了一套识别引擎而是先通过 HMM 拿到一条状态向量相当于 IMGT 坐标下的对齐结果再把这份对齐结果按不同规则翻译成不同编号。核心识别只做一次翻译规则随时切换。所以你在命令行里把-s i换成-s kKabat、-s cChothia不需要重新分析序列几秒钟就能拿到另一套编号——这对对比不同文献里第 100 位到底是哪个残基来说是救命级的功能。第三返回值三件套而不是一个黑盒答案。命令行输出只是一部分ANARCI 的 Python API 设计更讲究。anarci()函数一次返回三个东西numbering编号结果、alignment_details每次比对的物种、链型、e 值、起止位置、hit_tables这条序列在 HMM 库里所有命中的完整统计。这意味着你不仅能拿到编号还能看到它为什么被判定为小鼠重链的证据链——对做质控的人而言这种透明性比任何一键生成的结果都可信。完整实战一个 scFv 的体检报告光说不练没意思。我们来跑一个真实的迷你任务给你一个单链抗体 scFv外加一条溶菌酶序列做阴性对照看看 ANARCI 能不能把抗体和非抗体干净地区分开。先说结论形式再讲过程。把两条序列放进一个列表交给anarcifrom anarci import anarci sequences [ (scfv:A, DIQMTQSPSSLSASVGDRVTITCRTSGNIHNYLTWYQQKPGKAPQLLIYNAKTLADGVPSRFSGSGSGTQFTLTISSLQPEDFANYYCQHFWSLPFTFGQGTKVEIKRTGGGGSGGGGSGGGGSGGGGSEVQLVESGGGLVQPGGSLRLSCAASGFDFSRYDMSWVRQAPGKRLEWVAYISSGGGSTYFPDTVKGRFTISRDNAKNTLYLQMNSLRAEDTAVYYCARQNKKLTWFDYWGQGTLVTVSSHHHHHH), (lysozyme:A, KVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQATNRNTDGSTDYGILQINSRWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDGNGMNAWVAWRNRCKGTDVQAWIRGCRL), ] numbering, alignment_details, hit_tables anarci(sequences, schemeimgt, outputFalse)结果是两个完全不同的命运scfv被识别出两个结构域——前半段是轻链kappa后半段是重链中间由(GGGGS)×4接头连接。ANARCI 甚至在编号结果里精确给出了每个域在原始序列里的起止索引你可以直接切片验证。lysozyme得到的是None它跟所有 HMM 的比对都达不到显著阈值e 值大得离谱。这就是你想要的阴性对照证明工具不会为了编号而强行编号。如果你只需要快速拿第一个域的编号还有更轻的入口from anarci import number numbering, chain_type number(seq, schemekabat)一行代码返回 Kabat 编号和链型。日常验证用number做流水线用anarci两级 API 的定位非常清楚。从单条到上万条批量与输出格式。当序列数量涨到几千条时命令行才是正道。项目的run_numbering_benchmark.sh演示了标准姿势ANARCI -i pdb_sequences.fa.txt.gz -s i --csv -o pdb_imgt --ncpu 4 --assign_germline三个参数值得单独说--csv把编号结果按链型拆成多个横向对齐的 CSV 文件直接喂给 Excel 或 pandas做多序列比对视图--ncpu 4HMMER 的扫描任务并行化脚本注释里写得清楚——桌面机 4 进程跑约 1 万条序列每条耗时平均不到 5 分钟总量级--assign_germline额外做 V/J 种系基因指派告诉你这条序列最接近的IGHV1-12*01之类基因名及其一致性分数。输入文件甚至可以传.gz压缩包ANARCI 内部对.fasta和.fasta.gz一视同仁省去解压步骤。避坑指南与进阶技巧新手最容易在三个地方栽跟头先替你把雷排了坑一物种识别 ≠ 物种注释。README 里有一句很坦诚的警告ANARCI 用 V/J 种系比对来辅助判断物种但请不要把它当作主要的物种注释工具。遇到嵌合抗体、人源化抗体它会给出最可能的 HMM 命中但那是概率最高而不是一定正确。重要样本务必用--assign_germline交叉验证或者配合独立工具复核。坑二AHo 方案的启发式局限。源码里写明AHo 是基于链型做启发式编号的。如果你把一条外源 CDR1 移植到 VH 结构域上它会按照 CDRH1 来编——这在工程抗体里是合理的默认但也意味着人工构造物可能得到和你预期不同的编号。遇到嵌合 CDR建议对比 IMGT 结果再下结论。坑三不是所有物种都在库里。目前内置 HMM 覆盖人、小鼠、大鼠、兔、猪、恒河猴的常见链型。但羊驼的 VHH重链抗体呢文档说得很实在其他物种仍可能被正确编号、链型被识别只是物种可能不对。所以拿到 VHH 类序列时看链型结果、别纠结物种标签。进阶玩法三连把 CSV 输出接进你的分析管道。--csv生成的文件是横向对齐的每列是一个 IMGT 位置这天然适合做 CDR 长度分布统计、框架区保守性分析甚至可以喂给机器学习模型做特征矩阵。用 hit_tables 做最接近物种排名。hit_tables里每条序列的命中表按 e 值排序你能看到这条序列跟 human_H、mouse_H、rat_H 的分数差距判断它到底更像谁。对着build_pipeline/学模型是怎么炼成的。项目的build_pipeline/RUN_pipeline.sh、RipIMGT.py、FormatAlignments.py展示了从 IMGT/GENE-DB 拉取种系序列、过滤、格式化到训练 HMM 的完整流程。想给自己的特殊物种建模型这就是现成的教科书。社区与生态你踩过的坑别人早写好了别重复造轮子项目里已经堆好了你需要的素材示例脚本Example_scripts_and_sequences/anarci_API_example.py 把anarci()的三种返回值全部打印出来是理解 API 的最佳入门测试数据Example_scripts_and_sequences/antibody_sequences.fasta 是现成的练习集lysozyme.fasta 是经典的阴性对照进阶挑战请解压pdb_sequences.fa.txt.gz一万多条真实 PDB 序列管够构建流程build_pipeline/ 展示 HMM 库的构建全过程配合RUN_pipeline.sh可以直接复现模型训练协议细节六种编号方案各自的插入规则、位置含义全部写在 README 的 Schemes 一节比如 IMGT 的 CDR3 插入如何对称放在 111/112 两侧、Kabat 如何用 A–Z 字母标注插入——写论文方法部分时你会需要这些描述。想参与贡献工具是 BSD 3-Clause 开源许可HMM 训练部分依赖 MUSCLE另有单独的 LICENCE_MUSCLE 文件代码结构清爽lib/python/anarci/anarci.py是主逻辑schemes.py是六套编号规则的实现。给新物种补 HMM、优化某个方案的插入规则都是很受维护者欢迎的贡献方向。现在就做这两件事第一件用文中的 scFv 序列跑通anarci()API把三种返回值打印出来亲眼看看链型判定和编号坐标长什么样——这是你理解全工具最便宜的一课。第二件拿你自己手头那条看不懂的序列试试ANARCI -i看看它到底是抗体还是溶菌酶。如果是抗体它属于哪个物种、哪条链一分钟后你就有答案了。从一串不知含义的氨基酸到一张标注了每个残基位置的免疫学地图ANARCI 把抗体分析里最枯燥也最容易出错的环节压缩成了一条命令。剩下的就是你把编号结果用到自己的课题里去了——毕竟真正有价值的从来不是编号本身而是编号之后那个原来这个位置就是决定亲和力的关键的时刻。【免费下载链接】ANARCIAntibody Numbering and Antigen Receptor ClassIfication项目地址: https://gitcode.com/gh_mirrors/an/ANARCI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表