当前位置: 首页 > news >正文

别再只做生成后筛选了,ProteinGuide 正在把蛋白生成推向“目标感知采样”

导语

在蛋白设计和抗体工程项目中,我们现在已经不太缺“能生成序列”的模型。ProteinMPNN 可以基于骨架做反向设计,ESM3 / ESMC 这类蛋白语言模型可以在序列空间中补全、改写和生成,扩散模型和 flow matching 模型也开始进入蛋白结构与序列联合生成流程。

真正困难的是另一件事:企业研发并不需要一批“看起来像蛋白”的序列,而是需要一批在真实任务中更可能成功的候选分子

比如,酶工程里希望活性更高但稳定性不掉,抗体工程里希望亲和力提升但可开发性风险不升高,人源化项目里希望 humanness 提高但 CDR 构象和结合能力尽量保持。这些目标很少是单一指标,也很少完全一致。更多时候,它们彼此拉扯:一个性质被优化,另一个性质就可能变差。

针对这个问题,业界做了两种尝试。第一种是生成后筛选,也就是先从预训练模型独立采样,再由预测器排序。该方法实现简单,但效率由目标序列在原始生成分布中的出现概率决定。第二种是模型微调,即使用高性能或目标家族序列继续训练生成模型,可以使模型更聚焦于目标数据附近,但其统计结果不如贝叶斯条件化清晰。小规模实验数据还可能覆盖预训练模型从大规模数据中学到的通用知识,出现遗忘,同时,微调往往将分布集中在训练样本附近,因此适合插值,却未必适合超越训练数据的外推任务。

ProteinGuide 和很多“端到端训练一个更强生成模型”的工作不一样,它的解决思路是:能不能不重新训练大模型,只在采样阶段把新的性质预测器接进去,让已有生成模型朝目标性质偏移?具体的核心思想是:预训练生成模型负责“像不像蛋白”,性质预测器负责“是否满足当前任务目标”,两者不是简单串联筛选,而是在采样过程中被统计意义上地融合起来。论文将这种方法称为一种 on-the-fly conditioning,即在不重新训练生成模型的前提下,对生成过程进行即插即用式引导。

文献速递

项目内容
工作名称ProteinGuide: On-the-fly property guidance for protein sequence generative models / Nature Biotechnology 版本题名为 Property guidance for protein sequence generative models with ProteinGuide
核心问题如何在不重新训练生成模型的情况下,把实验数据、性质预测器或任务约束接入蛋白生成采样
适配模型论文强调可适配 masked language models、order-agnostic autoregressive models、diffusion models 和 flow matching models,例如 ESM3、ProteinMPNN、MultiFlow 等模型类型
代表任务稳定性、活性、CATH fold 生成,以及两个相互 tension 的性质联合优化
实验验证作者在 adenine base editor 场景中结合 wet-lab 数据进行引导设计;公开摘要称单轮 ProteinGuide 使用一个 2,000 variants 的 pooled library 数据,实现了优于此前七轮 directed evolution 的编辑效率结果
工具实现作者公开了实验代码,并发布 ProteinGen Python package,用于组织 ProteinGuide 与生成模型、预测模型和 library design workflow 的组合使用

5分钟速览

研究任务

这项工作要解决的是:如何在不重新训练大型蛋白生成模型的情况下,把新获得的序列—实验性质数据加入生成过程,使模型更倾向于提出满足稳定性、活性、功能类别或多目标要求的蛋白序列。

核心方法

ProteinGuide将预训练生成模型提供的蛋白合理性先验,与性质预测器提供的目标性质似然,通过贝叶斯条件化在采样阶段结合。它同时建立了掩码扩散、流匹配、生成式掩码语言模型和任意顺序自回归模型之间的训练与采样联系,使同一套指导思想能够应用于ESM3、ProteinMPNN和MultiFlow等不同模型。

主要输入

系统需要一个预训练蛋白生成模型、一组序列—性质实验数据,以及由这些数据训练出的分类或回归预测器。根据任务不同,还可以加入固定蛋白骨架、蛋白家族、功能类别、允许设计的位点和目标性质阈值。

主要输出

