[ PROMPT_NODE_27382 ]
models-atac-seq
[ SKILL_DOCUMENTATION ]
# ATAC-seq 和染色质可及性模型
本文档涵盖了 scvi-tools 中用于分析单细胞 ATAC-seq 和染色质可及性数据的模型。
## PeakVI
**目的**:使用峰值计数分析和整合单细胞 ATAC-seq 数据。
**主要功能**:
- 专为 scATAC-seq 峰值数据设计的变分自编码器
- 学习染色质可及性的低维表示
- 执行跨样本的批次校正
- 启用差异可及性测试
- 整合多个 ATAC-seq 数据集
**适用场景**:
- 分析 scATAC-seq 峰值计数矩阵
- 整合多个 ATAC-seq 实验
- 染色质可及性数据的批次校正
- ATAC-seq 的降维
- 细胞类型或条件之间的差异可及性分析
**数据要求**:
- 峰值计数矩阵 (细胞 × 峰值)
- 峰值可及性的二进制或计数数据
- 批次/样本注释(可选,用于批次校正)
**基本用法**:
python
import scvi
# 准备数据 (峰值应在 adata.X 中)
# 可选:过滤峰值
sc.pp.filter_genes(adata, min_cells=3)
# 设置数据
scvi.model.PEAKVI.setup_anndata(
adata,
batch_key="batch"
)
# 训练模型
model = scvi.model.PEAKVI(adata)
model.train()
# 获取潜在表示 (批次校正后)
latent = model.get_latent_representation()
adata.obsm["X_PeakVI"] = latent
# 差异可及性
da_results = model.differential_accessibility(
groupby="cell_type",
group1="TypeA",
group2="TypeB"
)
**关键参数**:
- `n_latent`: 潜在空间的维度 (默认: 10)
- `n_hidden`: 每个隐藏层的节点数 (默认: 128)
- `n_layers`: 隐藏层数 (默认: 1)
- `region_factors`: 是否学习区域特定因子 (默认: True)
- `latent_distribution`: 潜在空间的分布 ("normal" 或 "ln")
**输出**:
- `get_latent_representation()`: 细胞的低维嵌入
- `get_accessibility_estimates()`: 归一化的可及性值
- `differential_accessibility()`: 差异峰值的统计测试
- `get_region_factors()`: 峰值特定的缩放因子
**最佳实践**:
1. 过滤掉低质量的峰值(仅存在于极少数细胞中)
2. 如果整合多个样本,请包含批次信息
3. 使用潜在表示进行聚类和 UMAP 可视化
4. 对于具有高技术变异的数据集,考虑使用 `region_factors=True`
5. 将潜在嵌入存储在 `adata.obs