激酶相似性的四个视角:序列、口袋、相互作用指纹、配体活性谱

——以及这些视角如何帮助安排 EGFR 选择性的后续对照

队列:TeachOpenCADD T023 的 9 个激酶 | 输入:data/cadd-tutorial-inputs(固定提交 4efdbd3) 本报告的全部数值、图与代码位于本会话 module-08/。


摘要

同一批 9 个激酶,用四种不同方式衡量"相似",得到的图大体一致、局部冲突:

一句话给初学者:这四张图不是"四个实验",而是同一个激酶队列的四种度量方式—— 数据来源和指标都不同,因此不能当作彼此独立的证据。 它们一致的地方值得优先跟进,冲突的地方要先问"这个视角的度量方式本身有没有偏向"。


1. 队列与数据

9 个激酶(KLIFS 名 / 常用名):

常用名 KLIFS 名 UniProt 分组(KLIFS kinase group)
EGFR EGFR P00533 TK
ErbB2 ErbB2 P04626 TK
PI3K p110a P42336 Atypical
VEGFR2 KDR P35968 TK
BRAF BRAF P15056 TKL
CDK2 CDK2 P24941 CMGC
LCK LCK P06239 TK
MET MET P08581 TK
p38a MAPK14 Q16539 CMGC

一个必须先统一的口径:KLIFS 的标准激酶口袋是固定的 85 个位置, 所以"口袋序列相似性"比的是这 85 位,而不是整条蛋白序列。 另外两个视角的结构清单(T025、T026)来自同一份 1620 个冻结结构 ID。


2. 四个视角分别在看什么(口径并不相同)

视角 观测到什么 比较单位 本次处理 与随包矩阵的核对
T024 序列 KLIFS 每个激酶的规范 85 位口袋序列 每激酶 1 条序列 重算 最大差 3.3e-16
T025 口袋几何 随包原始 KiSSim 指纹(1611 结构 × 1032 特征) 结构对 重算 最大差 1.7e-12
T026 相互作用指纹 KLIFS 公开端点 /interactions_get_IFP,595 位 结构对 重算(取到 1466/1620) 最大差 1.4e-16
T027 配体活性谱 随包只有派生矩阵,没有逐化合物活性记录 不可还原 上游参考,未重算 —

这里有一个必须讲清楚的区别: 综合比较(图 2 的面板 E)显式使用随包的四张冻结矩阵作为共同参照口径。 前三个视角我们另外从原始观测重算并逐元素核对通过; 第四个视角只有上游保存的矩阵,它的"共同测量化合物数、活性分母、缺失状态"都无法从随包文件还原。 所以不能把综合图说成"四类原始数据都重新计算过"。


3. 八个关键选择,以及为什么这样选

给初学者:下面每条都是"如果不这样做会怎样"。

① 为什么先把矩阵对齐到同一个激酶顺序? 四个文件的行列顺序并不一样(T024/T027 与 T025/T026 的排列不同),命名也不统一 (显示名 VEGFR2 在矩阵里叫 KDR)。若直接按位置相加,就是拿 EGFR 去比 BRAF。 本模块统一用 KLIFS 名,并按显式顺序重排。

② 为什么用"距离"而不是"相似度"来综合? 四个视角的量纲完全不同:序列是 0–0.6 的距离,KiSSim 是 16–41,指纹是 0–0.57 的 Jaccard, 配体谱是 0–1。距离都满足"越小越像",方向一致,才可以直接平均。

③ 为什么综合前要做 min-max 归一化? 把每个视角线性压到 0–1,否则 KiSSim 那 16–41 的数值会淹没其它三个视角。 代价是:min-max 会被该视角最极端的那一格(几乎总是 PI3K 相关的配对)锚定, 把其余数值压进很窄的区间。所以我们另外做了"按名次平均"的稳健配方做对照(见第 7 节第 5 条), 两种配方给出的 EGFR 最近邻都是 ErbB2。

④ 为什么"结构对取最小值"这个约定需要格外小心? T025 与 T026 都把两个激酶之间的距离定义为 "这两个激酶的所有结构两两比较,取最像的那一对"。 这个定义的物理含义是"是否存在任何一对构象很接近",而不是"平均构象有多接近"。 问题在于:它是最小值统计量,比较的结构对越多,最小值天然越小。 两个视角的可比结构对数并不相同,必须分开看: KiSSim(T025) EGFR×CDK2 = 357×848 = 302,736 对,EGFR×ErbB2 = 357×4 = 1,428 对(212.0 倍); IFP(T026) EGFR×CDK2 = 339×763 = 258,657 对,EGFR×ErbB2 = 339×4 = 1,356 对(190.75 倍)。 覆盖差异是一个可能的部分因素;本模块只在 KiSSim 上做了等量重采样验证(图 4B,另见第 7 节第 4 条)。

