4. 多源证据的表示与标准化
药物重定位的证据来自多个异构源:文献中的基因-疾病关联、临床试验中的药物-适应症记录、组学数据中的差异表达、药物警戒系统中的不良反应报告、专利与化合物数据库中的化学结构。这些数据在格式、粒度、语义和标识体系上各不相同。如果直接把它们堆在一起做统计或推理,结果往往不可靠——同一个基因可能以 HGNC 符号、Entrez ID 或 UniProt 名称出现,同一个疾病可能对应 ICD-10、MeSH 或 OMIM 编码。因此,多源证据融合的第一步不是建模,而是表示与标准化:把不同来源的事实映射到统一的语义框架中,使“药物—靶点—通路—疾病—表型”之间的关系可以被机器一致地读取、比较和组合。
本体:为证据提供受控语义
本体(Ontology)是对某一领域概念及其关系的显式、形式化规范。在药物重定位中,本体解决的核心问题是:不同数据源中的术语如何被判定为“同一概念”或“相关概念”。常用的本体包括:
- 基因与蛋白:HGNC 提供基因符号的官方命名,UniProt 提供蛋白序列与功能注释,Ensembl 提供基因组坐标。三者通过交叉引用(xref)关联。
- 疾病与表型:MONDO 整合了 OMIM、Orphanet、DOID 等疾病本体,HPO 描述人类表型异常,MeSH 用于文献标引。
- 药物与化合物:ChEBI 描述化学实体,DrugBank ID 标识药物,ATC 分类提供治疗用途层级。
- 通路与功能:Reactome、KEGG、GO 分别描述反应通路、代谢通路和基因功能注释。
本体的价值不仅在于统一名称,更在于层级关系与语义距离。例如,MONDO 中“2型糖尿病”是“糖尿病”的子类,当证据涉及“糖尿病”而目标适应症是“2型糖尿病”时,可以通过本体层级判断二者存在包含关系,而不是简单视为不同疾病。类似地,GO 的“is_a”和“part_of”关系可以用于推断基因功能相似性。
知识图谱:把证据组织成可推理的网络
知识图谱(Knowledge Graph, KG)以“实体—关系—实体”三元组为基本单元,天然适合表达药物重定位中的多跳关系。一个典型的重定位知识图谱包含以下节点类型和边类型:
- 节点:药物(Drug)、靶点(Target)、基因(Gene)、通路(Pathway)、疾病(Disease)、表型(Phenotype)、不良反应(Adverse Event)。
- 边:药物—靶点(结合/抑制/激活)、靶点—通路(参与)、通路—疾病(关联)、药物—疾病(已批准适应症/临床试验)、药物—不良反应(报告)、基因—疾病(遗传关联)。
每条边都应携带证据属性:来源数据库、证据类型(实验/计算/文献/临床)、置信度或评分、时间戳。这样,当进行“药物 A 是否可能重定位到疾病 D”的推理时,可以沿着“药物 A → 靶点 T → 通路 P → 疾病 D”的路径聚合证据,并根据边的属性决定权重。例如,来自临床试验的“药物—疾病”边权重高于文献共现边;来自实验验证的“药物—靶点”边权重高于分子对接预测边。
数据模型设计:从三元组到可查询的结构
知识图谱的物理实现通常有两种路径:RDF/OWL 三元组存储和属性图(Property Graph)。前者适合本体推理和语义查询(SPARQL),后者适合路径分析和图算法(Cypher、Gremlin)。在药物重定位工程中,常见做法是:用 RDF 承载本体和标准化实体,用属性图承载证据网络和评分计算。
无论选择哪种存储,数据模型设计都需要明确以下要素:
- 实体标识:每个节点必须有全局唯一 ID,优先使用本体官方 ID(如 MONDO:0005148、HGNC:11998),而非自由文本名称。
- 关系类型:关系名应来自受控词表,避免同义异名。例如统一用“interacts_with”而不是混用“binds”“targets”“acts_on”。
- 证据属性:每条边至少记录 source、evidence_type、confidence、timestamp 四个字段,以支持后续的加权融合和时效衰减。
- 版本与溯源:记录数据加载批次和本体版本,确保结果可复现。
标准化流程:从原始数据到统一表示
一个可操作的标准化流程通常包含以下步骤。以“从文献中提取药物—疾病关联”为例:
- 实体识别:用 NER 工具从摘要中识别药物名和疾病名,得到原始字符串。
- 实体链接:将“metformin”链接到 DrugBank:DB00331,“type 2 diabetes”链接到 MONDO:0005148。链接时需处理同义词、缩写和拼写变体。
- 关系抽取:判断句子中药物与疾病的关系类型(治疗、副作用、生物标志物等),并赋予初始置信度。
- 本体映射:将关系类型映射到本体中的标准谓词,如“treats”“has_adverse_effect”“associated_with”。
- 属性补全:补充来源文献 PMID、发表年份、证据类型(临床试验/病例报告/基础研究)。
- 写入图谱:以三元组或属性图形式写入,并记录加载批次。
一个可参考的数据模型片段
以下是一个简化的属性图模式定义,用于描述药物重定位证据网络中的核心节点和边。字段设计直接服务于后续的证据加权与路径推理。
// 节点定义(示例)
(:Drug {
id: "DB00331",
name: "Metformin",
chebi_id: "CHEBI:6801",
atc: "A10BA02"
})
(:Disease {
id: "MONDO:0005148",
name: "type 2 diabetes mellitus",
mesh: "D003924"
})
(:Target {
id: "HGNC:11998",
symbol: "TP53",
uniprot: "P04637"
})
// 边定义(示例)
(:Drug)-[:INTERACTS_WITH {
source: "DrugBank",
evidence_type: "experimental",
confidence: 0.92,
timestamp: "2024-03-15"
}]->(:Target)
(:Drug)-[:TREATS {
source: "ClinicalTrials.gov",
evidence_type: "clinical",
confidence: 0.88,
timestamp: "2024-01-20"
}]->(:Disease)
(:Target)-[:ASSOCIATED_WITH {
source: "CTD",
evidence_type: "literature",
confidence: 0.65,
timestamp: "2023-11-08"
}]->(:Disease)
在这个模型中,一条“药物—靶点—疾病”路径的融合置信度可以按如下方式计算(示例公式,非实测结果):
path_confidence = w1 * conf(drug-target)
* w2 * conf(target-disease)
* decay(timestamp)
其中:
w1 = 0.6(实验证据权重)
w2 = 0.4(文献证据权重)
decay = exp(-λ * Δt),λ 取 0.05/年
该公式仅用于说明证据属性如何参与计算,实际工程中需要根据验证集调整权重和衰减系数。关键点在于:标准化后的每条边都携带可计算的属性,而不是只有一个孤立的“有关联”标签。
常见陷阱与检查要点
- 标识混用:同一实体在不同表中使用不同 ID 体系,导致图谱中出现重复节点。检查方法:统计每个实体的 ID 来源分布,若某实体同时存在多个 ID 前缀,需建立映射。
- 关系方向不一致:A→B 表示“A治疗B”还是“B治疗A”,必须在模型层面固定方向约定,并在文档中明确。
- 证据类型缺失:没有 evidence_type 的边无法参与加权,等于无效证据。加载时应强制校验该字段。
- 本体版本漂移:MONDO 每年更新,旧 ID 可能被合并或废弃。需记录本体版本并定期做一致性检查。
总结来说,多源证据的表示与标准化是药物重定位证据融合工程的基础设施。本体提供语义锚点,知识图谱提供关系载体,数据模型定义证据的存储与计算方式。三者协同,才能让来自不同来源的证据在同一个框架下被比较、加权和推理,为后续的候选药物排序和验证提供可靠输入。