相互作用预测简介
什么是生物分子相互作用
我刚入行做药物研发时,被问得最多的一个问题是:
「这个蛋白到底跟哪个小分子结合?」
说白了,一切生命活动都靠分子之间的互相「握手」来实现。蛋白质对接、基因调控、信号传导,本质都是分子识别。如果能把这种「握手」关系预测准,那药物设计、疾病机理研究就快多了。
相互作用预测,就是利用算力和数据,去推测两个生物实体之间有没有结合、结合强度怎么样。常见的有:
- 蛋白质-蛋白质相互作用 (PPI) – 两个蛋白之间直接物理接触
- 药物-靶标相互作用 (DTI) – 小分子药物与蛋白靶标结合
- 基因-疾病关联 – 突变基因与表型的因果联系
- miRNA-靶基因调控 – 非编码RNA对基因表达的抑制或促进
蛋白质-蛋白质相互作用 (PPI)
PPI是细胞功能网络的基础。两个蛋白能否结合,取决于它们的表面互补性、静电分布、疏水区域等。传统方法靠结构模拟(比如分子对接),但结构数据太少,算不准。
近年来,序列和功能特征成了主流。我用过的PPI特征包括:
- 氨基酸组成 + 二肽组分
- 进化保守性(PSSM矩阵)
- 基因本体(GO)注释相似度
- 网络拓扑属性(度、介数中心性)
举个例子,预测一对蛋白是否相互作用,我们常用这样的数据格式:
prot_A,prot_B,label
P04637,P38936,1
P04637,Q07812,0
Q01094,P42345,1
...
每一行代表一个蛋白对,1表示有实验验证的相互作用,0表示非相互作用(负样本)。
药物-靶标相互作用 (DTI)
DTI预测是药物发现的核心步骤。一个药物分子是否有效,首先要看它能不能跟目标蛋白结合。传统的高通量筛选成本极高,一个化合物库可能要烧掉几百万。而迁移学习正好能利用已有药物的数据,预测新分子。
药物分子用SMILES字符串表示,靶标蛋白用氨基酸序列。比如:
SMILES,Target_UniProt,Label
CC(C)C1=CC=CC=C1C(=O)NO,P24941,1
C1=NC2=C(N1)C(=NC=N2)N,P50402,0
...
我参与过的一个迁移学习项目,就是用几百个已上市药物的PPI数据,预训练一个图神经网络,然后微调预测全新的GPCR靶点,AUC直接比传统RF高了0.12。
其他相互作用类型
除了PPI和DTI,还有几类在文献中也很常见:
| 类型 | 实体 | 典型特征 | 例子 |
|---|---|---|---|
| 基因-疾病 | 基因vs疾病表型 | GO注释、GWAS统计量 | BRCA1→乳腺癌 |
| miRNA-靶基因 | miRNA vs mRNA | 种子区匹配、保守性 | hsa-miR-21→PTEN |
| 化合物-化合物 | 药物vs药物 | 化学指纹、副作用相似度 | 多药联用协同效应 |
每种交互类型都有其独特的特征空间,但迁移学习的核心思想不变:用一个领域学到的模式,帮助另一个相关领域。比如用DTI数据预训练的模型,再微调到miRNA-靶基因预测上,常常比从头训练效果好。
常见数据资源与格式
做相互作用预测,数据是第一道坎。我列几个常用数据库:
- PPI: STRING(整合多种证据)、BioGRID(实验验证)、HPRD(人工注释)
- DTI: DrugBank(FDA批准药物)、BindingDB(结合亲和力)、ChEMBL(生物活性)
- 基因-疾病: DisGeNET(手动+自动)、OMIM(遗传疾病)
数据下载后,通常处理成统一表格:
entity_A,entity_B,interaction_type,score,source
CHEMBL1201893,UniProt:P24941,DTI,0.92,DrugBank
UniProt:P04637,UniProt:P38936,PPI,0.89,STRING
ENSG00000141510,DOID:162,GD,0.73,DisGeNET
评价指标
预测模型好不好,得用几个硬指标说话。常用的有:
| 指标 | 全称 | 说明 |
|---|---|---|
| AUC-ROC | 受试者工作特征曲线下面积 | 整体排序能力,0.5随机,1.0完美 |
| AUC-PR | 精准率-召回率曲线下面积 | 正负样本不平衡时更可靠 |
| F1-score | 精准率和召回率的调和平均 | 二分类常用,阈值依赖 |
| MCC | 马修斯相关系数 | 兼顾TP/FP/TN/FN,-1到1 |
我个人的经验是:当正样本比例低于10%时,别太信AUC-ROC,多看看AUC-PR或Precision@k。有一次我提交给合作方的结果,AUC-ROC高达0.94,但实际top-100预测里只有12个是对的——因为负样本太多太简单。
小结
相互作用预测是一个「数据驱动」的领域。我们从PPI和DTI这些经典问题出发,掌握了核心的数据格式、评价方法和常见坑。下一阶段,这些知识会直接用在迁移学习模型的设计和训练中。
记得我刚入行时总觉得「特征工程最重要」,直到遇到迁移学习,才发现好的预训练模型能替你学出更鲁棒的特征。但前提是——你得先理解这些相互作用本身是什么。