靶点识别策略:从疾病机制到候选靶点
做药物发现这么多年,我越来越觉得靶点识别就像是在黑盒子里找一条能走通的路。你手上可能只有几篇文献、几张组学热图,甚至只是临床医生的一句“这个病人很奇怪”。怎么从这些碎片信息里提炼出真正值得投钱的候选靶点?
这一章我就围绕这个问题,把我在多个项目里摸爬滚打出来的方法摊开讲。说白了就三个步骤:先搞清楚疾病到底怎么发生的,然后用数据把可能的路标筛出来,最后用实验和计算给它打分排序。别急,咱们一个一个看。
疾病机制解析:从基因到通路到表型
任何靶点的起点都是疾病机制。你连病怎么来的都不知道,凭什么说这个靶点有用?
我个人习惯先把已知的致病基因列出来——不管是从GWAS、连锁分析还是罕见病突变里挖出来的。然后把这些基因扔到通路富集工具里(Reactome、KEGG、WikiPathways都行),看它们扎堆在哪些通路上。最后一步是把通路和临床表型对应起来。举个例子,我在一个自身免疫性疾病项目中,发现一批GWAS位点都落在IL-23/Th17通路里,而病人血清IL-17水平确实高——这就叫从基因到通路的闭环验证。
这里要注意一个坑:不要把相关性当因果。我在早期犯过这个错误——某个基因在病人组织中高表达,就兴奋地把它当候选靶点,结果功能实验一做,敲低它反而加重了症状。嗯,后来我养成了习惯,必须先看这个基因在正常生理过程中的角色,再看它在疾病里的变化是驱动因素还是代偿反应。
数据驱动的靶点筛选:组学三件套
光靠文献综述不够,现在组学数据铺天盖地,必须用起来。我最常用的三板斧是GWAS、转录组和蛋白质组。
| 数据维度 | 核心问题 | 常用方法 |
|---|---|---|
| GWAS | 哪些遗传变异与疾病风险相关? | Mendelian Randomization, colocalization |
| 转录组 | 哪些基因在疾病组织中差异表达? | DESeq2, edgeR, WGCNA |
| 蛋白质组 | 哪些蛋白在功能层面发生实质变化? | DEP analysis, PPI network |
我记得有一个阿尔茨海默病项目,GWAS给出了几十个位点,转录组差异表达基因上千个,蛋白质组只有两百多个。最后取交集,只留下十几个基因。后来验证下来,其中三个确实跟tau蛋白磷酸化有关——你看,数据整合就是从海选到精筛的过程。
实际操作中,我会用下面这个流程跑一遍筛选:
- 从GWAS获取显著性位点,用Mendelian Randomization判断因果方向。
- 从疾病组织转录组差异表达中提取上下调基因(|log2FC| > 1, FDR < 0.05)。
- 从蛋白质组差异表达中取同样阈值的蛋白,再用PPI网络找关键hub节点。
- 三个数据集取交集,得到一个“高置信度”初始靶点列表。
# 伪代码示例:三组学交集筛选
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)}")
多组学整合与优先级排序
低水平交集只是第一步,真正难的是怎么把不同维度的数据融合成一个可排序的分数。我个人常用两种策略:一个是基于网络传播的方法,另一个是用机器学习做排序。
先说网络传播。你把已知的疾病蛋白当作“种子”,在蛋白互作网络上随机游走,看哪些节点被种子影响最大。这个分数天然能反映一个蛋白在疾病网络中的中心性。我在一个胰腺癌项目里用这种方法,把前10个节点跟临床预后数据一对照,居然有8个跟生存显著相关——当时还挺惊喜的。
1. 遗传证据强度:是否有GWAS显著位点?MR是否支持因果?
2. 表达差异一致性:在多个独立数据集中是否都差异表达?
3. 功能可行性:该靶点是否可被小分子/抗体靶向?在已知可药性基因集中?
另一个思路是建一个排序模型。比如用XGBoost,输入特征包括上面的三个维度分数,加上进化保守性、组织表达特异性、同源小鼠表型等。训练集可以用已经进入临床的靶点和阴性对照(比如没有成药性的基因)。我自己搭过一个这样的模型,AUC大概0.78,虽然不算惊世骇俗,但在早期筛选时确实能帮我把精力集中在高概率靶点上。
验证策略:功能缺失与可药性评估
排完序,你拿到一个候选靶点列表,但还不能直接拍板。我做过一个项目,在列表里排第一的基因在体外实验中完全无效——后来发现是因为那个基因在疾病组织中表达量太低,蛋白检测不到。所以验证必须动手。
我个人习惯分两层验证:
- 快速功能验证:用CRISPR敲除或shRNA敲低该基因,看是否影响疾病相关表型(比如细胞增殖、炎症因子分泌)。一般在2-3周内能出结果。
- 可药性评估:查询DrugBank、ChEMBL看是否有已知配体;用AlphaFold或同源建模看蛋白结构口袋;计算logP、分子量等物理化学性质。如果是一个GPCR或激酶,优先保留。
这里有个经典坑:我当初有个靶点在体外敲低后表型非常漂亮,但一查这个蛋白在心脏和肝脏也高表达,而且已知酸除小鼠胚胎致死。这就是典型的可药性评估不全面——只看了机制没看安全性。后来我把安全评估提前到与功能验证并行,省了好多弯路。
靶点识别流程图:一张图串起整个 pipeline
下面这张SVG图展示了从疾病机制到候选靶点的核心流程,你可以对照着回顾上述每一步。
实际跑一次完整的 pipeline 大约需要 2-3 周时间(算上计算和初步验证)。别想着一次就拿到完美靶点,多迭代几轮,把假阳性一个个排除掉,最后留下来的那几个才值得你花时间去跟管理层汇报。
好了,靶点识别策略这块儿就讲到这里。下一站我们该准备数据源了——不过那是另一章的事,咱们先消化完这张图。