从抗体筛选到AI按需设计:抗体发现的范式转变
上个月我飞到北美一座沿海城市在母校组织的一场校友峰会上做了一场分享题目是《从筛选抗体到AI按需定制设计抗体》。说实话这个题目在收到邀请函之前就已经想好了但真正落到PPT上前后改了差不多四版。不是技术搞不定而是我一开始总想讲“AI有多厉害”后来才想明白——台下的人不需要听我夸模型他们需要知道的是AI设计抗体这件事到底能不能信、什么时候能用、用的时候要盯住哪些坑。那场分享不到四十分钟但整理文稿时我发现真正有价值的内容其实比现场讲的还要多。趁着周末把它完整复盘了一遍既给当时没能到场的同行也给所有在抗体发现这条路上挣扎过、纠结过的人。文章会涉及一部分技术原理但更多的是一线研发里那些真实存在的边界条件——毕竟AI设计抗体的终点从来不是序列文件而是能稳定生产、能在临床上站得住的分子。1. 为什么我把分享主题定为“从筛选到设计”1.1 筛选抗体的老路上限已经摆在眼前大概十年前我在做抗体相关项目的时候常规流程特别清晰先免疫动物等几周拿到血清看效价再取脾脏做杂交瘤或者建噬菌体展示库然后一轮一轮去淘淘到某个克隆的亲和力、特异性都满意了再进入人源化、表达、工艺。整个过程少则一年多则两三年而且全程都在跟概率打交道。我见过很多团队把时间表排得非常漂亮——第30周完成杂交瘤筛选第60周完成人源化第80周拿到先导分子。但实际执行起来最不可控的恰恰是免疫应答本身。今天打进去的抗原动物到底会产生什么样的抗体谱你说了不算动物说了算运气说了算。哪怕运气好拿到了一个不错的母体分子后续的人源化改造也可能把亲和力打回原形然后你根本不知道是哪一个框架区的残基出了问题只能靠实验去试。这背后其实暴露了传统抗体发现的核心矛盾我们需要的是一类“能满足多种复杂条件的分子”但我们获取分子的方式却是先在一个天然或半合成的文库里去捞捞到之后再去修修改改。换句话说我们是用“筛选逻辑”在解决一个“设计问题”。传统筛选的另一个问题在于它的最大通量受实验条件限制。噬菌体展示库能筛到十的十一次方级别的多样性听起来已经非常惊人但抗体真正的序列空间复杂度远超这个数。更况且文库质量参差不齐有些库的多样性是虚的——序列框架单一CDR互补决定区变化模式雷同筛出来的候选其实都长得很像。把这个道理讲明白之后台下就有人开始点头了因为不少人都经历过那种“筛了一大圈最后挑出来的几个跟没筛差不多”的荒谬感。1.2 AI设计抗体的底层转变从“选择”到“生成”而AI按需设计抗体最根本的变化就是把“从已有集合里选择”换成了“根据目标约束直接生成”。如果做一个类比传统筛选像是到一家只能提供固定菜品的餐厅点菜你只能在菜单里挑相对合适的AI设计则更像是你直接跟后厨说要什么口味、什么食材、什么热量范围让对方按需求做一道新菜。当时的PPT里我用了两张对比图一张是“传统流程漏斗”一张是“AI流程循环”。传统流程从抗原出发经过免疫、建库、筛选、优化每一步都在缩小候选范围AI流程则从抗原表位出发经过序列生成、活性预测、实验验证再把实验数据反馈回去重新生成形成一个正向的迭代环。这种转变带来的第一个好处是时间。生成侧只需要几天时间就能输出成百上千条候选序列而且可以定向调整CDR的长度、疏水性、电荷分布等属性。第二个好处是可控性。你可以把对表位结合、物种交叉反应、稳定性、免疫原性等多项要求同时放进模型的约束里而不是拿到一个分子之后再一个属性一个属性地去补。不过我得强调一下AI设计抗体并不是什么魔法。它做的是把过去零零散散靠经验积累起来的规则转化为可计算、可迭代的模型。那句在分享现场得到最多认同的话我后来也写进了PPTAI并不会替你做出一个抗体它只是让你在做出这个抗体的路上少走很多弯路。2. 传统抗体筛选流程里三个真正“卡脖子”的瞬间在分享现场我花了大概五分钟讲了一个相对“扫兴”的话题传统流程到底卡在哪。我想先说清楚一件事——只有当传统流程的痛点足够尖锐AI设计这个方向才真的有价值而不是因为人工智能听起来时髦。2.1 动物免疫项目管理管不了“免疫应答”第一个卡点动物免疫。现在很多单位用羊驼、小鼠、大鼠甚至兔子做免疫目的是让动物自身产生针对目标抗原的抗体。问题是免疫应答本质上是动物体内的生物学过程存在很大的个体差异。同一个免疫方案五只小鼠可能出来五条完全不同的抗体谱。有些抗原免疫原性低比如高度糖基化或者多次跨膜的靶标你怎么加强免疫佐剂都很难激起有效应答。有一次我做了一个多次跨膜蛋白的抗体项目免疫了三轮最终效价还是低得离谱团队里做实验的同事都想把方案推倒重来。后来我们尝试更换了一种携带特殊分子标签的免疫原又把注射方式从皮下改成淋巴结内注射才勉强拿到几条可用的序列。你看这种细节没有任何模型能提前告诉你它全部来自对实验体系的反复磨合。动物免疫这一步实际上把整个项目的节奏都拴在了生物体极其复杂的系统反应上时间表排得再好也只能跟着它走。2.2 噬菌体展示文库通量高不代表质量稳第二个卡点噬菌体展示文库。很多实验室对文库的追求就是“大”好像多样性越高筛出好抗体的概率就越大。但实操经验告诉我文库真正需要关注的指标第一是正确率第二是CDR多样性第三才是库容数字。我见过一个外包构建的库报告上写着库容量十的九次方但QC抽检发现其中有超过三成是移码突变的坏序列剩下的大部分克隆又来自少数优势克隆的扩增实际有效多样性可能只有报告数字的零头。用这种库去筛选不是不能出结果但你等于是在一块掺了很多沙子的地里淘金淘出来的“金子”也有一部分是黄铁矿。这种情况在行业里不少见但很少有人愿意把这类失败数据拿出来复盘。2.3 人源化改造表面小修背后伤筋动骨第三个卡点是人源化改造。很多筛选出来的先导抗体尤其是鼠源抗体直接打给病人会引发很强的免疫反应。于是需要把人源抗体的框架区移植过来只保留原来的CDR区这就叫人源化。听起来很简单实际上做起来经常出问题你把CDR挪到人源框架里分子整体的构象发生变化原有亲和力可能掉一个数量级甚至彻底失效。更麻烦的是有时候并不是某一个残基出了问题而是多个框架残基联合起作用你调A会破坏B调B又影响C。在这种牵一发动全身的局面里常规的定点突变加实验验证周期长、成本高、探索空间又大。也恰恰是人源化这个环节让整个行业逐渐意识到如果能直接从人源框架出发去生成CDR序列很多绕弯的路都能直接省掉。讲完这三个卡点之后我放了一句总结性质的PPT文字传统流程不是在筛选一个抗体而是在筛选一种运气。这句话不是为了否定传统而是为了说明为什么行业必须寻找新工具。3. AI按需设计抗体的技术逻辑我在PPT里反复强调的三张图分享现场的核心技术部分我把所有内容收敛成三张图一张关于结构预测一张关于序列生成一张关于可开发性评估。这三张图背后分别代表了AI抗体设计的三个核心技术环节我按从空间到序列再到成药性的顺序来讲。3.1 结构预测模型先把“搜索空间”缩到脚下一小块第一张图结构预测。抗体要和抗原结合本质上是空间形状的匹配是残基层面的接触网络。过去没有可靠结构只能靠序列比对加模板建模预测得粗糙精度也不够。这些年结构预测模型成熟之后我们至少可以先拿到一个可信度比较高的抗体-抗原复合物结构能看清靶点表位上哪些残基朝外、哪些被糖基化挡住、哪些是结合比较关键的疏水口袋。在实操中我会把这个结构分析结果做成一张热点图把表位残基根据暴露程度、可变形性、与已知功能位点的距离分成高置信、中置信、低置信三层。高置信区域是后续设计中优先瞄准的锚点区域低置信区域则可以选择性忽略避免模型在空间柔性太强的界面上浪费生成能力。这一步的重点在于它把“整个抗原表面都可能结合”的问题缩小到了一个可以管理的局部区域。没有这一步生成模型就会像无头苍蝇一样在整条蛋白质表面乱飞产出的序列虽然也能看但大多数都不可能落地。当时我把这张热点图投影出来的时候现场几个做结构生物学的朋友明显坐直了身体——他们知道这一步其实比模型本身更考验对靶点的理解。3.2 生成模型直接输出CDR序列但约束比生成更关键第二张图序列生成。目前主流路线有两类一类是基于结构条件的生成模型输入目标表位周围的空间向量去生成能与它互补的CDR环区另一类是基于语言模型的生成用大规模抗体序列做预训练再针对表位和结合活性做微调输出新的CDR序列。我在实际项目里更倾向于两步走先用结构约束去掉那些几何上就没法结合的序列再用序列模型在剩下的空间里去发散。这有点像写作文——结构预测先给你定了大框架你不能跑题生成模型负责在框架里写得精彩它要考虑句子的通顺性、词汇搭配的合理性。如果框架没定好就放飞想象力写出来的东西往往很惊艳但完全离题。生成模型还有一个不可忽视的问题是序列偏好。不同数据源训出来的模型它们的输出序列在长度分布、氨基酸使用频率、CDR-H3环长分布上都可能带有先天的偏置。如果你不检查这种偏置你会发现自己用AI设计出来的100条序列看上去非常相似甚至可以简化成几个模板的微调——那这就又重新回到了传统文库的老问题多样性只是表面的。分享到这儿的时候我开了个玩笑AI设计抗体的第一原则不是告诉模型你希望要什么而是先告诉模型你希望得到多少种不同的答案。当时的PPT上写了一行字多样性是设计的元指标。这行字后来也被好几位到场的朋友拿去做了笔记。3.3 可开发性评估提前介入淘汰“纸面合格”的候选第三张图可开发性评估。很多AI生成的序列在结合预测打分上非常漂亮但真放到实验台上可能完全表达不出来。为什么因为抗体的可开发性和序列本身的稳定性、聚集倾向、溶解度、表达性质、翻译后修饰位点都有关系这些在结合预测里不会被完整考虑。所以在设计流程里我会把可开发性过滤器放在生成模型之后、湿实验验证之前。具体包括几类计算一是预测蛋白稳定性变化排除容易折叠不稳定的序列二是扫描潜在的糖基化位点、氧化位点、异构化位点降低后期工艺麻烦三是做聚集体预测和粘度粗估排除那些在浓缩条件下容易变成一锅粥的序列。这里面有太多细节我都踩过坑。比如有一次我们生成了一批亲和力非常好的候选表达产量也还可以结果在纯化阶段全部形成了高分子量聚集体。回溯下来发现这批序列的CDR里有好几个表面暴露的疏水残基它们在溶液里很容易互相贴在一起。如果当时在计算环节里把聚集倾向的阈值压得更严格一点这一批损失就完全可以提前避免。所以我在PPT里给这一步的注释是设计得出来不等于表达得出来表达得出来不等于能做成药。AI按需设计抗体必须在每一个关卡都考虑最终能不能用而不是只盯着结合亲和力一个指标。4. 从“能做”到“能用”AI设计抗体落地的三个真实挑战现场分享的后半段我把话题从技术原理拉回到工业落地这也是台下很多产业界听众最关心的问题。老实说技术原理讲得再热闹真正决定AI设计抗体能不能被大规模使用的是那几个听起来特别不性感、但每一个都是硬骨头的环节。4.1 数据量不是问题负样本才是谈到AI抗体设计绕不开数据。很多人第一反应是数据不够其实公开的天然抗体序列数据量已经非常庞大了从各大数据库拿到的抗体序列数量足够让语言模型学到基本的序列规律。真正的瓶颈不在正样本的数量而在负样本的稀缺。什么意思我们做监督学习模型需要知道什么样的抗体能结合什么样的抗体不能结合。可公开数据里positive的序列大多来自专利、文献、结构解析这类数据相对好找但negative的序列——那些设计出来但失败了、表达失败了、结合不上的数据——几乎全部埋在各家公司的实验记录本里没人会发到公开数据库里。模型如果没有充分见过负样本它就只知道好的长什么样而完全不知道坏的到底坏在哪。这是AI设计抗体在数据层面一个非常深的坑。因此如果一家公司或实验室想要长期做这件事一定要建立自己的私有数据闭环把每次湿实验的负结果也认真记录、标注、回灌到模型训练里。这个过程很枯燥但它是拉开模型水平差距的重要分水岭。4.2 湿实验闭环永远绕不开的最后一公里第二个挑战也是我几乎每次都要强调的一件事AI设计抗体的终点不是序列列表而是湿实验。生成模型给你的是数字化产物但它有没有真正结合目标抗原、能不能在细胞里稳定表达、会不会降解、亲和力到底多少只能通过实验来回答。有些团队曾经试图跳过一部分实验直接依赖计算打分去推进项目结果往往发现不同打分函数之间的一致性差得惊人。同一个候选序列三个工具给出三个不同的高分成。这时候你信谁没法信只能做实验。所以我会跟团队反复强调AI模型的价值必须放在设计-实验-再设计的闭环里去体现。模型每输出一批候选实验反馈一批数据模型再更新一次这个迭代效率才是AI抗体设计的核心生产力。在一次内部演练里我们用AI生成了96条针对某个靶点的候选序列实验端做高通量表达和结合初筛最后只有8条能表达且结合阳性。这个命中率听起来不算高但对比传统项目时间成本和试剂成本的下降是数量级的。更重要的是这8条的序列多样性远高于传统筛选通常能拿到的结果后续优化的空间会更大一些。4.3 监管、临床和工艺的“无声红线”第三个挑战很多人一开始没有意识到但当项目真的往临床推进时才反应过来监管和工艺。AI设计的序列从出生就带着一串计算痕迹监管方对它的可解释性、批次一致性和免疫原性风险评估会格外关注。具体来说AI序列往往包含一些在天然抗体中很少见的氨基酸组合这些组合可能在计算层面能带来更好的结合能量但在生产环节可能导致表达水平不稳定、宿主细胞残留更复杂、或者产品异质性更高。对于IND申报CMC化学、生产和控制数据是最容易被卡住的一块如果你设计的序列没法在各项工艺标准上过关前期再怎么漂亮的计算结果都等于零。我最想提醒的一点是不要把CMC当成一个事后动作。在AI设计阶段就应当把表达宿主偏好、纯化工艺兼容性、可放大生产等要求作为设计约束之一。当时PPT上放了句很直接的话临床阶段的事做研发的必须从第一天就开始操心。这句朴素的话反而是现场最受认可的几句之一。5. 我在PPT最后给出的一套迷你工作流以及实测参数为了让不是做计算的人也能在会后快速上手我专门在PPT最后放了一套最小可行流程。现场时间有限只讲了大概十几分钟这里我把它完整铺开包括当时没有来得及展开的默认参数。5.1 从表位定义到候选序列的五步流程这五步分别是表位解析、结构扫描、序列生成、计算筛选、湿实验排序。用一句话概括就是先锁定要打的地方再推算可能贴上去的形状然后生成一堆可能的序列把明显不合格的删掉最后交给实验去裁决。第一步表位解析除了结构数据库和文献信息之外我建议结合一些突变扫描数据尽量确定表位残基属于驱动结合还是被动接触。第二步结构扫描是对目标抗原做多次结构预测看不同预测模型之间的保守区域把高可信界面保下来。第三步序列生成可以同时用两到三套不同的生成模型保证初始序列库的多样性。第四步计算筛选依次通过可开发性过滤、免疫原性预测、交叉反应位点扫描等关卡。第五步湿实验排序用SPR或BLI做初始亲和力排序再对前几名做表达和稳定性验证。我在这里特别想提醒一件事很多人把第一步表位解析做得太草率以为有了结构模型就万事大吉。但实际上表位选错了后面整个流程都会在错误的方向上白费力气。这个道理有点像射击前的瞄准——AI模型再准也只是把子弹打到你指的地方如果你指错了靶心枪法再好都没用。5.2 起步参数与阈值参考下面是我在演示中使用的默认起点参数具体项目可以再做调整阶段参数推荐起始值说明生成候选序列数500~1000条保证序列多样性避免模型坍缩生成CDR-H3长度范围8~20个残基过长或过短都容易带来稳定性问题筛选聚集倾向过滤阈值取前50%保留具体阈值根据表达系统调整筛选结合预测置信阈值取前10%宁缺毋滥优先淘汰低置信候选实验初筛候选数48~96条在通量和成本之间取平衡如果有计算背景的读者想快速搭一个原型可以用类似下面的方式定义一条流水线# 伪代码示意实际工程实现会复杂很多 pipeline Pipeline([ (epitope_scan, EpitopeScanner(top_k_residues20)), (cdr_generate, AntibodyGenerator(modelstructure_guided, n_candidates500, cdr_h3_len(8, 20))), (developability, DevelopabilityFilter(aggregation_threshold0.5, glycosylation_sites0, isoaspartate_hotspots0)), (docking_score, DockingScorer(top_10_percentTrue)), (wetlab_handoff, ExpressionScorer(selected_clones48)) ])当然这只是一个骨架真正的工程里还要考虑GPU调度、序列去重、批次管理这些琐碎但容易逼疯人的环节。5.3 一个虚拟案例走完全程我构造了一个虚拟案例比如某个膜蛋白靶点。我们拿到抗原序列之后先用结构预测找到胞外结构域上最暴露、且最可能影响功能的一段表位。然后在这个表位周围生成500条重链CDR-H3序列。计算端先筛掉明显易聚集、带糖基化位点、结合打分排在后面的一半剩下120条再进入轻链配对生成。之后再用复合物建模验证配对后的空间冲突又筛掉一批不可行的最终留下96条送去做抗体表达。实验端两天内做完表达初筛大约40条表达成功。SPR初筛挑出亲和力在百纳摩尔级别的8条之后做一次深度表征和优化迭代把其中两条的亲和力进一步压到十纳摩尔以下。整个流程大约三周这在传统流程里是一个接近不可想象的速度。我特意用这个虚拟案例把数字讲透是想说明AI设计抗体不是只能做一个好看的概念。只要流程搭得对整个拆解是清晰且可复现的每一道关卡都有明确输入输出而不是黑箱里碰运气。6. 真正让我少踩坑的几条操作经验这一部分没法写进技术文档但对项目成败的影响比很多模型参数都大。这些经验是我在多次实际项目中一点点磨出来的也是现场听众反馈最热烈的环节。6.1 我给每个生成模型做“体检”每个生成模型都有自己隐藏的偏见专业点讲叫隐变量偏移。比如有的模型训练集以某个地区、某种年龄段的健康人血清抗体库为主某些抗体基因家族的使用频率就会特别高有的模型用了大量的合成文库数据输出序列的CDR-H3环长就集中在11到15个残基还有一些模型因为训练数据中来自噬菌体展示的序列占大头产出的序列在真核表达系统里可能更容易出现折叠问题。如果你不做模型体检这些问题会一直藏在暗处直到你拿到实验结果之后才追悔莫及。所以我现在每接手一个生成模型第一件事就是拿一批它生成的序列做统计分析画氨基酸使用频率分布、CDR环长分布、框架区序列聚类然后和天然抗体库的数据做对比看它到底偏在哪里。这一步已经成了我工作流里雷打不动的前置动作。6.2 AI的输出你要会“审”团队里最好有个资深抗体专家第二条经验是AI输出的候选序列一定要找有经验的抗体研发人员进行人工审核。这件事听起来跟AI自动化有点违背但我可以负责任地说现阶段最有效率的流程是AI生成加计算筛选加专家审查三个人接口。资深专家看了序列之后能凭经验指出这个地方的残基极性不对换成更亲水的会更好那个地方的环长虽然满足要求但空间上太紧可能影响抗体折叠速率。这类判断短期内AI很难完全替代。我见过一些团队完全走自动化流程结果选出的候选序列在结合预测上完美表达后却全部聚集。后来让一位经验很深的同事看了一眼序列第一眼就发现CDR-H3里有一个连续三个芳香族残基的片段——这种片段在溶液里极易自聚集。很多经验丰富的人对这种风险有近乎直觉的识别能力这东西很难被量化很抽象但就是非常管用。6.3 从项目启动的第一天就想到CMC而不是做完再补最后一条经验其实是伤过之后才总结出来的。以前做AI抗体的时候我们一门心思扑在亲和力和特异性上直到序列确定要进入工艺开发实验室才惊觉一连串问题序列里有个多余的N-糖基化位点表达量再怎么优化也上不去有两个半胱氨酸的位置不对称导致批次之间在生产过程中反复出现不均一还有一个CDR位点容易发生氧化降解稳定性数据很难看。这些问题在序列设计阶段完全可以通过简单的扫描加以避免。现在我已经把CMC约束前置到了生成环节序列生成时不允许引入新的N-糖基化基序对游离半胱氨酸做严格检查同时用算法预测可能在储存过程中发生脱酰胺、氧化的热点并降低其权重。这一改动看似朴素却让后续工艺环节省掉了将近一半的返工量。7. 这次分享真正让我看懂的是“设计”背后的范式转换分享结束之前我在PPT最后一页放了一句有些感性的话我们曾经在巨大的抗体空间里不停筛选现在我们要学着在这片空间里导航。事后有几位听众问我说这句话是不是意味着传统筛选会被完全淘汰。我的答案是否定的。AI按需设计抗体并不会让动物免疫、噬菌体展示这些老方法彻底消失它改变的是整个发现链条的起点和节奏。过去我们在一个固定空间里被动找答案现在我们多了主动出题的权力但答案是否成立依然要靠实验、工艺和临床一句一句地来回答。我个人在这段路程里最大的体会是AI设计抗体真正的门槛从来不在模型本身而在于使用模型的人是否理解抗体的底层逻辑是否敬畏湿实验数据的每一次反馈是否愿意从第一天起就把成药性放在和亲和力一样高的位置。工具会不断更迭但这种以终为始、尊重实验、保持开放的心态才是这个领域能走远的关键。最后分享一个小建议如果你所在的团队也准备尝试AI设计抗体不要急着去追最新的生成模型先认真盘点自己手头有多少高质量的阳性结合数据和阴性失败数据再决定从哪一步切入。数据闭环打不牢模型再强也只能在云端造楼落不了地。/final_submission