蛋白质不是静态的积木。在真实细胞里,它们像精密的分子机器一样,根据环境信号改变形状、切换功能。一个酶在结合底物后激活,在结合抑制剂后关闭;一个转录因子在感受代谢物后改变DNA结合亲和力 — 这些构象切换是生命调控的核心语言。

然而,过去十年的AI蛋白质设计几乎都聚焦于静态结构:设计一个能结合特定靶点的 binder,或折叠成特定拓扑的 scaffold。能设计"在状态A做X、在状态B做Y"的动态切换蛋白质,一直是领域的圣杯。

SwitchCraft(ICML 2026,Bowen Jing & Mihir Bafna 等人,MIT)正是一个突破这一瓶颈的程序化框架。它通过 Boltz-1 共折叠模型的可微梯度,直接优化氨基酸序列,使其在多个配体状态下展现指定的构象行为。

核心洞察:SwitchCraft 不预测结构再设计序列 — 它将结构预测模型本身作为可微损失函数的"计算引擎",让梯度从"多状态构象差异"直接回传到序列 logits。这是一种将 AF3 级结构模型从"预测器"升级为"设计器"的范式跃迁。

🧠技术原理:从静态设计到多状态优化

Boltz-1 作为可微结构引擎

SwitchCraft 的核心依赖是 Boltz-1(现已支持升级到 Boltz-2),一个 AF3 风格的共折叠结构预测模型。关键在于:Boltz-1 的前向传播是可微的 — 给定一个序列(以连续的 logits 表示)和一组配体,它能输出距离图(distogram)、PAE 矩阵和置信度分数,所有这些输出都可以对输入 logits 求梯度。

这意味着我们可以定义一个多状态损失函数,让 Boltz-1 同时"想象"蛋白质在不同配体条件下的结构,然后通过梯度下降优化序列,使这些想象中的结构满足设计规范。

四阶段退火优化

SwitchCraft 的 MultistateDesigner 类(designer.py:38)实现了一个精心设计的四阶段退火策略:

1

Warmup(预热)

30步迭代,soft=0、hard=0 的纯连续松弛,让 logits 在 Boltz-1 的结构空间中找到大致合理的起始点。此阶段不做离散化,允许梯度自由探索。

2

Exploration(探索)

100步迭代,逐步增加 soft interpolation(e_soft: 0→1),将连续 logits 推向 softmax 概率分布。同时增加优化 binder 位置数(e_num_optimizing_binder_pos: 8),扩大搜索范围。

3

Annealing Down(降温退火)

100步迭代,温度降至 0.01(e_temp=0.01),增加优化位置数到 12。低温下 softmax 趋近 argmax,序列逐渐"凝固"为离散氨基酸。此阶段类似模拟退火的冷却过程。

4

Argmax(离散化)

10步最终迭代,温度和 e_temp 均设为 0.01,优化位置数增至 16。此阶段几乎完全离散化,输出最终的氨基酸序列。梯度通过 straight-through estimator 传递。

每个阶段使用 Gumbel-Softmax 的 straight-through 估计器:前向传播用 argmax(离散),反向传播用 softmax(连续),确保梯度能穿透离散化操作。固定 motif 残基的梯度被掩码为零,保证功能位点不被优化破坏。

组合式损失函数库

SwitchCraft 的灵活性来自其模块化损失函数设计。每个损失类接收 Boltz-1 的 distogram 输出,计算一个可微标量损失。多个损失可以按权重组合,定义任意复杂的多状态设计目标:

MotifLoss
强制 motif 几何结构在指定状态下正确形成。基于 Cβ 距离矩阵的 MSE 损失。
AntiMotifLoss
惩罚 motif 几何结构在指定状态下形成。负权重实现"不该折叠成这个形状"。
LigandContactLoss
促进蛋白质与配体之间的接触。用于确保 holo 状态下配体确实结合。
AntiLigandContactLoss
惩罚蛋白质与配体之间的接触。用于设计"不该结合某配体"的状态。
ConfChangeLoss
最大化两个状态之间的构象差异。基于 Jensen-Shannon 散度比较 distogram 分布。
HelixBiasLoss
偏置序列朝向(或远离)螺旋结构。正强度鼓励螺旋,负强度抑制螺旋。
SheetBiasLoss
偏置序列朝向(或远离)折叠片结构。与 HelixBiasLoss 配合控制二级结构。
ContactLoss
自动添加到所有状态,促进骨架形成良好的三级接触。确保蛋白质可折叠。
RadiusOfGyrationLoss
惩罚过度延伸的构象。基于回转半径与 Flory 定律理论值的 ELU 损失。
SequenceSimilarityLoss
将序列推向目标序列。用于在已知活性序列基础上做变体优化。