输出是一组经过性质引导的候选蛋白序列。候选通常还需要附带性质得分、达到目标阈值的概率、结构一致性、与实验数据的距离、多样性和新颖性,用于后续计算复核与实验筛选。

关键结果

作者在稳定性插值、功能类别生成、单性质外推、多性质Pareto优化和腺嘌呤碱基编辑器湿实验中验证了ProteinGuide。结果说明,指导采样在目标序列较为稀少时,能够比单纯后筛选或微调更有效地重新分配生成概率,但这一优势取决于性质预测器的可靠性。

ProteinGuide 解决的不是“生成模型能力”,而是“生成模型如何被任务目标临时改写”

如果从算法位置上看,ProteinGuide 位于生成模型和实验验证之间。

传统流程一般是这样的:先用生成模型产生大量序列,再用性质预测模型、结构预测模型、可开发性规则和人工经验层层过滤。这个流程能用,但它有一个明显问题:性质模型只是在最后“筛掉不好的结果”,并没有参与“结果是怎么生成出来的”。

这就像在一个巨大序列空间里随机撒网,然后再挑鱼。筛选越严格,留下来的序列越少;如果生成模型本身没有朝目标性质方向偏移,那么后端过滤会很低效。

ProteinGuide 的思路不是把性质预测器放在生成之后,而是把它放进采样过程之中。生成模型每一步要决定当前位置生成哪个氨基酸时,不再只看“这个氨基酸在自然蛋白分布中是否合理”,还要看“这个氨基酸是否让目标性质更可能满足”。

用更直观的话说,ProteinGuide 不是在生成之后给序列打分,而是在生成过程中不断问一个问题:

如果当前位置填成这个氨基酸,整条序列更像一个满足目标性质的蛋白,还是更不像?

这就是 ProteinGuide 最值得公众号读者理解的地方。它不是一个新的 predictor,也不是一个新的 ProteinMPNN,而是一种把 predictor 接入 generator sampling 的方法。

模型到底是如何采样的?

可以把 ProteinGuide 的采样理解成三层逻辑。

第一层是生成模型自己的分布。对于 ProteinMPNN 来说,这个分布来自结构条件下的反向折叠设计;对于 ESM3 / ESMC 这类 masked language model 来说,它来自“给定上下文后预测被 mask 位置氨基酸”的能力;对于 diffusion 或 flow matching 模型来说,它来自从噪声状态逐步去噪到完整序列的过程。论文的关键抽象是:这些看起来不同的生成模型,都可以被放到一个离散状态空间的生成 / 去噪 / 补全过程中理解。

第二层是性质预测器。这个 predictor 接收一条完整或部分填充的序列,输出某个性质是否满足目标。例如稳定性是否超过阈值,活性是否进入高活性区间,或者某个 fold label 是否属于目标类别。在企业落地里,这个 predictor 可以来自公开数据训练,也可以来自内部实验数据训练,还可以来自每一轮 DBTL 中新获得的实验反馈。

第三层是引导后的采样分布。ProteinGuide 的目标不是从原始生成模型的分布中采样,而是从一个被性质条件约束后的分布中采样。抽象表达就是:

目标采样分布 ∝ 生成模型的蛋白先验 × 性质预测器给出的目标满足概率

换句话说,生成模型告诉我们“哪些序列像合理蛋白”,性质预测器告诉我们“哪些序列更可能满足任务目标”。ProteinGuide 在每一步采样时,把这两类信息融合到 token 概率里。

在实现上,可以把这个过程想象成“guided logits”。原始生成模型会给每个候选氨基酸一个 logit 或 log probability;ProteinGuide 额外计算这个候选氨基酸对目标性质的贡献,然后把性质贡献作为引导项加进去。最后,采样器不是从原始 logits 里抽样,而是从被引导修正后的 logits 里抽样。

这里有两种常见实现路径。

