SuperAPI AI 工具集

scanpy

数据与分析

查看项目

更新于 10-15 09:11

技能介绍

用途

Scanpy 是一个建立在 AnnData 数据结构之上的可扩展 Python 工具包,用于分析单细胞 RNA 测序数据。适用于完整的单细胞分析工作流,包括:读取 .h5ad/10X/CSV 数据、进行质量控制、归一化、降维、聚类、标记基因识别、可视化以及轨迹分析。当需要处理 scRNA-seq 数据集、生成 UMAP/t-SNE/PCA 可视化、注释细胞类型、进行轨迹推断或伪时间分析、创建出版物级图表时,可以使用该技能。

主要能力

  • 数据加载与结构:支持从 10X Genomics(sc.read_10x_mtx、sc.read_10x_h5)、h5ad(sc.read_h5ad)和 CSV(sc.read_csv)加载数据。核心对象为 AnnData,包含 adata.X(表达矩阵)、adata.obs(细胞元数据)、adata.var(基因元数据)、adata.uns(非结构化注释)、adata.obsm(多维细胞数据,如 PCA、UMAP)和 adata.raw(原始数据备份)。
  • 质量控制:识别线粒体基因,计算 QC 指标(sc.pp.calculate_qc_metrics),通过小提琴图可视化,并依据每细胞最小基因数、每基因最小细胞数、线粒体百分比阈值过滤低质量细胞和基因。
  • 归一化与预处理:将每个细胞的计数归一化到目标总和(默认 1e4),进行对数变换,保存原始计数,识别高变基因,回归去除不需要的变化,并进行数据缩放。
  • 降维:使用 PCA 降维并检查方差比例图,构建邻域图,生成 UMAP 或 t-SNE 用于可视化。
  • 聚类:支持 Leiden 聚类,可尝试多个分辨率以找到最佳粒度。
  • 标记基因识别:使用 Wilcoxon 方法等方法为每个聚类寻找标记基因,并以排名图、热图、点图等方式可视化,结果可导出为 DataFrame。
  • 细胞类型注释:定义已知细胞类型的标记基因,通过 UMAP、点图可视化,并根据聚类映射手动注释细胞类型。
  • 轨迹推断:支持 PAGA 和扩散伪时间(DPT)分析。
  • 差异表达与基因集评分:支持在细胞类型内比较不同条件,以及为细胞进行基因集评分。
  • 批次校正:提供 ComBat 批次校正;也可使用 Harmony 或 scVI(需单独安装)。
  • 可视化与保存:可生成出版物质量图表,并保存处理后的数据及元数据。

使用方式

基本流程为导入 scanpy 并配置设置,加载数据后按标准工作流依次执行:质量控制(sc.pp.calculate_qc_metrics、sc.pp.filter_cells、sc.pp.filter_genes)、归一化(sc.pp.normalize_total、sc.pp.log1p)、高变基因选择(sc.pp.highly_variable_genes)、降维(sc.tl.pca、sc.pp.neighbors、sc.tl.umap 或 sc.tl.tsne)、聚类(sc.tl.leiden)、标记基因识别(sc.tl.rank_genes_groups)、细胞类型注释以及保存结果(adata.write、adata.obs.to_csv)。技能还提供了自动化 QC 脚本:

python scripts/qc_analysis.py input_file.h5ad --output filtered.h5ad

以及分析模板:

cp assets/analysis_template.py my_analysis.py
python my_analysis.py

可参考的文档包括标准工作流指南、API 参考和绘图指南。

适用场景

  • 分析单细胞 RNA-seq 数据(.h5ad、10X、CSV 格式)。
  • 对 scRNA-seq 数据集进行质量控制。
  • 创建 UMAP、t-SNE 或 PCA 可视化。
  • 识别细胞聚类并寻找标记基因。
  • 基于基因表达注释细胞类型。
  • 进行轨迹推断或伪时间分析。
  • 生成出版物质量单细胞图表。

限制与注意事项

  • 需在过滤基因前始终保存原始计数(adata.raw = adata)。
  • 应仔细检查 QC 图,根据数据集质量调整阈值。
  • 推荐使用 Leiden 而非 Louvain 聚类。
  • 应尝试多种聚类分辨率以找到最佳粒度。
  • 细胞类型注释需使用多个标记基因进行验证。
  • 基因表达图使用 use_raw=True 以显示原始计数。
  • 检查 PCA 方差比例图以确定最佳主成分数量。
  • 长工作流需保存中间结果。
  • 关于收费、价格、支持平台等更多信息,暂未提供。