⑤ 为什么 T025 的"每激酶只留第一个结构"是另一件事? 方法说明提到上游 notebook 代码里有一句"按激酶名去重、只保留第一个结构"。 我们实算了这个变体:它与随包矩阵最大差达 17.54(KiSSim 单位)。 而"全部结构对取最小"与随包矩阵逐元素完全一致。 因此正确表述是:随包保存的矩阵符合"全部结构对取最小值"的口径; "先按激酶去重"是代码层面的另一种做法,二者不应混为同一出处。本模块把该对照单独存为 results/sensitivity_T025_first_structure_only.csv。

⑥ 为什么 T024 里 - 的处理要单独标注? KLIFS 规范口袋序列里,p110a / CDK2 / p38a 各含 1–2 个缺失位(-)。 上游实现把 - 映射成 *(等于把"共同缺失"也算作相同),这能精确复现随包矩阵; 若改为"排除缺失位、只按实际可比位置算",最大差 0.0158。 本模块把实际可比位置数单独存为 results/T024_observation_position_denominator.csv—— 它是一张计数表,所以对角线是该激酶自身的可用位置数(85 / 84 / 83),而不是距离矩阵的 0。

⑦ 为什么 T026 要去联网重算,而不是直接用随包矩阵? 随包没有原始指纹,但 KLIFS 有公开端点。实际取到 1466/1620 个结构的 595 位指纹, 按原定义算 Jaccard 并聚合,结果与随包矩阵完全一致。 154 个结构端点没有返回记录——这是"KLIFS 没有为它发布指纹", 不等于"它没有相互作用"。这 154 个 ID 与原因全部存在 results/T026_missing_structures.csv,我们没有为它们编造指纹。

⑧ 为什么图里的统计检验用词要谨慎? 36 个"激酶对"来自 9 个激酶,彼此不独立。所以置换检验的 p 值只作描述性参考, 不能说成对 36 个独立生物样本的确认性推断。检验用有限抽样估计 (极端次数 + 1)/(置换次数 + 1),原始极端计数与随机种子都保存下来。


4. 图组解读

图 1 — 队列与覆盖:一切分歧的起点

队列与逐视角覆盖

为什么要先看这张图:后面所有"谁离谁近"的结论,都要先问"这个结论背后有多少证据撑腰"。

图 2 — 四个视角与综合

四个视角热图

每个视角各自 min-max 归一化后画在同一激酶顺序上;颜色可跨面板比较,绝对量级不可比。 灰格是对角线(自比较,按约定为 0)。

可以一眼看出的三件事:

  1. 相对 EGFR,PI3K 在四个视角里都最远(四个视角中 EGFR 行的最大值都落在 PI3K)。 这是"离 EGFR 最远",不等于 PI3K 参与的每一对都是全局最大: 指纹视角里 CDK2 与 LCK 的最远对象不是 PI3K,配体谱视角里 BRAF 与 CDK2 的最远对象也不是 PI3K。 全局最大的一对:T024 是 PI3K–MET,T025/T026/T027 都是 ErbB2–PI3K。
  2. EGFR 最近邻:序列→ErbB2,口袋几何→ErbB2,指纹→CDK2,配体谱→ErbB2。
  3. 全局最近的一对与"相对 EGFR 的最近邻"不是一回事: 全局最近对在 T024、T025 是 EGFR–ErbB2,在 T026 是 VEGFR2–p38a, 在 T027 是 VEGFR2–BRAF。

图 3 — 视角之间的一致性

视角一致性

六个视角配对的 Spearman 相关系数全为正,范围 r = 0.31–0.73,其中 3 对达到 p < 0.05:

视角配对 Spearman r Mantel p
口袋几何 × 指纹 0.73 0.002
序列 × 口袋几何 0.70 0.003
序列 × 指纹 0.50 0.046
序列 × 配体谱 0.43 0.068
指纹 × 配体谱 0.36 0.154
口袋几何 × 配体谱 0.31 0.222

图 4 — 冲突的机制:取最小值 + 覆盖不均

冲突机制

图 5 — EGFR 选择性档案

EGFR 选择性档案

激酶 综合距离 序列 口袋几何 指纹 配体谱
ErbB2 0.345 1 1 6 1
LCK 0.480 3 2 2 5
VEGFR2 0.488 2 3 5 3
MET 0.517 4 4 4 6
BRAF 0.518 5 6 7 2
p38a 0.520 7 7 3 4
CDK2 0.522 6 5 1 7
PI3K 0.853 8 8 8 8

(表中数字为"相对 EGFR 的名次",1 = 最近。)


5. EGFR 选择性:这些视角能支持什么、不能支持什么

