8 基因活性评分的迷思:它真的等同于基因表达量吗?
8.1 【地基篇】洞悉第一性原理
在 scATAC-seq 的世界里,一旦我们通过降维和聚类成功地将细胞分成了不同的亚群,下一个核心任务就是为这些细胞群赋予生物学身份。例如,这是 T 细胞,那是 B 细胞,还是神经元?在 scRNA-seq 分析中,我们通常通过检查已知的标记基因(marker genes)的表达水平来完成这一步。然而,在 scATAC-seq 数据中,我们并没有直接的基因表达信息,我们拥有的只是染色质的开放信号。
为了解决这个问题,生物信息学家们设计了一种巧妙的代理指标——基因活性评分 (Gene Activity Score, GAS)。其核心思想是,一个基因如果要被转录,其基因体(gene body)以及上游的启动子(promoter)区域的染色质必须是开放的。因此,我们可以通过汇总一个基因及其启动子区域内的所有 ATAC-seq 信号(reads),来估算这个基因的“转录潜能”。
这个定义至关重要。基因活性评分,其本质是对一个基因可能被转录的“准备状态”的量化。一个高的 GAS 值,意味着这个基因所在的染色质区域非常开放,转录机器可以随时进入,具备了高表达的潜能。然而,潜能不等于现实。一个基因可能处于“整装待发”的开放状态,但由于缺少关键的转录因子激活,其真实的转录水平(RNA 数量)可能非常低,甚至为零。
因此,基因活性评分与基因表达量之间,存在着一种正相关但非等价的关系。将二者混为一谈,是 scATAC-seq 注释和解读中最常见、也最容易产生误导的思维陷阱。
8.2 【构筑篇】从代码到科学决策
8.2.1 第一步:计算基因活性评分
几乎所有主流的 scATAC-seq 分析包都内置了计算 GAS 的功能。例如,在 Seurat 的 Signac 扩展包中,这个功能通过 GeneActivity() 函数实现。
# Signac R package example
# seurat_object 是一个包含 scATAC-seq 数据的对象
# 注释文件(gtf 或 gff)是必需的
gene_activities <- GeneActivity(
object = seurat_object
)
# 将计算出的 GAS 矩阵添加到对象中
seurat_object[['RNA']] <- CreateAssayObject(
counts = gene_activities
)
seurat_object <- NormalizeData(
object = seurat_object,
assay = 'RNA'
)
这段代码的核心逻辑是:
定义基因区域: 利用一个基因注释文件(GTF/GFF),为每个基因定义一个包含其基因体和上游启动子的区域。
信号汇总: 对于每个细胞,遍历所有基因,并统计落在每个基因区域内的 ATAC-seq reads 数量。
构建矩阵: 将这些计数值组织成一个“伪表达”矩阵,其行是基因,列是细胞,值就是基因活性评分。
8.2.2 第二步:利用 GAS 进行细胞注释
得到这个“伪表达”矩阵后,我们就可以像分析 scRNA-seq 数据一样,利用它来为细胞亚群进行注释了。我们可以使用 FindMarkers 等函数来寻找不同细胞群之间差异最显著的“活性”基因,或者直接在 UMAP 图上可视化已知标记基因的 GAS 值。
例如,如果我们想在免疫细胞数据中识别 T 细胞,我们可以检查 CD3D 或 CD8A 这些 T 细胞标记基因的 GAS 值是否在一个特定的细胞群中显著高于其他群。
8.3 【避坑篇】新手常见的思维陷阱
最核心的陷阱,在于过度解读基因活性评分。
陷阱一:将 GAS 等同于表达量进行功能分析。新手在得到 GAS 矩阵后,常常会兴奋地将其直接输入 GO 或 KEGG 等功能富集分析工具,就像处理 scRNA-seq 数据一样。这是极其危险的。因为 GAS 反映的是调控状态,而非功能执行的最终产物(RNA)。基于 GAS 的富集分析,可能会告诉你某个细胞群“准备好”去执行某个功能,但这并不意味着它“正在”执行这个功能。结论的措辞必须非常严谨和克制。
陷阱二:忽略 GAS 与表达的“解偶联”现象。在某些生物学场景,如细胞分化或受到刺激的早期阶段,基因的染色质会首先变得开放(GAS 升高),但 RNA 的转录会有一个延迟。反之,在转录被抑制的过程中,RNA 可能会先降解(表达量下降),而染色质状态的关闭则相对滞后。这种 GAS 与表达的“解偶联”(decoupling)现象,是揭示基因调控动态的关键信息。如果简单地将二者等同,就会错失这些宝贵的生物学洞见。
陷阱三:依赖单一基因的 GAS 进行精确判断。由于 scATAC-seq 数据的极度稀疏性,单个基因的 GAS 值波动可能很大。因此,在进行细胞注释时,依赖一个基因的 GAS 是不可靠的。更稳健的策略是使用一组标记基因(一个基因集,gene set)的平均 GAS,或者使用专门为稀疏数据设计的打分方法(如 Seurat 的
AddModuleScore)。
8.4 【蓝图篇】构建你的分析框架
在你的 scATAC-seq 分析框架中,基因活性评分应被定位为一个强大但需要审慎使用的“代理指标”。
明确其定义: 时刻提醒自己,GAS 衡量的是转录潜能,而非转录水平。它是连接染色质状态与基因功能的桥梁,但不是终点。
主要用于注释: 将 GAS 的主要用途限定在细胞类型鉴定和注释上。利用它来识别细胞群,是其最强大和最可靠的应用场景。
谨慎用于功能解读: 当需要进行功能层面的解读时,对基于 GAS 的结论必须保持审慎。措辞上应使用“该细胞群显示出与 XX 功能相关的基因区域具有更高的染色质开放性”,而非“该细胞群上调了 XX 功能”。
追求整合分析: 深刻认识到 GAS 的局限性,并积极寻求与 scRNA-seq 数据的整合分析。通过多组学整合,将染色质的“潜能”信息与转录组的“现实”信息结合起来,才能构建出最完整、最可信的基因调控和细胞功能图景。这,才是 scATAC-seq 分析的最终归宿和最高目标。
探索生命科学前沿,提升实战技能!🔥 欢迎加入「生信实战圈」,获取最新技术干货、实战案例与行业动态。📊 点击关注,与同行一起成长! #生物信息学 #组学数据分析 #生信案例代码分享 #R语言编程