一种是 TAG,也就是 Taylor-Approximate Guidance。它用性质预测器 log probability 的一阶 Taylor 近似来估计每个位置、每个氨基酸变化对目标性质的影响。它的优点是效率较高,因为每一步通常只需要一次 backward;但它依赖梯度质量,因此更适合小型可微 predictor、梯度稳定的模型,以及不会严重梯度饱和的目标函数。ProteinGen 文档中也明确提示,TAG 使用 predictor log-prob 的一阶 Taylor expansion,每个采样步做一次 backward。

另一种是 DEG,也就是 Discrete Enumeration Guidance。它不强依赖梯度,而是枚举当前位置所有可能的氨基酸候选,分别看这些候选对性质预测器输出的影响,再进行重加权。它更稳健,尤其适合不太信任梯度大小、predictor sigmoid 过陡、或者 frozen language model probe 梯度传播不可靠的场景;代价是计算更贵,因为需要对候选 token 做更多 forward。ProteinGen 文档对 DEG 的描述也很直接:它枚举每个位置的 vocabulary token 并进行重加权,更依赖 predictor 的排序可靠性而非梯度幅度。

这背后的工程含义非常重要:企业端不应该只问“能不能接 predictor”,而应该问“我的 predictor 适合用 TAG 还是 DEG”。如果 predictor 是一个简单、可微、校准良好的模型,TAG 可能更高效;如果 predictor 本身噪声较大,或者梯度并不可信,DEG 往往更稳妥,尤其是在早期实验数据量有限的蛋白工程项目中。

双性质引导:不是把两个分数简单相加

ProteinGuide 另一个值得重点写的地方,是它面对两个互相 tension 的性质时,不是简单做一个“综合分”。

在真实研发里,双性质目标很常见。比如酶设计希望 activity 高、stability 也高;抗体设计希望 binding 更强、aggregation 风险更低;人源化设计希望 humanness 提高、亲本结合构象保持;pH 依赖性设计希望一个 pH 条件下结合增强,另一个 pH 条件下结合减弱。

最容易犯的错误,是把两个 predictor 输出直接线性相加:

score = a × property_1 + b × property_2

这种做法工程上简单,但问题很多。不同性质的量纲不同,分数分布不同,噪声水平不同,实验置信度也不同。一个 predictor 分数看起来提升 0.1,未必等价于另一个 predictor 分数提升 0.1。更麻烦的是,当两个性质冲突时,简单加权很容易得到一个看似总分不错、但任何单项都不真正满足实验要求的“折中伪优解”。

ProteinGuide 的更合理理解是:把每个性质都转化为“是否落入目标区域”的概率或 log probability,然后在条件分布层面进行组合。也就是说,目标不是“分数越高越好”,而是“序列同时满足多个性质约束的概率更高”。

例如双性质目标可以写成:

目标采样分布 ∝ 生成模型先验 × P(性质 A 满足目标 | 序列) × P(性质 B 满足目标 | 序列)

取 log 之后,就变成生成模型项加上性质 A 的引导项,再加上性质 B 的引导项。这样看,双性质引导并不是把两个评价指标硬拼在一起,而是把“目标是否满足”转化成采样分布的条件。

这也是它在企业端有价值的地方。企业不是为了追求 predictor 分数最大化,而是为了提高候选分子进入实验验证后满足项目门槛的概率。门槛可以是 activity > 某个阈值,Tm 不低于某个水平,表达量不低于某个水平,humanness 达到一定区间,或者 aggregation patch 不超过某个风险等级。

当然,这里也要保持克制。双性质引导不是自动解决多目标优化的万能钥匙。两个 predictor 的误差会叠加;一个性质模型的系统性偏差可能把采样过程带偏;如果两个性质真的高度冲突,引导强度过高还可能造成序列多样性下降,甚至出现 reward hacking。论文证明了 ProteinGuide 可以处理 tension properties,但企业落地时仍然需要把它放进一整套“预测—采样—过滤—实验—再训练”的闭环中,而不是把它当成一次性生成神器。

它和现有“引导生成”到底有什么不同?

为了避免把 ProteinGuide 写成又一个“生成模型 + 打分模型”的故事,可以从四个对比角度理解它。

第一,它不同于普通的后筛选。后筛选是先生成,再打分,再过滤;ProteinGuide 是在采样过程中改变生成概率。后筛选只能被动淘汰,ProteinGuide 则主动改变搜索方向。