YAML 配置即设计规范

SwitchCraft 的设计理念是:设计规范 = YAML 配置文件。用户不需要写代码,只需定义状态(每个状态是配体列表)和损失函数(类型 + 参数 + 权重),框架自动构建优化问题并求解。

# 正别构:配体结合后形成 motif num_states: 2 motifs: - 1prw # PDB motif 文件 states: - [] # state 0: apo — 无配体 - ["ccd:OQO"] # state 1: holo — 配体结合 losses: - type: AntiMotifLoss # apo 状态下惩罚 motif motif: 0 state: 0 - type: MotifLoss # holo 状态下强制 motif motif: 0 state: 1 - type: LigandContactLoss # holo 状态下确保配体接触 state: 1

配体支持多种格式:ccd:CODE(CCD 数据库小分子)、ligand:SMILES(任意 SMILES)、protein:SEQ(蛋白质链)、dna:SEQ(DNA双链)、rna:SEQ(RNA)。这意味着 SwitchCraft 可以处理蛋白质-蛋白质、蛋白质-核酸、蛋白质-小分子等任意组合的多状态设计。

📦五种内置设计范式

SwitchCraft 论文中定义了五种代表性的多状态设计任务,每一种都对应一种重要的生物调控模式:

📋 内置任务一览
任务 状态数 生物学含义
正别构 (pos_allostery) 2 apo 状态无活性,配体结合后形成功能 motif — 类似别构激活酶
负别构 (neg_allostery) 2 apo 状态有活性,配体结合后破坏功能 motif — 类似别构抑制
诱导结合 (induced_binding) 2 靶标配体单独存在时不结合,有效应配体共存在时才结合 — 类似条件性激活
配体辨别 (ligand_discrimination) 3 apo + 两种不同配体 = 三种不同构象 — 类似配体门控离子通道
Motif 切换 (motif_switching) 2 apo 时 motif 1 活跃,holo 时切换到 motif 2 — 类似双功能酶切换

🧬生物医学应用:从传感器到治疗

SwitchCraft 的真正价值不在于设计"漂亮的蛋白质",而在于它能解决生物医学中的动态调控问题。以下是五个高价值应用场景及其技术细节:

🦠

应用一:正别构激活开关(pos_allostery)

SwitchCraft 官方示例 pos_allostery.yaml 展示了最基础的别构激活设计:蛋白质在无配体状态下不形成功能 motif,配体结合后 motif 形成。这模拟了天然别构激活酶的行为 — 如 cAMP 激活 PKA、GTP 激活 G 蛋白。

设计使用 PDB 1prw 作为 motif 模板,CCD 小分子 OQO 作为配体(可替换为任意目标分子的 SMILES)。两个状态的损失函数组合实现了精确的构象控制。

  • 状态定义:State 0 (apo) — 无配体;State 1 (holo) — 配体 ccd:OQO 结合
  • 损失组合:AntiMotifLoss(motif=0, state=0) — apo 下惩罚 motif;MotifLoss(motif=0, state=1) — holo 下强制 motif;LigandContactLoss(state=1) — 确保配体接触
  • Motif 来源:PDB 1prw(放置在 motifs/1prw/ 目录下),定义了目标功能位点的几何形状
  • 配体灵活性:ccd:OQO 替换为 ligand:SMILES 可设计针对任意小分子的别构响应蛋白
  • 验证方式:Boltz-2 的 boltz2_aff.ckpt 可直接预测 holo 状态结合亲和力(ΔG),评估别构切换效率
⚗️

应用二:Motif 切换双功能蛋白(motif_switching)

SwitchCraft 官方示例 motif_switching.yaml 展示了最复杂的多 motif 设计范式:蛋白质在 apo 状态下展示 motif 1,配体结合后切换到 motif 2。这模拟了天然双功能酶的活性切换行为 — 如 E. coli 的 GS-ATase 级联中的双功能调节蛋白。

