📜  scanpy 下载 (1)

📅  最后修改于: 2023-12-03 15:19:59.327000             🧑  作者: Mango

Scanpy:高效的单细胞RNA测序分析工具

介绍

Scanpy是一个基于Python的分析单个细胞RNA测序(scRNA-seq)数据的工具。它针对大规模数据集进行了优化,并提供了广泛的模块化分析流程,包括质量控制、预处理、可视化和数据分析。它还支持多种工具,如降维、聚类、基因集分析等。

Scanpy旨在为广大生物学家提供一个高效、可靠和易于使用的数据分析工具,以加快单个细胞研究的发展。

特性
  • 大规模数据处理和可视化
  • 针对单细胞RNA测序数据的质量控制、预处理和分析流程
  • 多种降维和聚类技术,如PCA,t-SNE,UMAP等
  • 基因差异表达分析和基因集富集分析
  • 可以与AnnData,Seurat和Scanpy Python软件包兼容
安装

通过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数据集,并用于基因表达差异分析和基因集富集分析。