2. 多组学数据获取与质量控制

多组学药物重定位的第一步不是建模,而是把“可用的数据”拿到手并确认它足够干净。药物重定位通常需要同时整合转录组、蛋白质组、代谢组等不同层次的数据,而这些数据往往来自 GEO、TCGA、ArrayExpress、PRIDE、MetaboLights 等公共数据库。不同数据库的检索语法、下载格式、元数据完整度和质控标准差异很大,因此本节围绕“检索—下载—解析—缺失值处理—批次效应评估”这条主线,给出可落地的操作思路。

一、五个核心数据库的定位与检索策略

先明确各库的定位,才能选对入口。GEO(Gene Expression Omnibus)以基因表达谱、芯片和 RNA-seq 为主,是药物重定位中转录组数据的主要来源;TCGA 提供癌症多组学数据(表达、突变、拷贝数、甲基化等),适合做“疾病—药物”反向匹配;ArrayExpress 是欧洲的基因表达归档库,与 GEO 互补,部分老数据集只在其中;PRIDE 是蛋白质组学原始质谱数据仓库,对应 ProteomeXchange;MetaboLights 是代谢组学数据仓库,提供代谢物谱和实验元数据。

检索时不要只依赖关键词。以 GEO 为例,推荐组合使用:疾病/药物关键词 + 物种(如 Homo sapiens)+ 数据类型(Expression profiling by array / high throughput sequencing)+ 样本量范围。例如检索“特发性肺纤维化药物重定位”相关转录组,可用 (idiopathic pulmonary fibrosis) AND "Homo sapiens"[Organism] AND "expression profiling by array"[DataSet Type]。TCGA 则更适合按项目(如 TCGA-LUAD)和数据类型筛选,通过 GDC Data Portal 或 TCGAbiolinks 按 cohort 下载。ArrayExpress 可用 BioStudies 接口按 accession 精确获取。PRIDE 检索建议用项目 accession(如 PXD 编号)加物种和仪器类型;MetaboLights 用 MTBLS 编号加代谢物类别。

检索阶段就要记录每个数据集的 accession、平台、样本数、物种、组织类型和原始文献,这些元数据后续决定能否合并分析。缺少元数据的数据集,即使样本量再大也应谨慎使用。

二、下载与格式解析

下载方式直接影响后续可复现性。GEO 可用 GEOquery 的 getGEO() 直接读取 GSE 系列矩阵;RNA-seq 原始数据则通过 SRA Toolkit 的 prefetch 与 fastq-dump 获取。TCGA 推荐用 TCGAbiolinks 的 GDCquery() + GDCdownload() + GDCprepare() 三步,能自动处理临床与表达矩阵的对应关系。PRIDE 提供 FTP 下载原始 .raw 或 .mzML 文件;MetaboLights 提供 ISA-Tab 格式的元数据与原始谱图。

格式解析要区分“表达矩阵”和“原始数据”。芯片数据常见 .CEL、.idat,需用 affy 或 limma 做 RMA 归一化;RNA-seq 常见 count matrix 或 FPKM/TPM 表,需注意基因 ID 版本(Ensembl ID 与 Gene Symbol 的映射)。蛋白质组 .mzML 需用 MaxQuant、MSFragger 等做搜库得到蛋白定量表;代谢组则需先做峰对齐与注释。解析后统一整理为“行=特征(基因/蛋白/代谢物),列=样本”的矩阵,并保留样本分组表。

# 示例:GEO 下载与解析(R)
library(GEOquery)
gse <- getGEO("GSE123456", GSEMatrix = TRUE, getGPL = TRUE)
expr <- exprs(gse[[1]])          # 表达矩阵
pdata <- pData(gse[[1]])         # 样本元数据
# TCGA 示例
library(TCGAbiolinks)
query <- GDCquery(project = "TCGA-LUAD",
                  data.category = "Transcriptome Profiling",
                  data.type = "Gene Expression Quantification")
GDCdownload(query)
data <- GDCprepare(query)

三、缺失值处理

缺失值在多组学中普遍存在,处理方式取决于缺失机制。转录组中缺失通常较少,可对低表达基因过滤后保留;蛋白质组和代谢组缺失率常达 20%–50%,需先判断是“随机缺失”还是“低于检测限”。低于检测限的缺失不应简单填 0,而应结合下限值做插补。常用策略:缺失率 > 50% 的特征直接剔除;缺失率 20%–50% 用 KNN 或随机森林插补;缺失率 < 20% 可用中位数或均值填充。插补后建议做一次分布对比,确认插补没有引入明显偏倚。

四、批次效应评估

批次效应是整合多数据集时最大的风险。评估分三步:先看设计,确认批次与分组是否完全混杂(若完全混杂则无法校正);再用 PCA 或层次聚类观察样本是否按批次聚集;最后用 PVCA 或 sva 的 ComBat 量化批次解释的方差比例。若批次解释方差超过 30%,必须校正。常用方法:limma 的 removeBatchEffect()、sva 的 ComBat、以及 Harmony。校正后需再次 PCA 确认批次分离减弱、而生物学分组仍可区分。

多组学数据获取与质量控制流程 公共数据库检索入口 GEO 转录组 / 芯片 / RNA-seq TCGA 癌症多组学 ArrayExpress 基因表达归档 PRIDE 蛋白质组质谱 MetaboLights 代谢组谱图 下载与格式解析 • GEOquery / getGEO() 读取 GSE 矩阵 • TCGAbiolinks:GDCquery → download → prepare • SRA Toolkit:prefetch + fastq-dump • PRIDE:.raw / .mzML → MaxQuant 搜库 • MetaboLights:ISA-Tab 元数据 + 谱图 缺失值处理策略 • 缺失率 > 50%:剔除特征 • 缺失率 20%–50%:KNN / 随机森林插补 • 缺失率 < 20%:中位数 / 均值填充 • 低于检测限:结合下限值插补,不填 0 • 插补后做分布对比,检查偏倚 批次效应评估与校正 ① 设计检查 批次与分组是否混杂 ② PCA / 聚类 观察样本是否按批次聚集 ③ PVCA 量化 批次解释方差 > 30% 需校正 ④ 校正与复检 ComBat / Harmony → 再 PCA 校正方法:limma::removeBatchEffect()、sva::ComBat、Harmony 判断标准:批次分离减弱,同时疾病/药物分组仍可区分

五、一个可复用的质控检查清单

把上述环节固化为检查表,能显著降低返工。建议每个数据集进入分析前逐项确认:

检查项判断标准不通过时的处理
元数据完整性样本分组、平台、物种齐全联系作者或更换数据集
样本量每组 ≥ 3,总样本 ≥ 20合并同平台数据集
缺失率特征缺失率 < 50%剔除高缺失特征或插补
批次混杂批次与分组不完全混杂无法校正则弃用
批次方差占比< 30%ComBat / Harmony 校正
校正后 PCA批次分离减弱,分组可区分调整协变量或换方法
批次校正不是越强越好。过度校正会抹掉真实的生物学信号,尤其是当批次与疾病状态高度相关时。校正后必须回到 PCA 和差异分析结果,确认关键基因或通路仍保留。

完成上述步骤后,你得到的应是一份“样本 × 特征”的干净矩阵,附带样本分组表、批次标签和质控记录。这份数据才是后续多组学整合与药物重定位建模的可信输入。下一阶段将在此基础上讨论多组学数据的标准化与整合策略。