设计使用两个独立的 motif 模板(motif1motif2),通过四个 MotifLoss/AntiMotifLoss 损失实现精确的 motif 互斥切换,再加上 ConfChangeLoss 最大化状态间构象差异。

  • 状态定义:State 0 (apo) — 无配体,motif 1 活跃;State 1 (holo) — 配体 ccd:OQO 结合,motif 2 活跃
  • 损失组合:MotifLoss(motif1, apo) + AntiMotifLoss(motif1, holo) + AntiMotifLoss(motif2, apo) + MotifLoss(motif2, holo) + ConfChangeLoss([0,1], strength=10) + LigandContactLoss(holo)
  • 双 Motif 机制:apo 状态下 motif 1 形成、motif 2 被抑制;holo 状态下 motif 1 被破坏、motif 2 形成 — 实现完全的构象切换
  • ConfChangeLoss:strength=10 的构象变化损失确保两个状态之间有显著的 distogram 差异(Jensen-Shannon 散度),而非微小的局部调整
  • 应用潜力:双功能蛋白设计、条件性酶活性切换、配体门控的构象重编程
💊

应用三:条件性药物结合蛋白

在精准治疗中,条件性结合蛋白(prodrug activator)可以大幅降低药物副作用:设计一个蛋白质,只在特定效应分子(如肿瘤微环境特有的代谢物)存在时才结合并激活药物前体。

SwitchCraft 的"诱导结合"任务正是为此而生:状态0只有靶标药物(不结合),状态1同时有靶标药物和效应配体(结合),通过 AntiLigandContactLoss + LigandContactLoss 的组合实现"AND 门控"。

  • 设计策略:诱导结合任务 — 靶标配体单独存在时不接触(AntiLigandContactLoss),靶标 + 效应配体共存在时接触(LigandContactLoss)
  • 效应配体选择:肿瘤微环境标志物(如乳酸、低 pH 对应的质子、特定激酶底物)
  • 安全优势:正常组织中效应配体不存在,药物前体不被激活;肿瘤组织中双重条件满足,精准释放活性药物
  • 验证路径:Boltz-2 亲和力预测(boltz2_aff.ckpt)可同时评估两种状态的结合 ΔG,计算选择性窗口
🧪

应用四:配体辨别蛋白质设计

许多疾病涉及结构高度相似的配体需要被区分:例如 ATP vs. GTP、NAD+ vs. NADH、磷酸化 vs. 非磷酸化肽段。设计能精确辨别相似配体的蛋白质是药物发现和诊断的关键挑战。

SwitchCraft 的三状态"配体辨别"任务可以设计一个蛋白质,在 apo、配体1、配体2 三种状态下采取三种不同构象,通过 ConfChangeLoss 最大化两两之间的构象差异。

  • 设计策略:配体辨别任务 — 3个状态(apo + 2种配体),每对状态之间用 ConfChangeLoss 最大化构象差异
  • 配体定义:相似配体对用 SMILES 精确定义,如 ATP ccd:ATP vs. GTP ccd:GTP
  • 诊断应用:设计的蛋白质与不同配体结合后产生不同构象,可通过 FRET 或电化学信号读出配体身份
  • 治疗应用:设计只被致病配体(如突变的磷酸化肽段)激活而不被野生型激活的 therapeutic switch
🔬

应用五:合成信号通路中的分子开关

合成生物学的一个核心目标是构建人工信号传导通路 — 类似天然 MAPK 或 JAK-STAT 通路,但用完全从头设计的组件。这需要能在不同配体间切换构象的蛋白质作为信号中继节点。

SwitchCraft 设计的别构开关蛋白可以作为信号通路中的"逻辑门":上游代谢物结合 → 构象切换 → 暴露/隐藏下游结合位点 → 信号传递或阻断。

  • 设计策略:负别构任务 — apo 状态下下游结合 motif 暴露(MotifLoss),上游信号配体结合后 motif 隐藏(AntiMotifLoss)
  • 通路构建:多个 SwitchCraft 设计的开关蛋白串联,实现多级信号放大和逻辑运算(AND/OR/NOT)
  • 配体类型:支持蛋白质链(protein:SEQ)和核酸(dna:SEQrna:SEQ)作为配体,实现蛋白质-蛋白质、蛋白质-核酸信号通路
  • 工程优势:完全从头设计的组件不与天然通路交叉干扰,实现正交信号网络

🛠️快速上手:官方示例运行指南

