📅  最后修改于: 2023-12-03 15:19:59.327000             🧑  作者: Mango
Scanpy是一个基于Python的分析单个细胞RNA测序(scRNA-seq)数据的工具。它针对大规模数据集进行了优化,并提供了广泛的模块化分析流程,包括质量控制、预处理、可视化和数据分析。它还支持多种工具,如降维、聚类、基因集分析等。
Scanpy旨在为广大生物学家提供一个高效、可靠和易于使用的数据分析工具,以加快单个细胞研究的发展。
通过pip安装:
!pip install scanpy
或者从源代码安装:
!pip install git+https://github.com/theislab/scanpy.git
注意:Scanpy需要Python3.6或更高版本
从10X genomics格式的h5文件加载数据
import scanpy as sc
adata = sc.read_10x_h5(<filename>)
从AnnData对像文件加载数据
import scanpy as sc
import anndata
# 从本地文件
adata = anndata.read_h5ad(<filename>)
# 从URL下载和读取
url = 'https://s3-us-west-2.amazonaws.com/10x.files/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz'
adata = sc.read_10x_mtx(url, var_names='gene_symbols', cache=True)
从数据集中去除低质量细胞
sc.pp.filter_cells(adata, min_genes=<min_genes_per_cell>)
sc.pp.filter_genes(adata, min_cells=<min_cells_per_gene>)
基因表达量归一化和log变换
sc.pp.normalize_per_cell(adata, counts_per_cell_after=<count_per_cell>)
sc.pp.log1p(adata)
计算百分位数归一化
sc.pp.normalize_total(adata, target_sum=<target_gene_count>)
UMAP降维和t-SNE可视化
sc.pp.neighbors(adata)
sc.tl.umap(adata)
sc.tl.tsne(adata)
细胞聚类
sc.tl.leiden(adata)
聚类可视化
sc.pl.umap(adata, color=['leiden'])
基因差异表达分析
sc.tl.rank_genes_groups(adata, 'leiden', method='t-test')
sc.pl.rank_genes_groups(adata)
基因集富集分析
sc.tl.enrichment_score(adata, motifs='pyrimidine')
sc.pl.violin(adata, ['n_genes'], 'CyclingCells', stripplot=True, jitter=True, log=False,enrichment_scores='pyrimidine')
Scanpy是一个功能强大、易于使用的单细胞RNA-seq数据分析工具,提供了许多有用的分析工具和可视化方法,对单细胞研究有很大的帮助。通过适当的质量控制和预处理,可以使用Scanpy生成高质量的单细胞RNA-seq数据集,并用于基因表达差异分析和基因集富集分析。