蛋白质设计全链路:从生成式建模到湿实验验证

发布时间:2026/10/25 14:41:47
蛋白质设计全链路:从生成式建模到湿实验验证

这两年翻一翻综合性顶刊的目录,蛋白质设计出现的频率已经很难用“偶尔”来形容了。结构预测刚把“看清长什么样”这件事解决掉,生成式模型紧接着就把“造一个出来”变成了流水线作业,再往后是湿实验验证——一轮设计、一轮筛选、一轮功能测定,故事闭环,数据漂亮,审稿人挑不出硬伤。这就是为什么这个方向最近一段时间能持续霸占版面:它不是单点技术突破,而是一整套方法学范式在快速成熟。

这篇内容我想讲清楚三件事:蛋白质设计到底在做什么、它的技术链路是怎么拼起来的、以及一个普通实验室或者小团队要怎么把这条链路真正跑通。不管你是做计算背景想补湿实验常识,还是做实验出身想搞明白那些模型到底在算什么,又或者只是想知道这个领域的热度是不是虚火,下面这些内容应该都能给你一点实际参考。我会把公开实践中比较通用的流程、参数区间和踩坑点都摊开讲,能直接抄的部分尽量写成可执行的步骤。

1. 这个方向为什么能持续产出高水平工作

1.1 从“预测结构”到“创造结构”的范式切换

过去十几年,这个领域的核心命题是“给定一条序列,猜它折叠成什么形状”。这件事的难度在于搜索空间巨大,但目标是唯一的——自然界已经给了答案,模型只要逼近就行。生成式设计把命题反过来了:给定一个想要的形状或者功能约束,反推出可行的序列。目标从一个点变成了一个分布,评价标准也从“预测得准不准”变成“造出来能不能用”。

这个切换带来的直接结果是评价体系的可验证性大幅提升。预测类工作最怕的是“模型很好但没法独立复现”,而设计类工作天生自带验证环节:你说这条序列能折叠成这个形状,那就合成出来测一测;你说它能结合某个靶点,那就测亲和力。审稿人手里的尺子非常硬,行就是行,不行就是不行。这种“可被独立检验”的属性,恰好是高水平期刊最看重的。

再往深一层看,范式切换还改变了对数据的依赖方式。预测模型需要海量已知结构做监督,而生成模型更多是在学“什么样的局部几何是合理的”这类先验,对标注数据的胃口反而没那么大。这让很多小团队也有了入场机会——你不需要拥有一个几十万条结构的私有数据库,用公开数据和开源权重就能起步。

1.2 数据、算力、验证闭环这三件事同时到位了

任何方法学方向要爆发,都得等基础设施凑齐。蛋白质设计这几年的提速,本质上是三块短板同时被补上了。

第一块是结构数据与序列数据。公开结构库积累了十几万个实验解析的结构,加上数以亿计的蛋白质序列,足够训练出像样的表征模型。序列语言模型在这上面学到的东西,比很多人想象的要多——它不只知道哪些残基常见,还隐式学到了二级结构倾向、疏水核心的 packing 规律、甚至一些弱保守的界面特征。

第二块是算力可得性。几年前跑一次大规模采样要排几周队列,现在租几张卡、跑一个周末就能出几百个候选骨架。扩散模型这类采样密集的方法,对算力的要求其实不低,但云算力的按小时计费模式让这件事从“买不起设备”变成了“算得过来账”。

第三块是湿实验成本下降。基因合成按碱基计价,价格一路走低;96 孔、384 孔的高通量表达和纯化已经高度标准化;无细胞表达体系让“设计完第二天就能测”成为现实。这三块拼在一起,就形成了“设计—合成—测试—学习”的快速迭代环,一圈下来从几个月压缩到几周。

1.3 发表逻辑:为什么这类工作容易出彩

站在投稿角度,这类工作有一个天然优势:叙事结构极其完整。方法部分讲清楚模型怎么设计、训练目标是什么、采样策略怎么定;结果部分先给计算指标,再给实验验证,最后给一个真实应用场景的 demo。每一环都能配图,每一环都有数字,审稿人很难说“证据不足”。

更重要的是,这类工作往往能同时满足两类读者的兴趣。做计算的人关心模型架构和采样效率,做实验的人关心成功率和实际功能,两边都能从中找到自己要的东西。相比之下,纯计算方法学的工作经常被质疑“缺乏实验验证”,纯实验工作又容易被说“缺乏新意”,而设计与验证结合的工作恰好卡在中间地带。

