抗体序列生物信息学 是做什么的?
用于抗体序列数据的代码和约定:编号、注释、交换和质量控制。
范围:研究、治疗、诊断和教育工作。任何要求改造病原体以增强传播性,或设计逃避已有防御措施的请求均不在范围内——需明确拒绝并停止。
命名方案
没有编号方案的残基索引是无意义的。'H52'在Kabat方案下与IMGT方案下是不同的残基,而'CDR-H1'在不同方案下覆盖的残基也不同。因此:
- 在文本描述、列名(
cdr1_aa_imgt)、文件名和文档字符串中明确说明方案。 - 当数据到达时没有声明方案,应重新编号而不是推断;错误标记的方案会悄悄地破坏所有下游比较。
- 通过重新编号序列进行转换,绝不要通过索引算术。插入码(
52A、100A–100K)使得索引算术不可靠。 - 边界也属于某个方案:引用CDR定义时应使用“IMGT CDR-H3”而不是“CDR3”。
- 结构文件有其自身的残基编号。IMGT位置不是PDB编号,重叠群或热点列表必须使用文件的编号(下面的
cdr_contig.py会进行映射)。
方案表和边界定义:references/numbering.md
步骤
- 确定输入——链类型(重链、κ链、λ链或混合文件)、氨基酸或核苷酸、配对或未配对,以及序列是全长的V(D)J还是仅可变域。在编写针对该文件的流程之前,先人工检查少量记录。
- 使用工具编号和注释,不要手动进行:使用ANARCII(语言模型编号,OPIG接替ANARCI的产品)或ANARCI/abnumber进行编号和区域提取,使用IgBLAST从核苷酸数据进行种系分配。工具选择和代码片段:references/tools.md
- 规范化为AIRR重排TSV作为交换格式,以便下游代码读取统一的模式。字段约定和坐标陷阱:references/airr-data.md
- 分析前进行质控。 运行
airr-data.md中的检查清单:产率标志、框架、终止密码子、链型一致性、重复序列处理、配对数据中的孤儿链,以及写入再重新读取文件是否能重现记录的回环检查。 - 将标志报告为标志。 责任基序、人源化程度评分和克隆型分组是带有阈值的假设,阈值必须与数值一起传递。references/liabilities.md
连接immuno MCP后,number_sequence和annotate_cdrs会为您在一个可变域上运行ANARCII。两者都接受一个方案(imgt、kabat、chothia、martin或aho)用于残基标签,但它们返回的区域和CDR边界始终是IMGT定义,结果中也会明确说明:不要从中读取Kabat CDR。extract_chains给出结构中观察到的序列,map_epitope_paratope(带有scheme)按区域标记互补位残基,interface_contacts给出接触和埋藏面积。它们的接触规则是任何重原子对在4.5 Å内,scripts/interface_contacts.py使用相同的规则:对于PDB 1ZVY(链A对链B),两者都报告41个残基对和238个原子对(已于2026-11-14验证)。
VHH、设计结合物和结构
scripts/目录下的三个标准库脚本(Python 3.9+,无需安装;每个都支持--help)。从该技能目录下运行它们,或使用完整路径。
| 问题 | 命令 |
|---|---|
| 这个VHH的CDR、标志残基、半胱氨酸、责任基序、电荷是什么? | python3 scripts/vhh_qc.py seqs.fasta 或 python3 scripts/vhh_qc.py designs.csv --annotate -o designs.qc.csv |
| 哪些残基编号在这个结构中包含CDR,什么重叠群可以重新设计它们? | python3 scripts/cdr_contig.py 1ZVY.cif --chain A --target-chain B --design CDR3 --length CDR3=16-24 |
| 这个预测的复合物是否通过CDR接触了预期的表位? | python3 scripts/interface_contacts.py design.cif --binder H --target A --hotspots A45,A67 |
保持其输出可靠性的规则:
vhh_qc.py通过锚定Cys23、Trp41、Cys104和FR4尾来放置区域。它读取一个VH/VHH域,对于无法放置的序列,报告为未放置而不是猜测。如需精确的IMGT编号,或当链类型重要时,添加--numbering anarcii。与ANARCII的一致性、它拒绝处理的情况以及限制:references/vhh.md- 其输出中的位置是基于1的原始索引加上区域名称,绝不是IMGT编号。
cdr_contig.py会丢弃主链N、CA或C缺失的残基,因为命名未解析残基的重叠群会在设计工具内部失败。请在上传的确切文件上运行它。- 重叠群语法和残基编号约定属于设计工具;请在设计工具的文档中确认两者后再粘贴。
interface_contacts.py仅报告几何信息。它是关于设计结合位置的过滤器,不是结合强度的估计。
克隆型定义是选择,而非事实
关于克隆多样性的任何陈述都依赖于一个必须声明的定义:相同的连接核苷酸;具有相同V和J基因的相同CDR3氨基酸;相同V和J基因下CDR3氨基酸同一性超过某个阈值;或带有距离阈值的层次聚类定义。这些定义在相同数据上会产生差异数倍的结果。报告多样性数字的同时,必须报告所用的定义,并在任何比较中保持同一个定义。
参考
- references/numbering.md — 方案、CDR和框架边界、插入码、转换、IMGT与PDB编号比较。
- references/vhh.md — VHH序列特征、标志残基、半胱氨酸、
vhh_qc.py的验证依据。 - references/tools.md — 工具到任务的映射、安装说明、Python和CLI代码片段。
- references/airr-data.md — AIRR重排要点、种系参考、质控检查清单。
- references/liabilities.md — 序列责任基序、人源化程度以及仅凭序列无法决定的问题。