SuperAPI AI 工具集

scanpy

数据与分析

查看项目

更新于 10-16 04:08

技能介绍

用途

Scanpy 是一个可扩展的 Python 工具包,用于分析单细胞 RNA 测序(scRNA-seq)数据,构建在 AnnData 数据结构之上。该技能适用于完整的单细胞工作流,包括质量控制、归一化、降维、聚类、标记基因识别、可视化以及轨迹分析。

何时使用

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

主要能力

数据读取与 AnnData 结构

支持从 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 以及原始数据备份 adata.raw。

标准分析工作流

  1. 质量控制:识别线粒体基因,计算 QC 指标(sc.pp.calculate_qc_metrics),可视化并过滤低质量细胞和基因。
  2. 归一化与预处理:sc.pp.normalize_total、sc.pp.log1p、保存原始计数、sc.pp.highly_variable_genes 选择高变基因、sc.pp.regress_out 回归去除不需要的变异、sc.pp.scale 缩放。
  3. 降维:PCA(sc.tl.pca)、邻域图(sc.pp.neighbors)、UMAP(sc.tl.umap)、t-SNE(sc.tl.tsne)。
  4. 聚类:推荐 Leiden 聚类(sc.tl.leiden),可尝试多个分辨率。
  5. 标记基因识别:sc.tl.rank_genes_groups,支持 wilcoxon 等方法,可生成热图、点图。
  6. 细胞类型注释:基于标记基因可视化与手动映射。
  7. 结果保存:写出 h5ad 及元数据 CSV。

常见任务

  • 发表级图表:设置高 DPI、PDF 格式、自定义配色与图例。
  • 轨迹推断:PAGA(sc.tl.paga)、扩散拟时序(sc.tl.dpt)。
  • 条件间差异表达:sc.tl.rank_genes_groups 指定分组与参考。
  • 基因集评分:sc.tl.score_genes。
  • 批次校正:ComBat(sc.pp.combat),或使用 Harmony、scVI 等独立包。

使用方式

快速开始

import scanpy as sc
import pandas as pd
import numpy as np

sc.settings.verbosity = 3
sc.settings.set_figure_params(dpi=80, facecolor='white')
sc.settings.figdir = './figures/'

adata = sc.read_10x_mtx('path/to/data/')

配套资源

  • scripts/qc_analysis.py:自动化质量控制脚本,计算指标、生成图表并过滤数据。
    python scripts/qc_analysis.py input.h5ad --output filtered.h5ad \
        --mt-threshold 5 --min-genes 200 --min-cells 3
    
  • references/standard_workflow.md:完整分步工作流,含详细说明与代码示例。
  • references/api_reference.md:按模块组织的 scanpy 函数速查。
  • references/plotting_guide.md:综合可视化指南。
  • assets/analysis_template.py:从数据加载到细胞类型注释的完整分析模板。

关键参数

  • 质量控制:min_genes(通常 200-500)、min_cells(通常 3-10)、pct_counts_mt(通常 5-20%)。
  • 归一化:target_sum(默认 1e4)。
  • 特征选择:n_top_genes(通常 2000-3000)。
  • 降维:n_pcs、n_neighbors(通常 10-30)。
  • 聚类:resolution(0.4-1.2,越高簇越多)。

适用场景

适用于单细胞 RNA 测序数据的完整分析流程,从原始数据读取、质量控制、归一化、降维聚类,到标记基因识别、细胞类型注释、轨迹推断和发表级图表生成。适合生物信息学研究人员、计算生物学开发者以及需要处理 scRNA-seq 数据的科研工作流。

限制

  • 仅在任务明确匹配上述范围时使用。
  • 输出不应替代特定环境的验证、测试或专家审查。
  • 若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。
  • 官方文档:https://scanpy.readthedocs.io/ ;教程:https://scanpy-tutorials.readthedocs.io/ ;scverse 生态:https://scverse.org/ 。