[ PROMPT_NODE_27386 ]
models-scrna-seq
[ SKILL_DOCUMENTATION ]
# 单细胞 RNA-seq 模型
本文档涵盖了 scvi-tools 中用于分析单细胞 RNA 测序数据的核心模型。
## scVI (Single-Cell Variational Inference)
**目的**: scRNA-seq 数据的无监督分析、降维和批次校正。
**关键特性**:
- 基于变分自编码器 (VAE) 的深度生成模型
- 学习捕捉生物学变异的低维潜在表示
- 自动校正批次效应和技术协变量
- 支持归一化基因表达估计
- 支持差异表达分析
**适用场景**:
- scRNA-seq 数据集的初步探索和降维
- 整合多个批次或研究
- 生成批次校正后的表达矩阵
- 执行概率差异表达分析
**基本用法**:
python
import scvi
# 设置数据
scvi.model.SCVI.setup_anndata(
adata,
layer="counts",
batch_key="batch"
)
# 训练模型
model = scvi.model.SCVI(adata, n_latent=30)
model.train()
# 提取结果
latent = model.get_latent_representation()
normalized = model.get_normalized_expression()
**关键参数**:
- `n_latent`: 潜在空间维度(默认值:10)
- `n_layers`: 隐藏层数(默认值:1)
- `n_hidden`: 每个隐藏层的节点数(默认值:128)
- `dropout_rate`: 神经网络的丢弃率(默认值:0.1)
- `dispersion`: 基因特异性或细胞特异性离散度("gene" 或 "gene-batch")
- `gene_likelihood`: 数据分布("zinb", "nb", "poisson")
**输出**:
- `get_latent_representation()`: 批次校正后的低维嵌入
- `get_normalized_expression()`: 去噪后的归一化表达值
- `differential_expression()`: 组间概率差异表达测试
- `get_feature_correlation_matrix()`: 基因-基因相关性估计
## scANVI (Single-Cell ANnotation using Variational Inference)
**目的**: 使用标记和未标记细胞进行半监督细胞类型注释和整合。
**关键特性**:
- 在 scVI 基础上增加了细胞类型标签
- 利用部分标记的数据集进行注释迁移
- 同时执行批次校正和细胞类型预测
- 支持查询集到参考集的映射
**适用场景**:
- 使用参考标签注释新数据集
- 从注释良好的数据集到未标记数据集的迁移学习
- 标记和未标记细胞的联合分析
- 构建具有不确定性量化的细胞类型分类器