靶点识别策略:从疾病机制到候选靶点

做药物发现这么多年,我越来越觉得靶点识别就像是在黑盒子里找一条能走通的路。你手上可能只有几篇文献、几张组学热图,甚至只是临床医生的一句“这个病人很奇怪”。怎么从这些碎片信息里提炼出真正值得投钱的候选靶点?

这一章我就围绕这个问题,把我在多个项目里摸爬滚打出来的方法摊开讲。说白了就三个步骤:先搞清楚疾病到底怎么发生的,然后用数据把可能的路标筛出来,最后用实验和计算给它打分排序。别急,咱们一个一个看。

疾病机制解析:从基因到通路到表型

任何靶点的起点都是疾病机制。你连病怎么来的都不知道,凭什么说这个靶点有用?

我个人习惯先把已知的致病基因列出来——不管是从GWAS、连锁分析还是罕见病突变里挖出来的。然后把这些基因扔到通路富集工具里(Reactome、KEGG、WikiPathways都行),看它们扎堆在哪些通路上。最后一步是把通路和临床表型对应起来。举个例子,我在一个自身免疫性疾病项目中,发现一批GWAS位点都落在IL-23/Th17通路里,而病人血清IL-17水平确实高——这就叫从基因到通路的闭环验证。

小技巧: 平时可以建一个“疾病-基因-通路-表型”四层表,每次有新数据就往上填。我自己的项目里这张表已经积累了三百多行,很多新靶点都是从表头里扫出来的。

这里要注意一个坑:不要把相关性当因果。我在早期犯过这个错误——某个基因在病人组织中高表达,就兴奋地把它当候选靶点,结果功能实验一做,敲低它反而加重了症状。嗯,后来我养成了习惯,必须先看这个基因在正常生理过程中的角色,再看它在疾病里的变化是驱动因素还是代偿反应。

数据驱动的靶点筛选:组学三件套

光靠文献综述不够,现在组学数据铺天盖地,必须用起来。我最常用的三板斧是GWAS、转录组和蛋白质组。

数据维度 核心问题 常用方法
GWAS 哪些遗传变异与疾病风险相关? Mendelian Randomization, colocalization
转录组 哪些基因在疾病组织中差异表达? DESeq2, edgeR, WGCNA
蛋白质组 哪些蛋白在功能层面发生实质变化? DEP analysis, PPI network

我记得有一个阿尔茨海默病项目,GWAS给出了几十个位点,转录组差异表达基因上千个,蛋白质组只有两百多个。最后取交集,只留下十几个基因。后来验证下来,其中三个确实跟tau蛋白磷酸化有关——你看,数据整合就是从海选到精筛的过程。

实际操作中,我会用下面这个流程跑一遍筛选:

  1. 从GWAS获取显著性位点,用Mendelian Randomization判断因果方向。
  2. 从疾病组织转录组差异表达中提取上下调基因(|log2FC| > 1, FDR < 0.05)。
  3. 从蛋白质组差异表达中取同样阈值的蛋白,再用PPI网络找关键hub节点。
  4. 三个数据集取交集,得到一个“高置信度”初始靶点列表。
# 伪代码示例:三组学交集筛选
gwas_genes = <from MR analysis>
rna_genes = set(<rows from DESeq2 results with FDR < 0.05>)
prot_genes = set(<rows from proteomics DEP>)
candidates = gwas_genes.intersection(rna_genes).intersection(prot_genes)
print(f"交集候选靶点数: {len(candidates)}")
避坑指南: 我曾经在做交集时没注意样本批次效应,结果差异表达基因列表里有一半是批次伪影。后来我强制在分析流程中加一步批次校正(用ComBat或limma removeBatchEffect),才把假阳性压下去。

多组学整合与优先级排序

低水平交集只是第一步,真正难的是怎么把不同维度的数据融合成一个可排序的分数。我个人常用两种策略:一个是基于网络传播的方法,另一个是用机器学习做排序。

先说网络传播。你把已知的疾病蛋白当作“种子”,在蛋白互作网络上随机游走,看哪些节点被种子影响最大。这个分数天然能反映一个蛋白在疾病网络中的中心性。我在一个胰腺癌项目里用这种方法,把前10个节点跟临床预后数据一对照,居然有8个跟生存显著相关——当时还挺惊喜的。

优先排序指标(我常用的三个维度):
1. 遗传证据强度:是否有GWAS显著位点?MR是否支持因果?
2. 表达差异一致性:在多个独立数据集中是否都差异表达?
3. 功能可行性:该靶点是否可被小分子/抗体靶向?在已知可药性基因集中?

另一个思路是建一个排序模型。比如用XGBoost,输入特征包括上面的三个维度分数,加上进化保守性、组织表达特异性、同源小鼠表型等。训练集可以用已经进入临床的靶点和阴性对照(比如没有成药性的基因)。我自己搭过一个这样的模型,AUC大概0.78,虽然不算惊世骇俗,但在早期筛选时确实能帮我把精力集中在高概率靶点上。

验证策略:功能缺失与可药性评估

排完序,你拿到一个候选靶点列表,但还不能直接拍板。我做过一个项目,在列表里排第一的基因在体外实验中完全无效——后来发现是因为那个基因在疾病组织中表达量太低,蛋白检测不到。所以验证必须动手。

我个人习惯分两层验证:

  • 快速功能验证:用CRISPR敲除或shRNA敲低该基因,看是否影响疾病相关表型(比如细胞增殖、炎症因子分泌)。一般在2-3周内能出结果。
  • 可药性评估:查询DrugBank、ChEMBL看是否有已知配体;用AlphaFold或同源建模看蛋白结构口袋;计算logP、分子量等物理化学性质。如果是一个GPCR或激酶,优先保留。

这里有个经典坑:我当初有个靶点在体外敲低后表型非常漂亮,但一查这个蛋白在心脏和肝脏也高表达,而且已知酸除小鼠胚胎致死。这就是典型的可药性评估不全面——只看了机制没看安全性。后来我把安全评估提前到与功能验证并行,省了好多弯路。

靶点识别流程图:一张图串起整个 pipeline

下面这张SVG图展示了从疾病机制到候选靶点的核心流程,你可以对照着回顾上述每一步。

靶点识别流程:从疾病机制到候选靶点 疾病机制解析 GWAS位点筛选 转录组差异基因 蛋白质组差异蛋白 多组学整合与排序 排序候选靶点列表 功能验证(CRISPR等) 可药性与安全性评估 高置信度候选靶点 虚线表示间接数据流;所有节点需经过疾病机制校验才进入整合步骤

实际跑一次完整的 pipeline 大约需要 2-3 周时间(算上计算和初步验证)。别想着一次就拿到完美靶点,多迭代几轮,把假阳性一个个排除掉,最后留下来的那几个才值得你花时间去跟管理层汇报。

好了,靶点识别策略这块儿就讲到这里。下一站我们该准备数据源了——不过那是另一章的事,咱们先消化完这张图。