【单细胞】Scanpy进行数据归一化

Scanpy的pp.scale函数用于将单细胞数据归一化,确保mean等于0且variance等于1。即使某些基因没有方差,该函数也会保留它们,如果启用zero_center选项,零值会被设为0,否则无方差的基因将被移除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 功能

scanpy.pp.scale

将数据归一化到mean=0,var=1。
如果某个基因没有任何方差,也会被保留,如果设置了zero_center=True,那么会设置为0 ,未来会设置为NaN。否则会丢掉这个基因。

2 参考文献

[1]利用scanpy进行数据归一化

### Scanpy 单细胞数据分析标准工作流 Scanpy 是一种基于 Python 的开源单细胞数据分析工具,专为高效处理大规模单细胞基因表达数据而设计[^5]。以下是使用 Scanpy 进行单细胞数据分析的标准工作流: #### 1. 数据预处理 在开始分析之前,需要加载原始数据并对数据进行初步清理和过滤。此过程包括去除低质量细胞、归一化数据以及检测高变基因。 ```python import scanpy as sc # 加载数据 adata = sc.read_10x_h5('filtered_gene_bc_matrices.h5') # 初步过滤 sc.pp.filter_cells(adata, min_genes=200) sc.pp.filter_genes(adata, min_cells=3) # 归一化和对数变换 sc.pp.normalize_total(adata, target_sum=1e4) sc.pp.log1p(adata) # 高变基因选择 sc.pp.highly_variable_genes(adata, flavor="seurat", n_top_genes=2000) ``` #### 2. 构建邻域图 为了捕捉细胞间的相似性关系,可以利用 PCA 和 UMAP 方法降维,并构建邻域图来表示细胞间的关系。 ```python # 主成分分析 (PCA) sc.tl.pca(adata, svd_solver='arpack') # 计算最近邻图 sc.pp.neighbors(adata, n_neighbors=10, n_pcs=40) # 绘制UMAP可视化 sc.tl.umap(adata) sc.pl.umap(adata, color=['cell_type']) ``` #### 3. 聚类分析 通过 Louvain 或 Leiden 算法实现无监督聚类,识别潜在的细胞亚群。 ```python # 使用Louvain算法进行聚类 sc.tl.louvain(adata) # 可视化聚类结果 sc.pl.umap(adata, color='louvain') ``` #### 4. 差异表达分析 针对每个簇执行差异表达分析,找出显著上调或下调的标记基因。 ```python # 执行差异表达测试 sc.tl.rank_genes_groups(adata, 'louvain', method='t-test') # 查看前几个标志基因 sc.pl.rank_genes_groups(adata, n_genes=25, sharey=False) ``` #### 5. 多组学数据整合(可选) 如果涉及多模态数据,则可以通过共识聚类方法或多组学因子分析等方式完成数据整合[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值