当然也有代价。这类工作的实验量通常不小,几十到上百个设计体的克隆、表达、纯化、表征,工作量摆在那里。所以真正能持续产出这类工作的团队,往往要么计算和实验两条线都有人,要么跟外部实验室有稳定合作。单打独斗很难维持节奏。

2. 核心技术链路拆解:从骨架到功能的四层结构

2.1 第一层:骨架生成,把“形状”先画出来

整个链路的第一步是决定要造一个什么形状的骨架。这里的输入通常不是序列,而是几何约束:几段螺旋怎么排布、某个结合口袋的开口朝向哪边、关键残基的空间位置在哪。输出是一批主链坐标。

主流做法是基于扩散的生成模型。它的直觉很像“从一团噪声里雕刻出结构”:先随机撒点,然后一步步去噪,每一步都在把坐标往“看起来像蛋白质”的方向推。训练时给模型看成千上万个真实结构加噪再还原的过程,推理时从纯噪声出发,采样出一条合理的主链。

实操上要关注的参数不多,但每个都影响很大:

参数典型取值影响
目标链长80-150 残基太短难有稳定核心,太长成功率断崖下跌
采样数量100-1000 条低于 100 条基本靠运气
噪声步数50-200 步步数少快但粗糙,步数多细但慢
约束强度motif 固定 vs 柔性固定太死会让骨架扭曲,太松会丢约束
对称性无 / 二面体 / 环状对称设计成功率通常更高

新手最容易犯的错是一上来就做 200 残基以上的大蛋白。实测下来,100 残基左右、带一段明确二级结构约束的设计,回验通过率能到两三成;链长翻倍,通过率经常掉到个位数。所以我的建议是先在小体系上把流程跑顺,再逐步加复杂度。

还有一个容易被忽略的点是motif 的选取。如果你想让设计出来的东西带上某个已知的催化 triad 或者结合热点,得先把这几个残基的局部几何从真实结构里抠出来,连同它们之间的相对距离和角度一起固定。抠得太紧,骨架会为了迁就这几个原子而整体变形;抠得太松,最后得到的结构里这几个残基可能根本不在正确位置。一般做法是先固定主链原子,侧链在序列设计阶段再放开。

2.2 第二层:序列设计,逆折叠与语言模型的分工

骨架有了,下一步是给每条骨架配一条能折叠成这个形状的序列。这一步叫逆折叠,输入是主链坐标,输出是每个位置的氨基酸概率分布。

图神经网络是这里的主力。它把每个残基当成图上的节点,把空间距离在阈值以内的残基连边,然后做消息传递,让每个位置都能“看到”周围环境,再决定自己该是什么氨基酸。埋藏在核心的位置会被强烈约束成疏水残基,暴露在表面的位置则宽松得多,允许带电或者极性残基。

另一条路线是蛋白质语言模型。它只看序列,不看结构,但因为在海量天然序列上训练过,学到了很强的序列合理性先验。这两条路线其实是互补的:逆折叠负责“这条序列能不能折成这个形状”,语言模型负责“这条序列本身像不像一条真蛋白”。实践中常见的组合是先用逆折叠生成候选,再用语言模型打分过滤掉那些明显不自然的序列。

每条骨架生成多少条序列,这个数量值得说道。生成太多,下游筛选压力大;生成太少,可能整条骨架白费。我的经验是每条骨架 8 到 16 条比较平衡。因为逆折叠模型输出的其实是概率分布,采样时温度参数会显著影响多样性:温度调低,采出来的序列高度相似、成功率高但多样性差;温度调高,多样性上来了但很多序列不合理。通常设两组温度各采一半,一组保守一组激进,兼顾命中率和探索性。

序列设计阶段的几个硬性检查项:

  • 净电荷:目标蛋白的等电点和实际使用缓冲液的 pH 要错开至少一个单位,否则纯化和储存都会难受。
  • 疏水暴露面积:表面出现大块疏水斑块是聚集的头号元凶,用打分工具扫一遍,超过阈值的直接扔掉。
  • 半胱氨酸数量:除非你打算做二硫键,否则游离半胱氨酸越少越好,不然表达后容易形成错配的多聚体。
  • 连续重复序列:超过 4 个相同残基的连续段落容易在合成阶段出问题,也容易形成低复杂度区域。

2.3 第三层:功能约束,把“口袋”和“界面”钉死

只做出一个能折叠的结构意义有限,真正有价值的是让它干某件事:催化一个反应、结合一个靶标、响应一个信号。这一步就是把功能约束翻译成计算约束。

