2. 实验结果的数据模型与元数据设计

药物研发实验的数据管理,难点往往不在“存下来”,而在“存得能被理解、能被复用、能被追溯”。HTS 筛出的一个 IC50 值、ADME 测得的清除率、毒理实验中的 NOAEL、药效模型里的抑制率,如果只留下一个数字,几个月后连实验者自己都难以判断它对应哪批细胞、哪台仪器、哪种溶剂体系。因此,本节的核心任务是:为实验结果设计结构化数据模型,并定义支撑该模型的元数据标准与扩展机制。

一、结果数据模型:把“一个数值”拆成可计算的结构

实验结果的最小单元不是数值本身,而是“测量事件”。一个测量事件至少包含四个维度:测什么(指标/终点)、在什么条件下测(实验条件)、用什么测(仪器与参数)、测的是谁(样本与批次)。据此可以抽象出如下核心实体:

  • Experiment(实验):一次实验活动的顶层容器,如“2024-05-12 HTS 化合物库初筛”。
  • Batch(批次):实验执行的最小可追溯单元,如“Plate P-0037”。
  • Sample(样本):被测量的对象,如化合物 CID-1024、细胞系 A549、血浆样本 S-088。
  • Assay(检测方法):测量所依据的方法定义,如“荧光偏振法测定激酶活性”。
  • Measurement(测量结果):一次具体测量产生的数值、单位、不确定度与判定。
  • Instrument(仪器):产生原始信号的设备,如 EnVision 2105、LC-MS/MS。

这些实体之间不是孤立的,而是通过外键与角色关系连接:一个 Experiment 包含多个 Batch,一个 Batch 包含多个 Sample,每个 Sample 在特定 Assay 下产生若干 Measurement,Measurement 由某台 Instrument 在特定参数下采集。这种“实体—关系”结构,使数据既能按实验整体检索,也能按单个样本回溯。

二、关键元数据:让结果可解释、可比较

元数据是附着在实体上的描述性字段。对药物研发实验而言,以下四类元数据缺一不可:

类别典型字段作用
实验条件温度、pH、孵育时间、培养基、血清浓度、复孔数判断结果是否可跨实验比较
仪器参数仪器型号、检测模式、激发/发射波长、增益、板型解释信号差异、支持方法复现
批次信息批次号、板号、孔位、操作人、日期、试剂批号定位异常、追溯污染或漂移
样本标识样本 ID、化合物 ID、细胞系、代次、浓度梯度关联生物学身份与剂量关系

以 HTS 为例,一个孔的测量结果若只记录“抑制率 = 62%”,无法判断是化合物真实活性还是边缘孔蒸发效应。若同时记录孔位(A01)、复孔数(n=3)、DMSO 终浓度(0.5%)、孵育时间(60 min)、酶批号(E-2024-03),就能在复核时快速区分系统误差与真实信号。ADME 实验同理:清除率必须绑定肝微粒体蛋白浓度、NADPH 再生系统、孵育时间与 LC-MS/MS 的离子对参数,否则不同实验室的数据无法合并。

三、元数据标准与扩展机制

标准化的目标是“同名同义、同值同单位”。建议采用分层策略:核心层为所有实验共用的最小字段集(实验 ID、样本 ID、批次号、日期、操作人、仪器 ID、指标名、数值、单位、判定);领域层按实验类型扩展,如 HTS 增加 Z' 因子、S/B 比,毒理增加 NOAEL、剂量组,药效增加 EC50、Hill 斜率;项目层允许项目自定义字段,但必须注册到元数据字典,避免同义异名。

扩展机制的关键是“受控词表 + 键值对”。受控词表规定字段名、数据类型、单位、允许值域;键值对则允许在不破坏核心结构的前提下追加新属性。例如,某项目新增“氧浓度”字段,需在字典中登记:字段名 oxygen_conc,类型 float,单位 %,允许范围 0–21。这样既保持灵活性,又保证机器可解析。

实践建议:元数据字段命名采用“小写 + 下划线”,单位统一使用 SI 或领域惯例(如 nM、mL/min/kg),并在数据字典中显式声明。任何新增字段先注册、后使用,避免“先污染、后治理”。

四、从模型到落地:一次 HTS 结果的结构化示例

假设某次 HTS 实验,化合物 CID-1024 在 10 μM 下测得抑制率 62%,复孔 n=3,板号 P-0037,孔位 C07,仪器 EnVision 2105,检测模式荧光强度,激发 485 nm,发射 535 nm,孵育 60 min,温度 25 ℃,DMSO 0.5%。按上述模型,可组织为:Experiment(HTS-2024-0512) → Batch(P-0037) → Sample(CID-1024) → Assay(激酶活性荧光偏振) → Measurement(抑制率, 62%, n=3) → Instrument(EnVision 2105, Ex485/Em535)。每个节点携带对应元数据,形成一条完整、可追溯的数据链。

实验结果数据模型与元数据关联结构 以 HTS 实验为例:实体关系 + 关键元数据挂载 Experiment HTS-2024-0512 Batch P-0037 / C07 Sample CID-1024 Assay 激酶活性荧光偏振 Measurement 抑制率 62% (n=3) Instrument EnVision 2105 关键元数据挂载点 实验条件:25℃ / 60min / 0.5% DMSO 批次:P-0037 / 孔位 C07 样本:CID-1024 / 10 μM 仪器:Ex485 / Em535 扩展机制:核心层字段 + 领域层字段 + 项目层键值对,新增字段须注册元数据字典

上图展示了从 Experiment 到 Instrument 的实体链,以及四类关键元数据在链上的挂载位置。可以看到,一个测量结果并不是孤立数值,而是被实验条件、批次、样本和仪器参数共同“包裹”的结构化对象。只有这种结构,才能支撑后续的数据查询、跨批次比较、异常回溯与统计建模。

五、设计要点与常见陷阱

在实际落地中,有几个容易被忽视的细节。第一,单位必须显式存储,不能依赖字段名隐含单位,否则“IC50 = 120”到底是 nM 还是 μM 会引发严重误读。第二,缺失值要有明确语义,区分“未测”“测了但无效”“低于检测限”,建议用状态码而非空字符串。第三,批次与样本的层级不能混用,批次是操作单元,样本是生物学单元,一个批次可含多个样本,一个样本也可跨批次复测。第四,扩展字段要有版本,元数据字典本身应记录变更历史,避免旧数据在新字典下无法解析。

常见错误:把仪器参数直接写进结果备注字段。备注是自由文本,无法被程序解析,也无法用于批量筛选。正确做法是将仪器参数拆为独立字段,如 excitation_wavelength、emission_wavelength、gain,并纳入元数据字典管理。