SwitchCraft 仓库的 tasks/ 目录提供了五种官方示例 YAML 配置,覆盖了所有核心设计范式。以下展示如何运行这些示例,以及每个示例的关键配置细节。

Quick Start

安装与运行

# 安装 SwitchCraft # 需要 Python ≥ 3.10, PyTorch ≥ 2.0, CUDA ≥ 12.1 git clone https://github.com/bjing2016/switchcraft.git cd switchcraft pip install -e . # 下载 Boltz-1 权重(首次运行自动下载) # 或手动放置到 ~/.boltz/boltz1_conf.ckpt # 运行正别构示例 python switchcraft.py tasks/pos_allostery.yaml \ --num_designs 3 \ --output_dir outputs/pos_allostery \ --device cuda:0

执行流程:

  • YAML 解析:框架读取配置文件,解析 states(配体列表)、motifs(PDB 模板)、losses(损失函数组合)
  • Boltz 初始化:加载 Boltz-1 权重(~/.boltz/boltz1_conf.ckpt),构建 MultistateDesigner 对象
  • 梯度优化:4 阶段退火 — 高温探索 → 中温收敛 → 低温精调 → 序列固化,每阶段 Boltz-1 前向+反向传播
  • LigandMPNN 重设计(可选):对每个设计的骨架运行 LigandMPNN 生成候选序列,增加序列多样性
  • 结构验证:用 Boltz-1 对最终序列进行独立结构预测,评估各状态的 pTM、ipTM、PAE
Official Example

负别构(neg_allostery)— 配体结合破坏功能位点

与正别构相反:apo 状态下 motif 形成(功能活跃),配体结合后 motif 被破坏(功能关闭)。这模拟了天然别构抑制 — 如 GDP 抑制 G 蛋白、ATP 抑制 PKA。

# neg_allostery.yaml — 别构抑制设计 num_states: 2 motifs: - 1prw # PDB motif 模板 states: - [] # state 0: apo — motif 活跃 - ["ccd:OQO"] # state 1: holo — 配体结合 losses: - type: MotifLoss # apo: 强制 motif motif: 0 state: 0 - type: AntiMotifLoss # holo: 破坏 motif motif: 0 state: 1 - type: LigandContactLoss # holo: 确保配体接触 state: 1
Official Example

诱导结合(induced_binding)— 双配体 AND 门控

靶标配体单独存在时不结合,需要效应配体同时存在才结合 — 这是条件性结合的 AND 逻辑门。无 motif,纯靠配体接触损失控制。

# induced_binding.yaml — 条件性结合设计 num_states: 2 motifs: [] length: 100 # 无 motif 时需指定骨架长度 states: - ["ccd:OQO"] # state 0: 仅靶标配体 — 不结合 - ["ccd:OQO", "ccd:FAD"] # state 1: 靶标+效应 — 结合 losses: - type: AntiLigandContactLoss # state 0: 惩罚靶标接触 state: 0 strength: 10 - type: LigandContactLoss # state 1: 强制靶标接触 state: 1
Official Example

配体辨别(ligand_discrimination)— 三状态构象分离

三状态设计:apo、配体1、配体2 各自采取不同构象。通过三对 ConfChangeLoss 最大化所有状态对之间的构象差异,实现配体门控的构象切换。

# ligand_discrimination.yaml — 配体辨别设计 num_states: 3 motifs: [] length: 100 states: - [] # state 0: apo - ["ccd:OQO"] # state 1: 配体 1 - ["ccd:FAD"] # state 2: 配体 2 losses: - type: LigandContactLoss # 配体 1 接触 state: 1 - type: LigandContactLoss # 配体 2 接触 state: 2 - type: ConfChangeLoss # apo vs 配体1 构象差异 state: [0, 1] strength: 10 - type: ConfChangeLoss # apo vs 配体2 构象差异 state: [0, 2] strength: 10 - type: ConfChangeLoss # 配体1 vs 配体2 构象差异 state: [1, 2] strength: 10
5
官方示例
2-3
状态数/设计
100
默认骨架长度
4
退火阶段
MIT
开源许可证
10
损失函数类型

⚙️技术细节与工程实践

序列表示与梯度传递

SwitchCraft 不直接优化离散的氨基酸序列,而是优化一个 [L × 33] 的连续 logits 矩阵(L = 序列长度,33 = 扩展字母表含特殊字符)。通过 Gumbel-Softmax 的 straight-through 估计器,前向传播取 argmax 得到离散序列,反向传播用 softmax 概率传递梯度。

