VariantFormer
文章解析
VariantFormer 是一种参数量达 12 亿 的分层 Transformer 模型,旨在直接从个性化二倍体基因组预测组织特异性的基因表达 。它通过整合 DNA 序列信息、遗传变异以及多层级的调控图谱,弥合了传统统计遗传学与深度学习序列建模之间的鸿沟 。
一、 模型的输入 (Inputs)
VariantFormer 的输入主要包含以下三个核心要素:
-
个性化二倍体 DNA 序列:
- 模型利用 IUPAC 模糊代码(如 A/G 编码为 R)将个体的单核苷酸多态性 (SNP) 和插入/缺失 (Indel) 直接编码进序列中 。
- 这种设计使其能够原生支持杂合基因型、单倍型效应以及多个顺式作用变异间的上位性互作建模 。
-
双重基因组窗口上下文:
- 顺式调控元件 (CRE) 窗口:涵盖基因主体周围 \(\pm 1\) Mb 的长程窗口,用于捕捉远端增强子等调控区域 。
- 基因转录窗口:涵盖基因主体及其近端区域(通常为上游 1 kb 至下游 300 kb) 。
-
组织特异性条件令牌 (Conditioning Tokens):
- 引入可学习的组织/细胞系特异性注册令牌 (\(r_t\)),作为模型感知特定生理环境(如大脑、血液、皮肤等)的信号 。
二、 架构中的交互与处理流程 (Interaction & Processing)
模型采用两阶段分层架构,通过不同的调节器模块处理上述输入并实现复杂交互 :
1. 表观遗传调节器 (CRE Modulator / Epigenetic Modulator)
- 序列编码:利用预训练且冻结的编码器 (\(\Phi_{CRE}\)) 将顺式调控区域的序列转化为嵌入表示 。
- 调控建模:通过自注意力机制捕获不同调控元件间的相互作用,并结合 CRE 功能注释(如启动子、增强子分类)进行交叉注意力处理,构建情境化的表观遗传景观表征 。
2. 基因调节器 (Gene Modulator)
- 动态微调:处理转录窗口的编码器 (\(\Phi_{gene}\)) 在训练中进行端到端微调,以识别与转录输出相关的关键特征(如剪接位点、调控基序) 。
- 层级化交叉注意力 (Hierarchical Cross-Attention):这是交互的核心。基因窗口的嵌入会作为 Query (查询),在多个 Transformer 层中依次关注表观遗传调节器生成的 CRE 表征 。
- 这种分层设计模拟了生物学调控级联:较浅层捕获局部染色质特征,较深层整合长程增强子-启动子成环等高阶信号 。
3. 组织令牌的整合
- 组织特异性注册令牌会被前置到基因嵌入序列中,使模型能够根据不同组织的调控程序动态调整最终的聚合策略 。
三、 模型的输出 (Outputs)
VariantFormer 提供两类主要输出,支持多样化的下游任务:
-
个性化 mRNA 丰度预测:
-
模型最终通过一个共享的预测头 (MLP) 输出,其将基因建模为泊松过程,预测每个个体在特定组织中的基因水平表达量 。
-
\[Pes \mid Rg,Wg_{gene} \sim Poissones \mid \lambda_{Rg,Wg_{gene}} ; [cite_start]\theta_{CRE}, \theta_{gene} \]
-
-
具有生物学意义的基因嵌入 (Gene Embeddings):
- 模型学习到的高维稠密向量表示,能够捕获组织背景和功能信息 。
- 这些嵌入可直接用于阿尔茨海默病等疾病的风险分层和分类任务,且表现优于基于基因型的传统方法 。
计算机技术视角
我们可以把 VariantFormer 的输入和处理流程拆解为以下三个技术模块:
1. 输入层:从“源代码”到“特征张量”
在计算机视角下,DNA 就是长达 30 亿个字符的字符串。
-
二倍体基因组与 IUPAC 编码(Patch Encoding):
- 生物概念:人类有两套染色体(二倍体),同一个位点可能父系是 A,母系是 G(杂合子) 。
- CS 解释:为了不丢失这部分信息,模型没有简单取平均,而是用 IUPAC 模糊代码进行扩展编码 。比如,如果一个位点既有 A 又有 G,就用字符
R表示 。 - 处理:这相当于在分词(Tokenization)之前,先做了一层“信息压缩”,把两个维度的变异压缩到了一个字符里 。
-
BPE 分词(Subword Tokenization):
- 处理:和 NLP 中的 GPT 类似,模型对 DNA 序列也用了 Byte Pair Encoding (BPE) 。它不是按单个碱基处理,而是把经常一起出现的 DNA 片段(类似词根)切成 Token 。词表大小设定为 500 。
2. 架构层:双路径特征提取与融合
模型把输入切成了两部分,这非常像多模态或多尺度特征融合:
| 组件 | 输入内容 (Input) | 处理方式 (Processing) | 技术逻辑 |
|---|---|---|---|
| 表观遗传调节器 (CRE Modulator) | 远端开关 (CREs):散落在基因周围 \(\pm 1\)Mb 的调控元件 。 | Frozen Encoder:使用预训练好的模型,参数冻结 。 | 调控元件的“语法”在全人类中比较通用,类似图像识别中冻结的 Backbone 。 |
| 基因调节器 (Gene Modulator) | 主程序 (Transcription Window):基因本身的序列 。 | Fine-tuned Encoder:参数随任务更新 。 | 基因自身的变异直接决定表达量,需要模型针对性地学习特征 。 |
核心交互:层级化交叉注意力 (Hierarchical Cross-Attention)
这是模型最关键的设计。你可以把它理解为:
- Query (Q):来自“主程序”(基因序列) 。
- Key (K) / Value (V):来自“远端开关”(CREs) 。
- 逻辑:模型在每一层都会询问:“为了预测这个基因的表达,我应该关注周围哪些远端开关的状态?” 。这种分层级 (Hierarchical) 的交互模拟了生物学中 DNA 链在三维空间折叠,远端元件靠近基因主体的物理过程 。
3. 输出层:回归预测与环境参数
-
组织注册令牌 (Tissue Tokens - Environment Variables):
- CS 解释:这是一个可学习的 Embedding Vector,代表特定环境 。预测时,模型会传入一个“组织标签”(如:
大脑或心脏) 。 - 作用:它像是一个全局偏置或上下文向量,告诉模型在当前“环境参数”下,哪些 DNA 特征更重要 。
- CS 解释:这是一个可学习的 Embedding Vector,代表特定环境 。预测时,模型会传入一个“组织标签”(如:
-
泊松回归 (Poisson Head - Count Data Prediction):
- 生物概念:表达量本质上是细胞内 RNA 分子的“计数” 。
- CS 解释:模型最后接一个 MLP,输出层使用 Softplus 激活函数(确保输出 \(>0\)),并最小化泊松负对数似然损失 (Poisson NLL Loss) 。这比普通的 MSE(均方误差)更适合处理这种非负的、具有长尾分布的计数数据 。
总结给你的“极简版”模型流程图:
-
输入:
DNA字符串+个体变异Patch+环境ID。 -
特征提取:
- 路径 A:提取周围开关的静态特征(冻结层) 。
- 路径 B:提取基因本身的动态特征(微调层) 。
-
融合:用 Cross-Attention 让基因特征去“寻找”周围开关的信号 。
-
输出:在环境 ID 的干预下,预测出一个代表“表达频率”的数值 \(\lambda\) 。

浙公网安备 33010602011771号