结合界面的做法是定义一组热点残基,要求它们的侧链指向特定方向,并且与靶标表面保持合适的距离。这里要算的是形状互补性和静电互补性:疏水残基对着疏水口袋,带电残基找相反电荷。界面面积一般做到 600 到 1200 平方埃,太小结合不住,太大容易非特异。

催化位点的约束更苛刻。除了几个关键残基的空间位置,还得考虑它们之间的精确距离和角度——差一个埃,催化效率可能掉两个数量级。常见做法是把已知酶的活性中心作为 motif 移植到新骨架上,同时保留周围一圈二 shell 残基,给侧链构象留出合理空间。

别忽略 loop 区。很多人把注意力全放在核心和界面上,结果设计出来的东西 loop 太长太软,要么在表达时被蛋白酶切了,要么构象熵太高导致结合熵罚过大。一般来说 loop 控制在 3 到 8 个残基,并且尽量让两端有锚定。

2.4 第四层:评估指标,怎么判断一个设计“能不能用”

计算阶段的过滤是省实验成本的关键。我常用的指标组合是这样的:

指标含义参考阈值
平均 pLDDT单链局部置信度> 85 较稳,> 90 更好
pTM / ipTM全局与界面置信度界面 ipTM > 0.6 才考虑
PAE 矩阵结构域相对位置误差关注界面区域,越低越好
序列恢复率与天然序列的相似度不是越高越好,30%-60% 之间常见
折叠自洽 RMSD设计序列回折与原骨架的偏差< 2 埃可接受
表面疏水斑块聚集风险越大越危险

这里必须提醒一句:预测模型对人工设计的序列往往偏乐观。因为这些序列本来就是按模型喜欢的样子生成的,再用同类模型去打分,等于自己批自己的卷子。所以计算指标只能用来排序和淘汰明显不行的,绝不能当作“这玩意一定能用”的证据。真正说了算的只有实验。

一个比较务实的筛选漏斗是:生成 300 条骨架,结构自洽性过滤后剩 120 条,几何与序列合理性过滤后剩 60 条,人工看图挑出 24 条送合成。这个比例听起来浪费,但比盲目送 100 条合成要省钱得多。

3. 从干实验到湿实验:一条可复现的实操路线

3.1 环境与工具准备

先说明一点:下面列的都是公开可获取的工具类别,具体选择看你的硬件条件和团队习惯。整套流程在一张消费级显卡上能跑小规模验证,正式项目建议至少 24G 显存。

环节工具类型说明
结构预测开源折叠模型单序列模式快,多序列比对模式准
骨架生成扩散式生成模型支持 motif scaffolding 和对称约束
序列设计逆折叠图神经网络输入主链坐标,输出序列概率
序列打分蛋白质语言模型做似然排序,过滤不合理序列
复合物评估界面预测模型输出 ipTM 和 PAE
结构可视化分子查看器看口袋、看界面、看疏水斑块

流程管理建议用脚本串起来,每一步的输出落盘成结构化文件。我见过太多人把中间结果随手存在临时目录,过两周想复现某条设计的时候找不到来源。每条设计至少记录:来源骨架 ID、采样温度、序列、各项打分、合成订单号。这套记录在后期分析成功率时价值极高。

3.2 单链设计的完整流程

假设目标是设计一个约 110 残基、带一个特定结合口袋的小蛋白。流程可以这样走:

第一步,定义约束。从已知结构里抠出 6 到 8 个关键残基的主链坐标作为 motif,记录它们两两之间的距离矩阵。同时设定整体链长范围 100 到 120,二级结构组成大致是三段螺旋加若干 loop。

第二步,骨架采样。跑 500 条候选,分五批各 100 条,每批换不同的随机种子。批量的意义在于,如果某一批全军覆没,你能判断是种子问题还是参数问题。

第三步,初筛。用结构预测模型回折每条骨架对应的序列,算 RMSD。同时看 motif 区域的局部偏差,超过 1.5 埃的直接淘汰。这一轮通常留下三到四成。

第四步,序列设计。对留下的骨架,每条用两种温度各采 8 条序列。温度设置可以参考:保守组接近模型默认值,激进组上调 0.1 到 0.2。

第五步,复合打分。把序列回折,算 pLDDT、pTM、界面 ipTM,再叠上语言模型似然和表面疏水面积。做一个加权排序,人工看前 30 名的结构图。

第六步,人工复核。这一步别省。看图重点看三处:口袋内部有没有明显的空腔或者原子碰撞、界面残基的侧链朝向是否合理、表面有没有孤立的疏水残基。模型打分再高,图上一眼看出问题的也得扔。