固定 motif 残基通过 fixed_mask 掩码(designer.py:455-460):前向时用 motif 原始序列的 one-hot 替换,反向时将对应位置梯度置零。这确保功能位点在优化过程中不被破坏。Motif 的加载从 PDB 文件中的 REMARK 999 记录解析,提取 CB 原子坐标作为 motif 参考结构(motif.py:12-48)。

Boltz-1 前向调用细节

在每一步优化中,SwitchCraft 对每个状态分别构建 Boltz-1 batch:将当前序列的 pseudo-logits 注入 res_type 字段,配体信息通过 parse_boltz_schema 解析为标准 Boltz 输入格式(designer.py:289-310)。然后调用 boltz_model.get_distogram(batch) 获取距离图预测(designer.py:315)— 这是整个框架的计算瓶颈。

关键优化:优化阶段只调用 distogram head(不跑完整 diffusion),大幅降低计算成本。最终结构验证阶段才运行完整 diffusion(200步采样 × 5个样本),确保输出质量。

Boltz-2 升级带来的新能力

⚡ Boltz-1 vs Boltz-2 对比
特性 Boltz-1 Boltz-2
结构精度 (CAMEO TM-score) 基线 +12%
配体 pose 精度 (DockQ) 基线 +18%
亲和力预测 不支持 支持 (boltz2_aff.ckpt)
多配体支持 有限 完整支持
无 MSA 单序列模式 需 patch 原生支持

Boltz-2 的亲和力预测能力对 SwitchCraft 尤其重要:设计完成后可以直接预测 holo 状态的配体结合 ΔG,无需额外运行分子对接。这使得设计-评估闭环完全在同一个框架内完成。

LigandMPNN 序列重设计

SwitchCraft 优化输出的序列可能包含不自然的氨基酸组合。通过集成的 LigandMPNN(配体感知的逆折叠模型),可以在保持骨架结构的前提下重新设计序列,使其更可能实际表达和折叠。SwitchCraft 的 perform_tied_lmpnn_redesign 函数(lmpnn.py:25-82)实现了"绑定"模式:固定 motif 残基,只重设计 scaffold 区域,并用 Boltz 重新预测结构验证。该函数的完整流程为:(1) 从优化后的 logits 取 argmax 得到序列 → (2) 从 Boltz 预测中提取骨架坐标 → (3) 构造 LigandMPNN 输入(序列、坐标、配体位置)→ (4) 运行 LigandMPNN 采样(温度 0.1)→ (5) 用新序列重新运行 Boltz 验证结构保持。

🔧架构全景:从 YAML 到结构输出

通过 codemap 追踪,SwitchCraft 的完整流程可以清晰地分为八个阶段,从 YAML 配置加载到最终结构输出。以下是每个阶段的精确代码位置和关键操作。

阶段 1-2:CLI 入口与配置解析

# cli.py:16-38 → designer.py:38-95 # CLI 入口 def main(): config = yaml.safe_load(open(args.config)) # 加载 YAML designer = MultistateDesigner(config) # 初始化 designer.run() # 运行优化 # designer.py:38-95 — MultistateDesigner.__init__ def __init__(self, config): self.parse_config(config) # 解析任务配置 self.load_motif() # 加载 motif PDB self.setup_states() # 构建多状态 batch self.setup_losses() # 初始化损失函数 self.init_logits() # 初始化序列 logits

阶段 3-4:多状态 Batch 构建与损失函数

每个状态(apo/holo)的 batch 构建是 SwitchCraft 的核心工程。setup_states()designer.py:120-180)为每个状态创建独立的 Boltz 输入字典:

# designer.py:120-180 — setup_states for state_config in self.config['states']: # 1. 解析配体 schema ligands = parse_boltz_schema(state_config['ligands']) # 2. 构造 BoltzTokenizer 输入 tokenized = BoltzTokenizer( sequence=template_seq, ligands=ligands, templates=motif_coords) # 3. BoltzFeaturizer 生成特征字典 batch = BoltzFeaturizer(tokenized) # batch 包含: res_type, residue_index, ligand_features, # coord, template_features, mask 等 self.state_batches.append(batch)

损失函数的组装在 setup_losses()designer.py:182-220)中完成。每个损失项绑定到特定状态,例如 MotifLoss(state=1) 只在 holo 状态的 distogram 上计算 motif 区域的 RMSD。

