scATAC Transformer 输入的token是什么,句子是什么?
对于 scATAC-seq(单细胞染色质可及性测序)数据,将其输入 Transformer 模型时,其 Token 和 句子 的定义与 scRNA-seq(如 scBERT)既有相似之处,也有显著的生物学差异。
在 scATAC-seq Transformer 模型(如 scATAC-BERT 或类似的染色质大模型)中,定义通常如下:
1. 什么是 Token(词元)?
在 scATAC-seq 中,Token 代表的是一个具体的“基因组区域”(Genomic Region),通常被称为“峰”(Peak)。
- Token 的身份(Identity):
在自然语言中,词元是“苹果”;在 scRNA-seq 中,词元是“基因”。而在 scATAC-seq 中,词元是基因组坐标(例如:chr1:12345-12678)。这个坐标确定了 DNA 上的一个特定位置。 - Token 的构造:
类似于 scBERT,scATAC 的 Token 通常由两部分组合而成: - 区域嵌入(Region/Peak Embedding):通过 DNA 序列特征(如 k-mer)或位置编码(Position Encoding)来表征该片段在基因组上的物理位置和生物学背景。
- 可及性嵌入(Accessibility Embedding):表征该区域在这个细胞中是“打开”的还是“关闭”的。由于 scATAC 数据极度稀疏,这通常是一个二值化(0 或 1)或经过离散化处理的计数。
2. 什么是句子(Sentence)?
“句子”代表的是一个“单个细胞的染色质可及性图谱”(Single Cell Accessibility Profile)。
- 构造方式:
一个句子由成千上万个 Peak Token 组成。它描述了在该细胞的生命状态下,整个基因组中哪些“门户”(Peaks)是打开的,哪些是关闭的。 - 序列长度问题:
这是 scATAC 的最大挑战。scRNA-seq 的基因通常有 2 万个,但 scATAC 的候选 Peak 可能有 10 万甚至 50 万个。 - 因此,scATAC Transformer 的“句子”通常比 scRNA-seq 还要长得多。
- 为了解决这个问题,模型通常只将“打开”的 Peak(Active Peaks)作为 Token 序列输入,或者使用类似 Performer 或 FlashAttention 的技术来处理超长序列。
3. scATAC 与 scRNA-seq 输入的对比
| 维度 | scRNA-seq (如 scBERT) | scATAC-seq Transformer |
|---|---|---|
| Token (词) | 基因 (Gene) | 基因组峰 (Peak/Region) |
| 词表大小 | 约 20,000 (人类基因数) | 100,000 - 500,000+ (共识峰数量) |
| Token 内容 | 基因身份 + 表达量 (Bin) | 峰坐标身份 + 可及性状态 (0/1) |
| 句子 (句) | 一个细胞的转录本组合 | 一个细胞的染色质开放状态组合 |
| 稀疏度 | 高 | 极高 (95% 以上的位点通常是 0) |
4. 具体构造过程示例
假设我们要构造一个免疫细胞的输入序列:
- 确定词表:研究者先定义一个“共识峰集”(Consensus Peaks),比如全基因组有 10 万个可能开放的位点。
- 获取状态:在这个细胞里,位点 A(
chr1:100-200)是开放的(1),位点 B(chr2:500-600)是关闭的(0)。 - 编码 Token:
- 位点 A 的 Token =
Region_Embedding(位点A)+Status_Embedding(1)。 - 位点 B 的 Token =
Region_Embedding(位点B)+Status_Embedding(0)。
- 形成句子:将这 10 万个 Token 按基因组顺序排列(或仅提取开放的 Token 乱序排列),输入到类似 Performer 的架构中。
5. 为什么 scATAC Transformer 更有挑战性?
- 维度灾难:Peak 的数量远超基因,这使得计算复杂度呈爆炸式增长。
- 语义缺失:基因有明确的功能(如“生成胰岛素”),但很多 Peak 位于非编码区(“垃圾 DNA”),其生物学意义(如增强子、启动子)需要模型通过预训练自行挖掘。

浙公网安备 33010602011771号