scATAC-seq是什么?

第一部分:什么是 scATAC-seq?

全称:Single-cell Assay for Transposase-Accessible Chromatin using sequencing
核心通俗理解:它是给单细胞做“X光片”,看细胞核里的 DNA 哪里是“松弛”的(开放的),哪里是“缠绕”的(关闭的)。

  1. 生物学意义
  • 开放区域(Open Chromatin):通常是基因的“开关”位置(如启动子、增强子)。如果这里开放,说明转录因子可以结合,基因可能正在被表达。
  • 关闭区域(Closed Chromatin):DNA 被核小体紧紧包裹,基因处于沉默状态。
  1. 数据特点(这直接决定了 Transformer 怎么设计):
  • 极度稀疏(High Sparsity):这是最大的痛点。在单个细胞中,一个位点只有 0(没测到/关闭)、1(测到一条链)或 2(两条链)这几种状态。矩阵中 >95% 都是 0。
  • 高维(High Dimensionality):人类基因组有 30 亿个碱基对,潜在的“特征”(Peaks/Bins)可能有几十万甚至上百万个。
  • 近二值化(Binary-like):与 scRNA-seq 的连续值(表达量)不同,scATAC-seq 数据更像是一个巨大的 0/1 矩阵。

第二部分:如何用 scATAC-seq 训练 Transformer 模型

scATAC-seq(单细胞染色质开放性测序)数据与文本(NLP)有本质区别:它极其稀疏、维度极高(几十万个潜在峰值),且是近乎二值化(0/1)的信号。因此,训练 Transformer 模型时,不能直接照搬 NLP,必须在输入表示模型架构上进行特殊设计。

以下是目前主流 scATAC-seq Transformer 模型(如 Atacformer, scGPT, ChromFound, EpiFoundation)的核心设计逻辑与训练方法。


一、 核心设计:如何把“染色质”变成“句子”?

这是最关键的一步。Transformer 只能处理序列(Sequence),而 scATAC-seq 是一个巨大的稀疏矩阵。主流设计通常分为以下三步:

1. Tokenization(分词):Peak as Token

目前最主流的策略是“基于峰(Peak-based)”的构建方式,将一个细胞看作一个句子,句子里的单词就是“开放的染色质区域”。

  • 构建词表(Vocabulary)

  • 先对所有细胞做 Peak Calling,合并得到一个“包含所有潜在开放区域”的列表(Consensus Peaks),例如 30 万个 Peaks。

  • 每一个 Peak(如 chr1:100-200)被视为词表中的一个单词,拥有唯一的 ID。

  • 构建输入序列(Input Sequence)

  • 对于一个细胞,只提取它非零(Non-zero)的 Peak ID。

  • 例子:如果细胞 A 在 Peak 10, Peak 500, Peak 8000 处开放,那么输入给模型的序列就是 [10, 500, 8000]

  • 优势:这种方法自动过滤了大量的 0,解决了稀疏性问题,将输入长度压缩到可接受范围(通常几千个 Token)。

2. Embedding(嵌入):注入基因组信息

单纯的 ID 丢失了生物学位置信息,因此 scATAC-seq 模型通常设计了特殊的 Embedding 层:

  • Peak Embedding:为每个 Peak ID 训练一个向量。

  • Genomic Positional Embedding(基因组位置编码):这是 scATAC 特有的。模型需要知道 chr1:100-200chr1:200-300 在物理上是挨着的。

  • 做法:通常使用正弦/余弦函数或可学习的向量,将染色体编号(Chr Embed)和坐标位置(Start/End Embed)编码进向量,与 Peak Embedding 相加。

  • Accessibility Value Embedding(数值编码):虽然大多数是 0/1,但部分模型(如 ChromFound)会保留具体的 Reads 数或开放程度,将其映射为向量。

3. 架构选择:从 Encoder 到 Mamba