阶段 5-6:梯度优化循环

# designer.py:250-420 — optimize_loop for phase in range(num_phases): # 4 个退火阶段 for step in range(steps_per_phase): total_loss = 0 for state_idx, batch in enumerate(self.state_batches): # 1. 注入当前 logits 到 batch batch['res_type'] = self.logits # line 289 # 2. Boltz 前向:获取 distogram distogram = model.get_distogram(batch) # line 315 # 3. 计算该状态的所有损失 for loss_fn in self.losses[state_idx]: total_loss += loss_fn(distogram, batch) # 4. 反向传播 + 更新 logits total_loss.backward() # line 380 optimizer.step() # line 385 # 5. 应用 fixed_mask 保护 motif self.logits = apply_fixed_mask(self.logits) # line 390

阶段 7-8:LigandMPNN 重设计与最终结构生成

# lmpnn.py:25-82 → structure.py:10-45 # 1. LigandMPNN 重设计 refined_seq = perform_tied_lmpnn_redesign( logits=self.logits, # 优化后的 logits coords=predicted_coords, # Boltz 预测的骨架 ligand_positions=ligand_atoms, # 配体原子坐标 fixed_mask=self.fixed_mask, # motif 固定掩码 temperature=0.1 # 低温采样 ) # 2. 最终 Boltz 预测验证 final_batch = build_batch(refined_seq, ligands) final_structure = model.predict(final_batch) # 完整结构预测 # 3. 输出: PDB 文件 + 指标 write_pdb(final_structure, output_path) # structure.py:35 write_metrics(losses, confidence, output_path) # structure.py:42
📊 完整流水线概览
阶段 代码位置 关键操作 输出
1. CLI 入口 cli.py:16-38 加载 YAML 配置 config dict
2. Designer 初始化 designer.py:38-95 解析配置、加载 motif、构建状态 MultistateDesigner 实例
3. Batch 构建 designer.py:120-180 BoltzTokenizer → BoltzFeaturizer per-state batch dicts
4. 损失组装 designer.py:182-220 绑定损失函数到状态 loss_fn 列表
5. 梯度优化 designer.py:250-420 4 阶段退火 + Boltz 前向 + 反向 优化后 logits
6. Motif 保护 designer.py:455-460 fixed_mask 掩码应用 受保护的 logits
7. LigandMPNN lmpnn.py:25-82 配体感知序列重设计 refined_seq
8. 最终预测 structure.py:10-45 Boltz 完整结构预测 + PDB 输出 PDB + metrics

整个流水线的计算瓶颈在阶段 5:每步优化需要对每个状态做一次 Boltz 前向。对于 2 状态设计 × 200 步优化 = 400 次 Boltz 前向。在单张 A100 上,每次前向约 30-60 秒,总优化时间约 3-7 小时。

🔭局限与未来方向

SwitchCraft 是一个计算框架,论文明确指出它尚未提供端到端的湿实验验证流程。以下是需要注意的关键局限:

未来最有前景的发展方向包括:(1) 将 Boltz-2 亲和力预测纳入优化损失函数,直接优化结合选择性;(2) 整合分子动力学模拟验证构象切换的动力学可行性;(3) 扩展到蛋白质-蛋白质相互作用界面的多状态设计;(4) 结合高通量湿实验平台(如酵母展示)实现设计-验证闭环。

🔑 关键要点

  1. 范式跃迁:SwitchCraft 将 AF3 级结构预测模型(Boltz-1/2)从"预测器"升级为"设计器",通过可微梯度直接优化多状态构象行为,填补了动态蛋白质设计的方法空白
  2. 组合式设计:10种模块化损失函数 + YAML 配置 = 任意复杂的多状态设计规范。五种内置任务覆盖了别构激活/抑制、条件性结合、配体辨别、motif 切换等核心生物调控模式
  3. 生物医学价值:在别构生物传感器、代谢工程酶开关、条件性药物激活、配体辨别诊断、合成信号通路五个方向具有明确的应用路径和技术细节
  4. 工程可行性:50残基设计在单块 A100 上约40分钟完成,LigandMPNN 重设计增加序列多样性,Boltz-2 亲和力预测实现设计-评估闭环
  5. 开源可复现:MIT 许可证,基于 Boltz-1 + LigandMPNN 开源项目,YAML 配置即设计规范,降低了动态蛋白质设计的技术门槛