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

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

引言

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

主成分分析

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

sc.tl.pca(adata, svd_solver="arpack")

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

sc.pl.pca(adata, color="CST3")

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

sc.pl.pca_variance_ratio(adata, log=True)

结果保存:

adata.write(results_file)

adata

计算邻域图

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

sc.pp.neighbors(adata, n_neighbors=10, n_pcs=40)

嵌入邻域图

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

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属性,来绘制经过缩放和校正后的基因表达情况。

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

聚类邻域图

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

sc.tl.leiden(
    adata,
    resolution=0.9,
    random_state=0,
    flavor="igraph",
    n_iterations=2,
    directed=False,
)

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

sc.pl.umap(adata, color=["leiden", "CST3", "NKG7"])

结果保存:

adata.write(results_file)
相关文章
|
2月前
|
编解码 算法 数据可视化
Scanpy 分析 scRNA-seq:细胞类型注释
Scanpy 分析 scRNA-seq:细胞类型注释
Scanpy 分析 scRNA-seq:细胞类型注释
|
2月前
|
数据可视化 数据挖掘
Scanpy 分析 scRNA-seq:降维与聚类
Scanpy 分析 scRNA-seq:降维与聚类
Scanpy 分析 scRNA-seq:降维与聚类
|
2月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
2月前
|
数据采集 存储 数据可视化
Scanpy 分析 3k PBMCs:数据预处理
Scanpy 分析 3k PBMCs:数据预处理
77 12
Scanpy 分析 3k PBMCs:数据预处理
|
2月前
|
存储 数据可视化 C#
三维基因组:multiHiCcompare 差异分析
三维基因组:multiHiCcompare 差异分析
79 13
三维基因组:multiHiCcompare 差异分析
|
1月前
|
数据挖掘 数据处理
单细胞RNA“速率”分析:差异动力学
单细胞RNA“速率”分析:差异动力学
单细胞RNA“速率”分析:差异动力学
|
3月前
|
存储 监控 Linux
Linux: 检测磁盘坏块 你得会吧!
Linux: 检测磁盘坏块 你得会吧!
192 19
Linux: 检测磁盘坏块 你得会吧!
|
11月前
|
搜索推荐 IDE 程序员
Git 十大提示和技巧
Git 十大提示和技巧
Git 十大提示和技巧
|
7月前
|
前端开发 数据挖掘 测试技术
R中单细胞RNA-seq分析教程 (6)
R中单细胞RNA-seq分析教程 (6)
250 12
R中单细胞RNA-seq分析教程 (6)
|
6月前
|
人工智能 Linux 文件存储
旧台式电脑的 10 种用途
旧台式电脑的 10 种用途
290 14