这些视角能支持什么

  1. ErbB2 值得优先作为结构/活性对照。 序列与口袋几何都把它排在 EGFR 的最近邻(85 位口袋仅 9 位不同); 配体活性谱这一基于化合物(而非口袋结构)的视角也把它排在第 1。 三个视角从不同来源、不同指标出发给出同一指向,因此"ErbB2 是优先对照对象"是一个合理的工作假设。
  2. CDK2 的视角冲突值得进一步检查。 只有相互作用指纹视角把 CDK2 排在 EGFR 最近, 而该视角对 ErbB2 只有 4 个结构、对 CDK2 有 763 个(可比结构对 258,657 对 vs 1,356 对,190.75 倍); 序列视角给 EGFR–CDK2 的距离是 0.352(第 6 位)。 这提示该排名可能受结构覆盖影响,应当单独核查,而不是据此判定 CDK2 "不是脱靶"。
  3. PI3K 在本队列中离 EGFR 更远。 四个视角中 EGFR 行的最大值都落在 PI3K。 但靶点相似性排序本身不构成排除依据。

这些视角不能支持什么

下一步最有信息量的实验

对同一组 EGFR 抑制剂,在 EGFR / ErbB2 / CDK2 / VEGFR2 / PI3K 上做同一条件的活性测定。 把 PI3K 一并纳入,才能同时检验"ErbB2 最近""CDK2 较远""PI3K 离 EGFR 更远"这三条排序; 若只测 EGFR / ErbB2 / CDK2 / VEGFR2,则 PI3K 的排序仍未被检验。


6. 可审计性:我们实际重算了什么

视角 结果 与随包矩阵
T024 序列 由 KLIFS 规范口袋序列按上游变换(BLOSUM62 平移+归一,85 位取均值)重算 最大差 3.3e-16 ✅
T025 口袋几何 由 1611×1032 原始指纹算 nan_euclidean,再按全部结构对取最小聚合 最大差 1.7e-12 ✅
T025(对照) "每激酶仅保留第一个结构" 最大差 17.54 ❌ 与随包矩阵不同口径
T024(对照) 排除缺失位、按实际可比位置计算 最大差 0.0158 ❌ 与随包矩阵不同口径
T026 指纹 联网取 1466/1620 个结构的 595 位 IFP,算 Jaccard 后按全部结构对取最小 最大差 0.0 ✅
T027 配体谱 未重算(随包无逐化合物活性记录) —

T026 的重算是真正的联网复现:查询时间、端点、请求/返回/缺失数量、 每个激酶对取到最小值的那一对具体结构 ID 与比较对数,全部记录在 results/T026_ifp_retrieval_log.csv、T026_ifp_argmin_pairs.csv、T026_missing_structures.csv。


7. 已知限制

  1. T027 无法复算:随包只有派生矩阵,没有逐化合物活性记录, 因此"共同测量化合物数、活性分母、缺失状态"都不可还原。该视角在图中一律标注为上游参考。
  2. T026 的 595 位编码继承 KLIFS/上游口径:0 表示"未标注相互作用", 不是"测得无接触"。在保留的 1466 个结构中,有 1033 个(70.5%)至少含一个未解析口袋位, 共 11,116 / 872,270 位(1.27%)落在未解析位之下;这些位置上的 0 尤其不能当作"无接触"。
  3. 154 个结构没有公开指纹:这是端点行为,不是"无相互作用"。
  4. 最小值统计量对结构覆盖敏感(图 4A 的秩相关;图 4B 的等量重采样只在 KiSSim 上验证)。本报告因此把"结构视角的排序"与 "序列/配体视角的排序"分开解读。
  5. min-max 归一化会被极端格锚定;本报告用"按名次平均"的稳健配方做了对照, 两种配方下 EGFR 最近邻都是 ErbB2。
  6. 36 个激酶对不独立,统计检验只作描述。
  7. 本报告的全部结论都是相似性假设,不构成亲和力、选择性或临床结论。

8. 复现方式与文件索引

python module-08/code/run_all.py              # 全部三步(缓存完整时不联网)
python module-08/code/run_all.py --offline    # 禁止联网;快照不完整即报错
python module-08/code/run_all.py --step figures   # 只重绘,不重算
CADD_INPUT_ROOT=/path/to/pack python module-08/code/run_all.py

本文件位于 module-08/report/,因此上文的图片与文件链接一律相对本文件所在目录解析 (例如 ../figures/fig01_cohort_and_coverage.png → module-08/figures/fig01_cohort_and_coverage.png)。

每张图都配有同名 .csv,保存该图实际绘制的数字。

致谢与许可:数据与教学材料来自 Volkamer Lab TeachOpenCADD(CC BY 4.0); ChEMBL / KLIFS / UniProt 等底层数据各自适用其原始条款。