第七步, codon 优化与合成。按宿主偏好做密码子优化,N 端加标签,C 端留切位点。同一批设计尽量用同一套载体骨架,减少变量。

3.3 表达纯化与活性验证的关键节点

合成回来的构建体,常规走大肠杆菌表达。这里面有几个参数值得细调:

  • 诱导温度:18℃ 过夜是万能起手式,可溶性表达比例通常比 37℃ 高很多。
  • 诱导剂浓度:0.2 到 0.5 mM 之间,浓度越高包涵体风险越大。
  • 培养基:TB 比 LB 表达量高,但对可溶性的帮助有限,主要看蛋白本身。
  • 诱导时机:菌浓到 0.6 到 0.8 之间加诱导剂,太早太晚都影响产量。

纯化走镍柱亲和,然后做一步分子筛。分子筛的作用不只是纯化,更是判断寡聚状态的窗口——如果出峰位置在理论单体分子量的两倍附近,说明它形成了二聚体,很多设计在这一步就露馅了。收集单体峰做后续表征。

热稳定性用圆二色或者差示扫描荧光测熔解温度。设计良好的小蛋白通常能到 50℃ 以上,低于 40℃ 的就要怀疑核心 packing 有问题。结合活性用表面等离子共振或者等温滴定量热测,前者通量高、样品省,后者信息全、能拿到热力学参数。

3.4 成功率估算:把期望值算在前面

这一节是我认为最该被写进每个项目计划书里的内容。假设:

  • 骨架采样 500 条,通过结构自洽性 30% → 150 条
  • 通过几何与序列过滤 50% → 75 条
  • 人工复核挑出 24 条送合成
  • 表达成功率 85% → 20 条
  • 可溶且单体比例 60% → 12 条
  • 折叠正确(谱学判断)80% → 约 10 条
  • 具备目标结合活性 15% → 1 到 2 条

也就是说,一轮完整流程下来,能拿到一到两个真正可用的候选,就已经算正常发挥了。如果目标是酶活,命中率往往还要再低一些,因为催化对几何精度的要求比结合高一个量级。

这个漏斗数字不是让你泄气,而是让你在立项时就把预算和周期算清楚。很多人第一次做,以为设计 10 条就能成,结果全军覆没之后怀疑方法有问题,其实是样本量根本不够。设计类工作的本质是抽样,抽样就要讲统计。

4. 常见问题与排查实录

4.1 设计出来不折叠、全在包涵体里

这是最高频的问题,原因通常分三类。一类是序列本身有问题,核心 packing 不紧密,疏水残基没埋干净,这种再怎么调表达条件也救不回来,只能回炉重新设计。判断方法是看表达后的可溶上清里有没有目标条带,如果完全没有,多半是序列问题。

二类是表达条件太激进,蛋白来不及折叠就被迫大量合成。解法是把温度压到 16℃、诱导剂降到 0.1 到 0.2 mM、延长诱导时间到 20 小时以上。有时候换成自诱导培养基也能改善。

三类是标签位置干扰折叠。N 端标签有时会干扰 N 端结构域的起始折叠,试着换到 C 端,或者加一个短的柔性连接子缓冲一下。

4.2 结构对了但亲和力差一个数量级

先别急着推翻设计,先确认测的是什么。表面等离子共振的芯片偶联密度过高会导致人为的亲和力虚高,密度过低信噪比又不够,一般控制在响应值 50 到 100 RU 之间比较靠谱。

如果数据可靠但亲和力确实弱,问题多半在界面。检查三件事:热点残基之间有没有形成足够的氢键和盐桥、界面中心有没有留下空腔、界面外围的极性残基有没有互相排斥。补救的常见手段是在界面中心补一两个疏水残基填充空腔,或者把外围的带电残基改成中性,减少静电斥力。这些操作可以在计算阶段做一轮定向优化,再挑十几条做实验。

还有一类原因容易被忽略:构象熵罚。界面上的柔性 loop 在结合时会被固定住,这部分熵损失直接从结合自由能里扣。把界面附近的 loop 做刚性化,比如引入一个腈氨酸或者一对可以成盐桥的残基,往往能带来可观的提升。

4.3 骨架和序列都正常,酶活却几乎为零

酶和结合蛋白的评价维度不一样,结构对了不代表能催化。重点排查三处:

