263

MSigDB:基因集分析与药物机制研究

MSigDB 提供大量精选基因集,配合 GSEA 用于解读表达变化与推断药物机制。这篇讲清各集合的用途、Hallmark 的特殊价值与分析实践。

MSigDB(Molecular Signatures Database,Broad Institute)是 GSEA 分析的配套基因集资源库,收录数万个经过整理的基因集。它把「一组功能相关的基因」标准化成可复用的单元,是解读组学数据、推断药物作用机制的核心工具。

集合分类

集合 内容 数量级 用途
H — Hallmark 50 个精炼的核心生物过程 50 首选起点
C1 染色体位置 约 300 拷贝数变异分析
C2:CGP 化学与遗传扰动的表达特征 数千 药物机制推断
C2:CP 典范通路(Reactome、KEGG、WikiPathways 等) 数千 通路分析
C3 转录因子与 miRNA 靶标 数千 调控推断
C4 癌症模块与邻域 数百 肿瘤分析
C5 GO 术语基因集 逾万 功能注释
C6 癌基因特征 约 200 致癌通路活性
C7 免疫学特征 数千 免疫分析
C8 细胞类型特征 数百 细胞组成推断

Hallmark 为什么值得优先用

其他集合动辄成千上万个基因集,彼此高度冗余,富集结果往往是一堆意思相近的条目,难以解读。Hallmark 是从原始集合中通过聚类与人工精炼得到的 50 个「非冗余、信号明确」的核心过程(如 EMT、缺氧、TNFA 信号、G2M 检查点、细胞凋亡)。

  • 结果好读:50 个术语的富集结果一眼能看完,不需要再做去冗余;
  • 多重检验负担小:检验数少,统计效力更高;
  • 覆盖核心生物学:涵盖了肿瘤与常见疾病研究最关心的过程。

实践建议:先跑 Hallmark 建立整体图景,再用 C2:CP 或 C5 深入具体通路。反过来做容易迷失在冗余结果里。

GSEA 分析

import gseapy as gp
import pandas as pd

# 预排序 GSEA(推荐):用全部基因的排序,不需要设阈值
rnk = pd.DataFrame({"gene": de_results["gene"],
                    "score": de_results["log2FC"] * -np.log10(de_results["pvalue"])})
rnk = rnk.sort_values("score", ascending=False)

pre = gp.prerank(
    rnk=rnk,
    gene_sets="h.all.v2023.2.Hs.symbols.gmt",   # Hallmark
    permutation_num=1000,
    min_size=15, max_size=500,
    seed=42, threads=8, outdir="gsea_out",
)
res = pre.res2d.sort_values("NES", key=abs, ascending=False)
print(res[["Term", "NES", "NOM p-val", "FDR q-val", "Tag %"]].head(15))
  • NES(归一化富集分数):正值表示在排序上端富集(上调),负值表示下端(下调)。绝对值反映强度。
  • FDR q-val < 0.25 是 GSEA 惯用的探索性阈值(比常规的 0.05 宽松),因为 GSEA 的检验之间高度相关。确证性结论应用更严格的阈值。
  • 排序指标的选择:只用 log2FC 会让低表达高变异的基因主导;结合 p 值(如上面的乘积形式)或用 signed −log10(p) 更稳健。

药物机制推断:C2:CGP 的用法

这是 MSigDB 一个很实用但常被忽略的能力。C2:CGP 收录了大量「某个扰动(药物处理、基因敲除)后的表达特征」。把你自己的药物处理转录组与这些特征做富集比较:

  • 如果你的化合物特征与某个已知机制的特征高度相似,提示可能是相似的作用机制
  • 这对表型筛选得到的活性化合物(不知道靶点)特别有价值,是靶点去卷积的一条路径;
  • 也可用于发现非预期的脱靶效应——如果特征意外地与某个毒性相关扰动相似,值得警惕。
  • 与 LINCS L1000(见 268《LINCS L1000》)的连通性分析思路一致,两者可互相印证。

注意事项

  • 许可:MSigDB 学术使用免费,部分集合(源自 KEGG、BioCarta 等)的商业使用受原始来源的许可约束,需单独确认。
  • 物种:主要面向人类,小鼠版本通过同源映射得到,映射会引入误差。
  • 基因集质量参差:CGP 中的特征来自不同实验,条件差异大,跨实验比较要谨慎。
  • 基因集大小要限制min_size=15, max_size=500 是常用设置,过小统计不稳、过大缺乏特异性。

上手提示

  • 先跑 Hallmark(50 个非冗余核心过程)建立整体图景,再深入其他集合;
  • GSEA 用预排序模式,排序指标结合 log2FC 与 p 值更稳健;
  • C2:CGP 可用于药物机制推断与靶点去卷积,是被低估的用法;
  • 部分集合的商业使用受原始来源许可约束,需单独确认。

延伸资源