第二,它不同于重新训练或微调生成模型。很多条件生成方法需要对生成模型进行 fine-tuning、RL、DPO 或条件训练。这当然可能有效,但企业端成本高:大模型训练贵,数据格式要求高,模型版本管理复杂,而且每换一个性质目标都可能需要重新训练。ProteinGuide 的主张是 plug-and-play:生成模型不动,新增的是性质预测器和采样引导逻辑。论文也明确强调它希望避免重新训练已有生成模型,而是在采样时用辅助模型调制生成过程。

第三,它比单一模型类别的 guidance 更通用。过去很多 guidance 工作绑定在某类 diffusion 模型、某种隐空间梯度或某个特定生成框架上。例如 guided discrete diffusion 方向会把生成模型和判别模型结合起来,让生成模型提供合理序列,判别模型推动高 fitness 搜索;NOS 这类方法则沿着 denoising network hidden states 的梯度进行序列空间设计。 ProteinGuide 的野心更偏“统一接口”:把 masked language model、order-agnostic autoregressive model、diffusion model 和 flow matching model 放到统一统计视角下,让 predictor guidance 可以更广泛地套到不同生成模型上。

第四,它更适合和实验闭环结合。企业端最重要的数据往往不是公开数据库,而是自己项目中刚测出来的一小批活性、表达、稳定性、结合或功能数据。ProteinGuide 的价值在于,它允许这批实验反馈被快速训练成 predictor,然后直接接入下一轮 sampling,而不是等待重新训练一个完整生成模型。这一点对 DBTL 闭环非常关键:Design 不是一次性设计,Build-Test-Learn 也不是做完实验再人工挑选,而是让新实验数据尽快改变下一轮生成分布。

所以,ProteinGuide 的定位可以总结为一句话:

它不是替代 ProteinMPNN、ESM3 或 diffusion model,而是给这些模型加了一个性质引导采样层。

从抗体研发角度看,ProteinGuide 最适合放在哪里?

如果把这个方法映射到抗体研发流程,最自然的应用不是完全 de novo 生成抗体,而是“在已有候选分子附近做目标性质引导优化”。

例如,在人源化任务中,生成模型可以负责产生更像人源抗体 repertoire 的 FR 方案,性质 predictor 可以负责 humanness、nativeness、回复突变风险或结构保持风险。此时引导目标不是“越人源越好”,而是“在人源性提升的同时,尽量不破坏 CDR 构象、Vernier 区域和 VH/VL interface”。

在亲和力成熟任务中,生成模型可以围绕 CDR 或界面位点提出突变,predictor 可以来自 binding enrichment、SPR/BLI 数据、结构界面打分或深度突变扫描数据。ProteinGuide 的采样层可以让模型少生成那些“看起来合理但不支持结合提升”的突变组合。

在可开发性优化任务中,可以把 aggregation、solubility、PTM、pI、charge patch、humanness 等指标作为多个性质约束。但这里要格外谨慎:可开发性指标之间并不总是同向,且很多 predictor 更接近风险提示而非定量真值。因此更适合把它们作为分层过滤和软约束,而不是全部作为强引导项一次性塞进采样。

在 pH 依赖性抗体设计中,双性质引导会更有想象力。理想目标不是“结合力最高”,而是两个状态之间的差异最大:pH 6.0 下结合概率高,pH 7.4 下结合概率低。这类任务天然就是双状态、多性质问题。ProteinGuide 的思想可以启发我们把不同状态下的 predictor 分别建模,再把“状态差异”转化为采样引导信号。不过,这也要求企业有足够可靠的双 pH 实验数据或高可信计算标签,否则 predictor 的不确定性会被引导过程放大。

企业端真要落地,不能从模型开始,而要从“性质定义”和“数据闭环”开始

如果企业想把 ProteinGuide 这类方法用于真实项目,第一步不是部署代码,而是定义清楚任务中的 property 到底是什么。

