首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Scanpy 分析 3k PBMCs:降维与聚类

Scanpy 分析 3k PBMCs:降维与聚类

作者头像
数据科学工厂
发布2025-06-08 15:30:13
发布2025-06-08 15:30:13
12600
代码可运行
举报
运行总次数:0
代码可运行

引言

图片
图片

本系列讲解 使用Scanpy分析单细胞(scRNA-seq)数据教程[1],持续更新,欢迎关注,转发!

主成分分析

利用主成分分析(PCA)来降低数据维度,它能够揭示数据变化的主要方向,并且可以去除数据中的噪声。

代码语言:javascript
代码运行次数:0
运行
复制
sc.tl.pca(adata, svd_solver="arpack")

虽然我们可以在PCA坐标系中绘制散点图,但后续并不会用到这个图。

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.pca(adata, color="CST3")
图片
图片

我们来查看单个主成分对数据总方差的贡献程度。这有助于我们确定在计算细胞邻域关系时,应该考虑多少个主成分,比如在使用聚类函数sc.tl.louvain()tSNE sc.tl.tsne()时。在我们的经验中,对主成分数量进行一个大致的估计往往就足够了。

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.pca_variance_ratio(adata, log=True)
图片
图片

结果保存:

代码语言:javascript
代码运行次数:0
运行
复制
adata.write(results_file)

adata
图片
图片

计算邻域图

我们来根据数据矩阵的PCA表示来计算细胞的邻域图。你可以直接使用默认值。不过,为了能够复现Seurat的实验结果,我们还是采用以下这些特定的数值。

代码语言:javascript
代码运行次数:0
运行
复制
sc.pp.neighbors(adata, n_neighbors=, n_pcs=)

嵌入邻域图

我们建议采用UMAP将图嵌入到二维空间,具体内容见下文。相比tSNEUMAP在呈现流形的全局连通性方面表现得更为出色,也就是说,它能更好地保留数据的轨迹信息。不过,在某些情况下,你可能会发现存在不相连的聚类或其他连通性问题。这些问题通常可以通过运行特定的命令来解决。

代码语言:javascript
代码运行次数:0
运行
复制
sc.tl.paga(adata)
sc.pl.paga(adata, plot=False)  # remove `plot=False` if you want to see the coarse-grained graph
sc.tl.umap(adata, init_pos='paga')

sc.tl.umap(adata)

sc.pl.umap(adata, color=["CST3", "NKG7", "PPBP"])
图片
图片

由于我们对adata设置了.raw属性,之前的图展示的是“原始”(已经过标准化、对数化处理,但未经校正)的基因表达情况。你也可以通过明确指出不使用.raw属性,来绘制经过缩放和校正后的基因表达情况。

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.umap(adata, color=["CST3", "NKG7", "PPBP"], use_raw=False)
图片
图片

聚类邻域图

Seurat以及许多其他框架一样,我们推荐使用Leiden图聚类方法(基于优化模块性的社区检测)。需要注意的是,Leiden聚类是直接对细胞的邻域图进行聚类的,而我们在前面的部分已经计算出了这个邻域图。

代码语言:javascript
代码运行次数:0
运行
复制
sc.tl.leiden(
    adata,
    resolution=0.9,
    random_state=,
    flavor="igraph",
    n_iterations=,
    directed=False,
)

绘制聚类结果,这些结果与Seurat的结果非常契合。

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.umap(adata, color=["leiden", "CST3", "NKG7"])
图片
图片

结果保存:

代码语言:javascript
代码运行次数:0
运行
复制
adata.write(results_file)

Reference

[1] 

Source: https://scanpy.readthedocs.io/en/stable/tutorials/basics/clustering-2017.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 主成分分析
  • 计算邻域图
  • 嵌入邻域图
  • 聚类邻域图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档