由于序列长度问题(一个细胞可能有 1万~5万 个开放 Peak),模型架构有分化:

  • Standard Transformer (BERT/GPT):如 scGPT。适用于经过筛选的高变 Peak(High Variable Peaks),序列长度控制在 <4096。
  • Efficient Transformer:如 Atacformer。使用线性注意力机制(Linear Attention)或 Performer,以处理更长的序列。
  • Hybrid Architecture (Mamba/SSM):这是最新趋势(如 ChromFound)。结合 Mamba 模块处理超长序列(全基因组范围的上下文),利用其线性复杂度优势捕捉远距离的互作(如增强子-启动子环路)。

二、 主流模型盘点

模型名称 核心架构 特点 适用任务
scGPT (ATAC版) Decoder (GPT) 将 Peak 视为特殊“基因”,支持多模态(RNA+ATAC)联合训练。 生成任务、批次去噪、多组学整合
Atacformer Encoder (BERT) 专注于 scATAC,强调对 Cis-regulatory elements (CREs) 的理解。 细胞类型注释、Motif 挖掘
EpiFoundation Encoder 跨模态预训练:利用配对的 RNA 数据来监督 ATAC 的学习(Peak-to-Gene Alignment)。 极度稀疏数据的补全、注释
ChromFound Mamba + Attn 混合架构:引入 Mamba 处理长序列,设计了“基因组感知(Genome-aware)”的 Tokenizer。 跨组织/跨器官迁移、零样本预测

三、 实战指南:如何用这些数据训练模型?

如果你有一批 scATAC-seq 数据(如 .fragments.tsv.gz.h5ad),想要训练或微调一个模型,请遵循以下流程:

Step 1: 数据预处理(最为繁琐)

  1. 统一 Peak Set:如果你有多个数据集,必须用软件(MACS2 或 ArchR)重新 Call Peaks 并合并(Merge),确保所有样本基于同一套“词表”。
  2. 构建矩阵:生成 Cell x Peak 矩阵。
  3. 序列化转化
  • 将矩阵的每一行(细胞)转换为非零 Peak 的 ID 序列。
  • 注意:需要设定 max_length(如 2048 或 4096)。如果一个细胞开放区域太多,需要随机采样(Random Sampling)或截断;如果太少,则 Padding。

Step 2: 预训练任务(Pre-training Objectives)

模型需要通过自监督学习“读懂”染色质语言。

  • Masked Peak Modeling (MPM):最常用的任务。

  • 做法:随机 Mask 掉输入序列中 15% 的 Peak。

  • 目标:模型需要预测被 Mask 掉的是哪个区域。

  • 原理:这迫使模型学习共开放(Co-accessibility)规律(例如:因为 A 和 B 开放了,所以中间的 C 也很可能开放)。

  • Masked Cell Prediction(可选):预测该输入序列是真实的细胞还是随机噪声。

Step 3: 微调(Fine-tuning)

在预训练好的模型(Backbone)后接一个简单的线性层(Prediction Head):

  • 分类任务:输入 [CLS] 标记的向量 -> 输出细胞类型。
  • 回归任务:输入 Peak 向量 -> 预测该区域是否也是 TF 结合位点。

Step 4: 代码实现参考

不要从零写 Transformer,建议基于现有框架修改:

  • HuggingFace Transformers:可以使用 BertConfig,将 vocab_size 设为你的 Peak 总数(如 300,000)。
  • scGPT 官方仓库:它们提供了针对 scATAC-seq 的 tokenization 脚本,可以直接复用其 Data Collator。

总结

scATAC-seq Transformer = “Peak 序列化” + “位置编码” + “Masked Modeling”
目前的趋势是使用 Mamba 类架构来解决长序列问题,以及引入 scRNA-seq 配对数据进行跨模态监督,以弥补 ATAC 数据过于稀疏、语义信息不足的缺陷。

posted @ 2026-01-20 00:07  ylifs  阅读(2)  评论(0)    收藏  举报