很多团队会说“我们要优化 developability”,但 developability 不是一个单一标签。它可能包括表达量、热稳定性、聚集风险、黏度、pI、charge patch、PTM、免疫原性、人源性、非特异性结合等多个层面。每个性质的数据来源、实验噪声、适用范围和业务门槛都不同。如果没有把性质拆开,ProteinGuide 只会变成一个把模糊目标包装成数学公式的工具。

第二步是准备可以训练 predictor 的数据。这里至少需要三类数据:一类是序列或结构输入,一类是实验测量标签,一类是负样本或低活性样本。只有正样本而没有失败样本,很难训练出能指导采样的 predictor。对于抗体项目,还需要记录链型、编号体系、CDR/FR 划分、亲本来源、突变位置、表达体系、实验批次和 assay 条件,否则模型学到的可能是实验批次偏差,而不是分子性质规律。

第三步是训练两个层次的 predictor。一个是用于指导采样的 noisy predictor,它需要能处理部分 mask、局部突变或生成中间态;另一个是相对独立的 oracle / evaluator,用于评价生成结果是否真的可能满足目标。ProteinGen 文档中也建议训练用于 evaluation 的 oracle,以及在 masked inputs 上训练的 noisy classifier,并验证两者在 clean sequences 上的一致性。

第四步是选择生成模型和引导策略。固定骨架反向设计可以从 ProteinMPNN 类模型开始;序列补全、局部改造或蛋白语言模型采样可以从 ESMC / ESM3 类模型开始;涉及结构 token 或 backbone generation 时,再考虑 diffusion / flow matching 框架。引导策略上,数据少、predictor 噪声大、梯度不可信时,DEG 可能更稳;predictor 较小、可微且校准较好时,TAG 更高效。

第五步是建立候选库设计规则。企业不能把所有位点都交给模型自由生成。抗体项目尤其需要设置 protected positions、CDR/FR 边界、Vernier 位点、界面残基、motif 黑名单、糖基化位点、Cys 风险、序列相似度上限、最大突变数和多样性约束。ProteinGuide 改变的是采样方向,但不替代分子工程中的硬约束。

第六步是把 in silico evaluation 和 wet-lab validation 接起来。生成序列需要经过结构预测、稳定性评估、聚集风险、人源性、免疫原性、表达风险、结合界面合理性等多层评价。最终进入实验的不是分数最高的一条,而应该是一组覆盖不同突变模式、不同风险类型、不同机制假设的候选库。实验结果再回流训练 predictor,形成下一轮 guided sampling。

企业真正需要建设的不是一个“ProteinGuide 脚本”,而是一套闭环系统:

实验数据 → 性质定义 → predictor 训练与校准 → 生成模型采样引导 → 候选库设计 → 多维计算评价 → 实验验证 → 数据回流与下一轮采样

这套系统一旦建立,ProteinGuide 的价值才会显现。否则,它很容易变成另一个“跑得通 demo,但进不了项目决策”的模型工具。

落地时最容易踩的坑

第一个坑是 predictor 不可靠。ProteinGuide 的引导质量上限,首先由 predictor 决定。如果 predictor 只在某个蛋白家族、某个突变范围、某种实验体系中有效,那么 guided sampling 一旦走出适用域,就会生成高分但不可实验复现的候选。

第二个坑是把模型分数当成实验真值。很多性质预测器输出的是概率、排序或风险提示,不是物理真值。尤其在抗体 developability 中,pI、charge、patch、aggregation、humanness 等指标需要综合解释,而不是把某个分数最大化。

第三个坑是引导过强。引导强度太高时,模型可能牺牲自然性、多样性或结构合理性,过度追逐 predictor 的漏洞。这个问题在所有 model-guided design 中都存在,本质上是 reward hacking。解决办法不是完全不用 guidance,而是设置温度、权重、约束、多样性采样和独立 evaluator。

第四个坑是双性质目标没有校准。两个 predictor 的分数如果没有统一成“目标满足概率”或明确阈值,简单相加会制造虚假的综合分。企业端应该优先定义实验门槛,而不是追求抽象分数最大化。

第五个坑是没有实验闭环。ProteinGuide 最适合用在 DBTL 中,而不是一次性生成最终答案。没有实验回流,模型无法知道自己上一轮采样到底偏到哪里,也无法持续修正 predictor 的适用域。

