基因组学与 AI🔗
关键词: 基因组基础模型, Evo 2, Enformer, DNA 语言模型, 基因表达预测
难度: ⭐⭐⭐
预计阅读时间: 25 分钟
最后更新: 2026-04-09
本章导读🔗
如果说 AlphaFold 解决了蛋白质结构预测问题,那么基因组学领域的"AlphaFold 时刻"可能正在到来。2024-2025 年,一系列基因组基础模型(Genomic Foundation Model)的发布标志着 AI 开始"理解"DNA 的语言——从短序列的功能预测到跨物种的基因组生成。
本章将介绍这一快速发展的领域,重点关注几个里程碑式的模型和它们的应用场景。
1. 基因组 AI 的核心思想🔗
1.1 DNA 作为语言🔗
基因组 AI 的核心洞见与蛋白质语言模型类似:将 DNA 序列视为一种"语言"。
- DNA 只有 4 个"字母":A、T、C、G
- 但简单的字母表蕴含了极其复杂的"语法"——调控元件、基因结构、表观遗传标记
- 进化在基因组序列中留下了丰富的信息
- 可以用 Transformer 等架构学习这些模式
| 对比 | 自然语言 | DNA 序列 | 蛋白质序列 |
|---|---|---|---|
| 字母表大小 | ~50,000 (token) | 4 (A/T/C/G) | 20 (氨基酸) |
| 序列长度 | ~数千 Token | ~数十亿 bp | ~数百残基 |
| 语义 | 词义、语法 | 调控、编码 | 结构、功能 |
| 代表模型 | GPT-5.x, Claude Sonnet 4.6 | Evo 2 | ESM-2 |
1.2 与蛋白质 AI 的区别🔗
基因组 AI 面临一些独特挑战:
- 序列极长:一个人类基因组有 30 亿个碱基对,远超蛋白质(通常几百个残基)
- 功能多层次:同一段 DNA 可能同时编码蛋白质、调控信息和 RNA 结构
- 物种多样性:从细菌到人类,基因组结构差异巨大
- 标签稀缺:相比蛋白质结构数据(PDB),基因组功能注释数据更稀疏
2. Evo 系列:基因组基础模型🔗
2.1 Evo(2024,Arc Institute)🔗
Evo 是 Arc Institute(由 Patrick Hsu 等领导)开发的第一个大规模基因组基础模型。
核心设计: - 基于 StripedHyena 架构(一种高效的长序列模型,替代标准 Transformer) - 在 OpenGenome 数据集上训练(包含原核和真核基因组) - 支持高达 131K 碱基对的上下文窗口 - 70 亿参数
关键能力: - 零样本功能预测:不需要任何标注数据,直接评估 DNA 变异的功能影响 - 基因组序列生成:可以生成全新的、功能性的基因组序列(包括基因和调控元件) - 跨物种理解:在一个模型中编码了从细菌到真核生物的基因组知识 - 评估基因必要性:预测基因敲除的适应度效应
2.2 Evo 2(2025)⭐🔗
Evo 2 是 Evo 的重大升级,在多个方面实现了突破。
关键改进:
| 特性 | Evo | Evo 2 |
|---|---|---|
| 参数量 | 7B | 7B / 40B |
| 训练数据 | OpenGenome | OpenGenome2(更大、更多样) |
| 上下文窗口 | 131K bp | 131K bp(但处理更高效) |
| 架构 | StripedHyena | StripedHyena 2 |
| 物种覆盖 | 原核为主 | 原核 + 真核(含人类) |
Evo 2 的突破性成果:
- DNA 变异效应预测:在 ClinVar 致病变异数据集上,零样本预测能力接近甚至超越专门训练的模型
- 基因表达预测:可以从序列直接预测基因表达水平
- 全基因组序列生成:能生成长度超过 100 万碱基对的连贯基因组序列
- 跨物种迁移:在原核基因组上学到的模式可以迁移到真核基因组任务
使用方法:
# Evo 2 使用示例(基于 Hugging Face)
from evo2 import Evo2
model = Evo2.from_pretrained("arcinstitute/evo2-7b")
# DNA 序列评分(计算 log-likelihood)
sequence = "ATCGATCGATCG..."
score = model.score(sequence)
# 生成 DNA 序列
generated = model.generate(
prompt="ATCGATCG",
max_length=1000,
temperature=1.0
)
# 变异效应预测(比较野生型和突变型的 likelihood)
wt_score = model.score("...ATCG...")
mut_score = model.score("...ATGG...") # C→G 突变
delta_score = mut_score - wt_score # 负值可能表示有害突变
安装:
# 通过 pip 安装
pip install evo2
# 或从 GitHub 克隆
git clone https://github.com/ArcInstitute/evo2.git
cd evo2
pip install -e .
# 下载模型权重(7B 模型约 14GB)
# 40B 模型需要更大的 GPU 集群
硬件需求:
| 模型 | GPU 显存 | 推荐配置 |
|---|---|---|
| Evo 2 7B | 16GB+ | 单卡 A100 / RTX 4090 |
| Evo 2 40B | 80GB+ | 多卡 A100 / H100 |
2.3 Evo 系列的应用场景🔗
| 应用 | 说明 | 可行性 |
|---|---|---|
| 致病变异筛选 | 评估临床变异的功能影响 | ⭐⭐⭐⭐ 已验证 |
| 启动子设计 | 生成具有特定活性的启动子序列 | ⭐⭐⭐ 有初步成果 |
| 合成基因组设计 | 辅助合成生物学中的基因组设计 | ⭐⭐ 探索阶段 |
| 基因必要性预测 | 预测基因敲除的表型效应 | ⭐⭐⭐ 有初步验证 |
| 调控元件发现 | 识别非编码区的功能元件 | ⭐⭐⭐ 有潜力 |
3. Enformer:基因表达预测🔗
3.1 什么是 Enformer🔗
Enformer(2021, Google DeepMind)是一个专门用于从 DNA 序列预测基因表达和表观遗传信号的模型。1
核心设计: - 输入:198,608 bp 的 DNA 序列(以感兴趣的基因为中心) - 输出:预测 5,313 个表观基因组学/基因表达 track(如 CAGE、DNase-seq、H3K4me3 等) - 架构:Transformer + 卷积,捕获远距离调控相互作用
3.2 Enformer 能做什么🔗
- 从序列预测基因表达水平
- 评估非编码变异的影响:特别是 GWAS 中发现的调控区变异
- 识别增强子-启动子相互作用
- 预测染色质开放状态
3.3 使用方法🔗
# Enformer 使用示例
import tensorflow as tf
import tensorflow_hub as hub
# 加载模型
model = hub.load("https://tfhub.dev/deepmind/enformer/1")
# 准备输入序列(one-hot 编码,shape: [1, 393216, 4])
# 需要 393,216 bp 的序列(中心 114,688 bp 有预测输出)
import numpy as np
def one_hot_encode(sequence):
mapping = {'A': [1,0,0,0], 'C': [0,1,0,0],
'G': [0,0,1,0], 'T': [0,0,0,1], 'N': [0,0,0,0]}
return np.array([mapping.get(base, [0,0,0,0]) for base in sequence])
# 预测
sequence_one_hot = one_hot_encode(dna_sequence)
predictions = model.predict_on_batch(
sequence_one_hot[np.newaxis, ...]
)
# predictions['human'] shape: [1, 896, 5313]
# 896 个 128bp bins × 5313 个 track
3.4 局限性🔗
- 仅支持人类和小鼠基因组
- 输入长度固定(~200K bp)
- 对远距离调控(>100K bp)仍有改进空间
- 不能直接处理结构变异
4. 其他重要的基因组 AI 模型🔗
4.1 Nucleotide Transformer(InstaDeep / BioNTech)🔗
- 2,500M 参数的 DNA 语言模型
- 在多物种基因组上预训练
- 支持多种下游任务:启动子预测、剪接位点预测、表观遗传标记预测
- 提供 Hugging Face 上的预训练模型
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained(
"InstaDeepAI/nucleotide-transformer-v2-500m-multi-species"
)
model = AutoModelForMaskedLM.from_pretrained(
"InstaDeepAI/nucleotide-transformer-v2-500m-multi-species"
)
4.2 DNABERT / DNABERT-2🔗
- 最早的 DNA BERT 模型之一(2021)
- DNABERT-2 改进了 tokenization 方案(使用 BPE 而非 k-mer)
- 适合各种序列分类任务
- 社区支持好,教程丰富
4.3 HyenaDNA🔗
- 使用 Hyena 算子实现超长上下文(100 万+ bp)
- 相比 Transformer,内存效率更高
- 适合需要建模染色体级别序列的任务
4.4 Caduceus🔗
- 双向 DNA 语言模型
- 同时考虑正链和反义链
- 基于 Mamba 架构(选择性状态空间模型)
4.5 模型对比🔗
| 模型 | 参数量 | 最大序列长度 | 架构 | 主要用途 |
|---|---|---|---|---|
| Evo 2 | 7B/40B | 131K bp | StripedHyena | 通用基因组建模、生成 |
| Enformer | ~200M | 393K bp | Transformer+Conv | 基因表达预测 |
| Nucleotide Transformer | 500M~2.5B | 6K bp | Transformer | 序列分类、标注 |
| DNABERT-2 | 117M | 512 tokens | BERT | 多种下游任务 |
| HyenaDNA | ~1.5B | 1M bp | Hyena | 长程依赖建模 |
| Caduceus | ~1B | 131K bp | Mamba | 双向 DNA 理解 |
5. 实际应用场景🔗
5.1 临床变异解读🔗
# 使用 Evo 2 评估 ClinVar 变异
import pandas as pd
variants = pd.read_csv("clinvar_variants.csv")
# 列:chrom, pos, ref, alt, significance
results = []
for _, var in variants.iterrows():
# 获取包含变异位置的序列窗口
wt_seq = get_reference_sequence(var.chrom, var.pos - 500, var.pos + 500)
mut_seq = mutate_sequence(wt_seq, 500, var.ref, var.alt)
wt_score = model.score(wt_seq)
mut_score = model.score(mut_seq)
results.append({
'variant': f"{var.chrom}:{var.pos}{var.ref}>{var.alt}",
'delta_score': mut_score - wt_score,
'clinical': var.significance
})
# 负的 delta_score 倾向于对应致病变异
5.2 合成启动子设计🔗
利用 Evo 2 的生成能力,设计具有特定表达水平的启动子:
- 从已知启动子出发,使用模型生成变体
- 用 Enformer 或实验验证活性
- 筛选符合目标表达水平的设计
5.3 调控元件发现🔗
对基因组区域进行滑窗扫描,利用模型的注意力模式或似然值变化识别功能性调控元件。
实操演示🔗
练习 1:使用 Evo 2 评估变异🔗
- 安装 Evo 2
- 选择一个已知的致病变异(如 BRCA1 上的某个变异)
- 计算野生型和突变型的序列似然分数
- 比较分数差异
练习 2:Nucleotide Transformer 序列分类🔗
- 安装 Hugging Face transformers
- 加载 Nucleotide Transformer 模型
- 用推荐的分类头对启动子/非启动子序列进行分类
- 评估性能
练习 3:Enformer 基因表达预测🔗
- 获取某基因周围的 DNA 序列
- 使用 Enformer 预测该位置的基因表达 track
- 可视化预测结果
- 引入一个已知的 eQTL 变异,观察预测变化
本章小结🔗
- ✅ 基因组 AI 正在快速发展,Evo 2 是目前最强大的基因组基础模型
- ✅ DNA 语言模型的核心思想与蛋白质语言模型类似,但面临序列更长、功能更复杂的挑战
- ✅ Enformer 是基因表达预测的标杆工具,特别适合非编码变异的功能评估
- ✅ 多种 DNA 语言模型可用于序列分类、变异评估等下游任务
- ✅ 临床变异解读、合成启动子设计、调控元件发现是最有前景的应用方向
- ✅ 该领域进展极快,建议持续关注 bioRxiv 和相关 GitHub 仓库
延伸阅读🔗
- Evo 2 论文(2026-04 访问)
- Evo 2 GitHub(2026-04 访问)
- Enformer 论文补充
- Nucleotide Transformer GitHub(2026-04 访问)
- DNABERT-2 GitHub(2026-04 访问)
- Genomic Foundation Models Review — 综述论文
参考文献🔗
-
Avsec, Ž. et al. "Effective gene expression prediction from sequence by integrating long-range interactions." Nature Methods, 2021. ↩
-
Nguyen, E. et al. "Sequence modeling and design from molecular to genome scale with Evo." Science, 2024. ↩
-
The Evo 2 Team. "Genome modeling and design across all domains of life with Evo 2." Arc Institute, 2025. ↩