在单细胞多组学研究中,ATAC-seq(染色质可及性测序)与空间转录组技术的联合分析正成为解析细胞异质性和空间功能的关键手段。百创空间(BGI-Research)平台推出的多层级(Level)数据分析框架中,Level1作为基础数据层,如何准确映射到更高级别的分析层级(Level2/3/4)直接决定了后续生物学发现的可靠性。
这个技术方案解决的核心痛点是:当研究人员在Level1完成基础数据生成(如细胞聚类、开放染色质区域鉴定)后,需要将单细胞级别的ATAC信号与空间转录组spot进行精准匹配,从而在更高层级实现表观遗传调控与空间基因表达的关联分析。这种跨层级、跨模态的数据映射存在三大挑战:
采用"先对齐后映射"的两阶段策略:
python复制# 伪代码示例:Wasserstein距离计算
def wasserstein_mapping(atac_cell, st_spot):
# 计算染色质开放度与基因表达的联合分布
atac_dist = normalize(atac_cell.peaks)
rna_dist = normalize(st_spot.genes)
return scipy.stats.wasserstein_distance(atac_dist, rna_dist)
注意:当组织切片存在明显变形时,建议先使用ANTs进行非线性配准,否则会导致边缘区域映射偏差超过20%
ATAC数据:
空间转录组:
r复制# R代码示例:使用Seurat v5进行跨模态对齐
atac <- CreateSeuratObject(atac_counts, assay = "ATAC")
st <- Load10X_Spatial("path/to/spatial")
# 共享基因特征提取
joint.features <- intersect(
rownames(atac@assays$ATAC@ranges),
VariableFeatures(st)
)
# 执行多模态整合
anchors <- FindTransferAnchors(
reference = atac,
query = st,
features = joint.features,
reduction = "cca"
)
# 预测空间spot的ATAC特征
predictions <- TransferData(
anchorset = anchors,
refdata = atac$celltype,
weight.reduction = st[["pca"]],
dims = 1:30
)
| 指标名称 | 计算公式 | 合格阈值 |
|---|---|---|
| 映射一致性 | 1 - JS散度(ATAC/RNA分布) | >0.65 |
| 空间自相关 | Moran's I指数 | >0.3 |
| 细胞类型保真度 | ARI指数(与scRNA比对) | >0.5 |
问题1:边缘spot映射失败
问题2:稀有细胞类型丢失
问题3:技术批次效应干扰
通过Level1→Level2映射后,可结合PAGA算法:
案例:在肝癌样本中发现:
推荐工具链:
内存管理:
GPU加速:
python复制import cupy as cp
def gpu_wasserstein(a,b):
a_gpu = cp.asarray(a)
b_gpu = cp.asarray(b)
return cp.linalg.norm(a_gpu - b_gpu, ord=1)
并行计算:
在实际项目中,我们通过上述方法将10x Genomics Visium与snATAC的联合分析时间从72小时缩短到6小时(AWS r5.8xlarge实例)。关键是要在Level1阶段就做好数据质量控制,否则后续映射步骤会放大噪声。一个实用的检查点是:确保ATAC数据的TSS enrichment score >8,空间数据的UMI中位数>1000。