第一是活性位点的精确几何。催化残基之间的距离偏差超过 0.5 埃,效率就可能掉一个数量级。用高分辨率结构预测单独看这几个残基,或者干脆做一次晶体结构解析确认。

第二是辅因子结合。很多设计出来的骨架没有考虑辅因子的结合口袋,结果蛋白折得好好的,辅因子根本进不去。这类问题在设计阶段就要把辅因子作为 motif 的一部分纳入约束。

第三是底物通道。活性中心埋在内部是好事,但如果通道太窄,底物进不去、产物出不来,测出来就是没活性。看看口袋开口附近的残基,必要时把一两个大侧链改成小的。

4.4 问题速查表

现象最可能原因优先处理
完全无表达序列毒性、稀有密码子、mRNA 结构换宿主、重新优化密码子
全在包涵体折叠速率跟不上合成速率降温、降诱导剂、延长诱导
分子筛出峰偏大界面疏水导致二聚改界面残基、加盐或提高 pH
热稳定性偏低核心 packing 不足增加核心疏水残基、缩短 loop
结合亲和力弱界面空腔、无氢键网络补疏水填充、引入盐桥
酶活缺失催化几何偏差、辅因子缺失复核位点距离、加辅因子约束
预测分数高但实验失败模型对人工序列过拟合引入独立指标、加大实验样本量

5. 应用场景与现阶段的能力边界

5.1 已经跑通的几个方向

酶工程是目前落地最扎实的方向。天然酶往往在工业条件下不稳定,用设计方法把活性位点移植到更稳定的骨架上,或者对现有酶做局部重设计提升热稳定性和有机溶剂耐受性,这类工作在文献里已经不少见。更激进的玩法是从头设计催化中心,虽然难度大,但已经有针对特定反应的成功案例。

结合蛋白是另一条成熟路线。用设计出来的小蛋白替代抗体做检测或者亲和纯化,优势在于分子量小、成本低、容易在原核系统里表达、批间一致性更好。诊断试剂和生物分离领域对这类东西的需求很实在。

抗原与疫苗相关设计也在快速推进,核心是把不稳定的抗原片段固定在合理构象上,让免疫系统看到想要的表位。这块的难点在于构象表位的精确控制,但方法学上的进展很明显。

蛋白材料听起来远,其实已经有实际产出。设计出来的重复序列可以自组装成纤维、水凝胶或者晶体阵列,用在生物传感和药物递送上。这类应用的容错率反而高一些,因为不要求原子级精度。

5.2 现阶段别指望的事

动态构象和多状态切换。现有方法基本是冲着单一稳定构象去的,设计一个能在两种状态之间切换的开关蛋白,难度高出一个层级。虽然有一些尝试,但成功率和可控性都还不够。

膜蛋白和大型多结构域复合物。膜蛋白的表达纯化本身就是硬骨头,设计出来的膜蛋白更难验证。多结构域蛋白的相对取向控制也是难题,界面预测模型在这上面的准确度明显下降。

翻译后修饰。糖基化、磷酸化这些在真核系统里普遍存在的修饰,目前的设计流程基本没有系统性考虑。要用在真核表达体系里,得额外做不少工作。

体内稳定性与免疫原性。计算阶段几乎不管这些,设计出来的蛋白打进体内可能半衰期很短,或者引发免疫反应。这是从“实验室能用”到“实际能用”之间最大的一道坎。

5.3 给准备入场的团队几句实话

如果你的团队只有计算能力,没有湿实验条件,那这条链路最多做到“高质量候选序列”就断了。这种工作投出去,审稿人第一个问题就是“实验验证在哪里”。反过来,如果只有实验能力没有计算能力,那只能做天然酶的定向进化,虽然也很有价值,但和设计类工作的叙事完全不同。

最现实的做法是两边各出一半人,或者找一个稳定的合作方。计算端负责把候选池做小、做好,实验端负责快速反馈,把失败案例的信息回传。这个反馈环跑得越顺,成功率提升越快。

另外,别把宝押在单一模型上。不同模型的偏好差异很大,同一批骨架用两三个模型交叉评分,取交集,往往比死磕一个模型的阈值更有效。我自己的习惯是至少看两组独立指标,如果两组结论打架,就人工看图决定,不做强行平均。

最后分享一个我觉得很实用的小技巧:把每一轮实验的失败样本也做结构预测。很多失败案例的信息量比成功案例还大——你能看到模型在什么地方判断失误,是界面打分过于乐观,还是疏水暴露被低估。积累几十个这样的案例之后,你会形成自己的过滤阈值,这套经验是任何公开文档里都没有的。