360

PROTAC Linker 设计:连接子如何影响降解效率

PROTAC 连接子的微小改变可能让降解效率相差百倍。这篇讲清连接子的三个设计维度、经验规律与优化策略。

在 PROTAC 开发中,连接子往往是决定成败的变量。同样的两端配体,换一个连接子长度或连接位点,降解活性可能相差一到两个数量级。理解连接子影响的机制,才能有效地优化它。

连接子影响什么

  • 三元复合物的几何:决定两个蛋白能以什么相对取向被拉近,直接影响界面互补性与协同性(见 359《三元复合物 Ternary Complex》);
  • 构象熵代价:柔性连接子在形成复合物时损失大量构象自由度,这是要付出的自由能代价;
  • 分子性质:贡献大量分子量、可旋转键、极性表面积,直接影响通透性;
  • 代谢稳定性:连接子中的某些基团是代谢软点;
  • 溶解度与聚集:过长的疏水链会导致溶解度问题。

三个设计维度

维度 选项 影响
长度 通常 5~20 个原子 决定跨距;太短无法同时结合,太长熵损失大
刚性 烷基链(柔)↔ 芳环、饱和环(刚) 刚性减少熵损失但降低适应性
连接位点 配体上的不同出口向量 常被低估但影响极大

连接位点:最容易被忽略的维度

很多团队只优化连接子的长度和组成,却忽略了「从配体的哪个位置伸出连接子」。而这个选择决定了:

  • 连接子伸出的方向(出口向量);
  • 两个蛋白被拉近时的相对取向;
  • 是否会干扰配体本身的结合。

选择连接位点的原则:从配体上朝向溶剂、不参与关键相互作用的位置伸出。用共晶结构分析哪些原子暴露在溶剂中(见 338《用 ProLIF 提取相互作用指纹》339《用 PLIP 生成蛋白-配体相互作用报告》)。

# 从共晶结构中找合适的出口位点
import MDAnalysis as mda
from MDAnalysis.analysis import distances
import numpy as np

def find_solvent_exposed_atoms(complex_pdb, ligand_resname, cutoff=5.0):
    """找出配体上远离蛋白的原子(候选连接位点)"""
    u = mda.Universe(complex_pdb)
    lig = u.select_atoms(f"resname {ligand_resname} and not name H*")
    prot = u.select_atoms("protein and not name H*")

    d = distances.distance_array(lig.positions, prot.positions)
    min_dist = d.min(axis=1)

    exposed = []
    for atom, md in zip(lig, min_dist):
        if md > cutoff:          # 距离蛋白较远 = 朝向溶剂
            exposed.append({"name": atom.name, "index": atom.index,
                            "min_dist_to_protein": float(md)})
    return sorted(exposed, key=lambda x: -x["min_dist_to_protein"])

# 这些位点是安装连接子的候选
# 但仍需实验验证 —— 结构分析只能排除明显不行的位点

连接子类型的经验规律

类型 特点 适用
烷基链 最柔,合成简单,疏水 初筛探索长度
PEG 链 柔性,改善溶解度 最常用的起点
芳环 刚性,减少熵损失 已知合适取向后固定
哌嗪 / 哌啶 半刚性,可成盐改善溶解度 很常用
饱和环(环丁烷、双环) 刚性,降低 logP 优化性质时
三氮唑 点击化学产物,合成极方便 快速构建库
酰胺 常用连接化学 普遍

常见的优化路径:先用不同长度的 PEG 或烷基链粗扫,找出有效的长度范围;再在该长度上引入刚性元素(芳环、饱和环),减少熵损失并改善性质。

系统优化策略

# 第一轮:长度扫描(最重要)
# 用同一类连接子(如 PEG),系统改变长度
linker_lengths = [
    "CCOCC",              # 短
    "CCOCCOCC",
    "CCOCCOCCOCC",
    "CCOCCOCCOCCOCC",     # 长
]
# 测降解活性,找出「活性窗口」
# 典型结果:存在一个最优长度,两侧都下降

# 第二轮:在最优长度上改变刚性
# 同样跨距,但用不同刚性的连接子

# 第三轮:改变连接位点
# 在两端配体的不同位置安装连接子

# 第四轮:优化性质
# 在保持活性的前提下改善溶解度、通透性、代谢稳定性

# 注意:每轮只改一个维度,否则 SAR 无法解读

计算辅助

from rdkit import Chem
from rdkit.Chem import AllChem
import numpy as np

def linker_span_distribution(smiles, idx1, idx2, n_confs=200, seed=0xf00d):
    """统计连接子两端可达的距离分布"""
    mol = Chem.AddHs(Chem.MolFromSmiles(smiles))
    p = AllChem.ETKDGv3(); p.randomSeed = seed; p.pruneRmsThresh = 0.5
    cids = AllChem.EmbedMultipleConfs(mol, numConfs=n_confs, params=p)
    if not cids:
        return None
    AllChem.MMFFOptimizeMoleculeConfs(mol, maxIters=500)

    dists = []
    for cid in cids:
        c = mol.GetConformer(cid)
        d = np.linalg.norm(np.array(c.GetAtomPosition(idx1))
                           - np.array(c.GetAtomPosition(idx2)))
        dists.append(d)
    dists = np.array(dists)
    return {"min": float(dists.min()), "max": float(dists.max()),
            "mean": float(dists.mean()), "std": float(dists.std())}

# 用途:
#   1) 确认连接子能达到所需跨距
#   2) std 小 = 构象受限(刚性),熵代价小
#      std 大 = 柔性大,适应性好但熵代价大

性质代价的现实

  • 连接子通常贡献 150~400 Da 的分子量与 5~15 个可旋转键
  • 这直接推高整个分子的 MW(常达 700~1100)与柔性,严重损害被动通透性
  • 缩短连接子能改善性质,但可能损失降解活性——这是 PROTAC 优化中最核心的权衡
  • 刚性连接子在同样跨距下可旋转键更少,是缓解这个矛盾的常用手段。

关键要点

  • 连接子的长度、刚性、连接位点三个维度都要优化,连接位点最常被忽略;
  • 从共晶结构中找朝向溶剂的原子作为连接位点候选;
  • 常规路径:先用 PEG/烷基链扫长度找活性窗口,再引入刚性优化性质;
  • 每轮只改一个维度,否则 SAR 无法解读。

延伸资源