ProteinGuide 的产业价值,是把“生成模型”变成“可被项目目标牵引的采样器”

ProteinGuide 最值得关注的地方,不是它证明了 AI 可以生成更好的蛋白序列,而是它把蛋白生成问题重新表述为一个更接近研发现实的问题:

我们已经有很多强大的生成模型,也有越来越多项目内实验数据。关键是如何把这些实验数据转化为下一轮生成的方向。

在这个意义上,ProteinGuide 的价值不是取代现有模型,而是补上了生成模型和性质目标之间的接口层。生成模型负责保持蛋白空间的合理性,性质预测器负责注入当前项目的目标偏好,采样算法负责把两者合并成一个可执行的候选库设计过程。

对于企业端来说,这类方法的落地重点也不应该是“复现论文结果”,而应该是回答四个更实际的问题:

我们有没有足够清晰的性质定义?

我们有没有能训练 predictor 的实验数据?

我们的 predictor 是否经过适用域和不确定性验证?

我们的采样结果是否能进入真实 DBTL 闭环?

只有这些问题回答清楚,ProteinGuide 才不是一个漂亮的算法概念,而会变成蛋白工程和抗体设计中真正可用的一层生成式设计基础设施。

http://www.jsqmd.com/news/1384793/

相关文章:

  • SPT-AKI 存档编辑器使用手记:从一个坏档开始,我花了三个月把它变成日常工具
  • 2026年8月中山漏水维修最全解答!雨季残留受潮、暴雨渗水、墙体返碱发霉怎么修? - 宅安选房屋修缮
  • CnOpenDataA股上市公司股吧文本统计数据
  • 路由注册:RouterGroup(routergroup.go)
  • STM32H7实现任意点数FFT:混合基算法详解与性能优化
  • Sunshine游戏串流:构建高性能自托管游戏服务器的终极指南
  • 2026北京遗产继承律师事务所8家梳理:选择标准、避坑指南及**律所推荐 - U渠道
  • Python 3.8纯净安装与配置全攻略:从下载到环境隔离的完整实践
  • 链表数据结构详解:从原理到实战应用
  • 如何快速掌握AMD Ryzen处理器深度调试:专业工具完整使用指南
  • Anaconda 2023安装与Conda环境管理全攻略:从零搭建Python开发环境
  • 2026年AI论文写作神器推荐,一键解决论文结构与内容问题
  • 2026 年武汉打孔拆除化粪池清理居家商用都能做吗 - LYL仔仔
  • 【河北工业大学支持 | 厦门举办】第二届城市环境污染监测与修复国际学术会议(UEPMR 2026)
  • iPhone HEIF照片Windows打不开?揭秘这款免费开源工具的完整查看与转换方案
  • 软考系统架构师论文真题解析与高分写作指南(2009-2024)
  • 介电特性、耐CAF与环境可靠性不同工况下真实表现
  • Windows 与 Office 激活工具免费方案:KMS_VL_ALL_AIO 脚本从入门到玩明白
  • 电视唱歌软件TV版功能介绍,客厅KTV安装包下载
  • Obsidian手写笔记插件终极指南:如何在数字笔记中实现完美的手写体验
  • 2026北京房产继承律师筛选指南:10家北京遗产律所盘点与合作避坑全攻略 - 行业观察网
  • 终极XOutput指南:让老旧游戏手柄在现代游戏中完美兼容
  • 微信单向好友检测工具 WechatRealFriends:如何找出删掉或拉黑你的人
  • 遥感影像数据管理方案测评:Oracle GeoRaster、PostGIS、数简影像基础平台横向对比
  • 用Python实现量化策略过拟合检测从样本内外到WalkForward全流程
  • 色差ΔE详解:从色彩科学到工业应用的全方位指南
  • OpenChamber:基于代理的开发环境管理框架,解决配置碎片化与状态漂移
  • 从零实现Transformer:PyTorch实战自注意力、位置编码与完整模型构建
  • PCB板材成本、交期、工艺适配,工程量产落地-教你选择
  • 网络协议分析实战:从抓包到深度解析全流程