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)
相关文章
|
7月前
|
编解码 算法 数据可视化
Scanpy 分析 scRNA-seq:细胞类型注释
Scanpy 分析 scRNA-seq:细胞类型注释
Scanpy 分析 scRNA-seq:细胞类型注释
|
27天前
|
机器学习/深度学习 人工智能 API
构建AI智能体:二十四、RAG的高效召回方法论:提升RAG系统召回率的三大策略实践
本文探讨了检索增强生成(RAG)系统中的高效召回技术。RAG系统通过检索相关文档增强大语言模型的回答质量,但性能受制于垃圾进,垃圾出原则。为提高召回效果,文章重点分析了三种方法:Small-to-Big通过大小文本块映射兼顾检索精度与上下文丰富度;索引扩展(如HyDE)利用大模型生成假设文档来优化检索;双向改写弥合用户查询与文档表述的差异。这些方法从不同角度解决了RAG系统中的语义鸿沟、词汇不匹配等核心问题,可单独或组合使用。高效召回技术能显著提升RAG系统的回答质量和效率。
255 5
|
算法
GSEA 富集分析原理分析
本分分享了自己学习参考多篇 关于GSEA 原理的博客文献后总结的个人理解,以供参考学习
952 0
|
IDE Linux 开发工具
Linux系统、版本、CPU、内存查看、硬盘空间
*查看系统版本:lsb_release -a [root@localhost /]# lsb_release -a *查看内核版本:uname -a *查看cpu型号:cat /proc/cpuinfo [root@localhost /]# cat ...
5451 0
|
10天前
|
人工智能 运维 自然语言处理
3 个真实 GEO 成功案例 + 3 步关键词排名秘籍!开发者 / 企业快速落地 GEO,流量 & 转化双提升
本文聚焦 GEO 真实获客案例与实操技巧,通过教培机构、工业设备商、小众茶叶品牌三个实测案例,展现 GEO 落地成效:教培机构靠升学数据咨询量暴增 210%,工业设备商盯准技术痛点让单笔订单翻 5 倍,茶叶品牌借产地溯源实现客单价从 200 元飙至 500 元。核心分享三步零门槛关键词法:列客户痛点、加场景限定、数据筛词,还拆解了不同平台关键词偏好。提醒效果需 1-3 个月积累,内容需真实且持续优化。新手可直接对照案例思路,结合自身行业调整,快速抢占搜索流量,精准获客。
|
数据挖掘 Python
如何判断处理后的数据是否仍然存在重复值?
通过以上任意一种方法,都可以有效地判断处理后的数据是否仍然存在重复值,从而确保数据的准确性和唯一性,为后续的数据分析和处理提供可靠的数据基础。
524 66
|
7月前
|
数据采集 存储 数据可视化
Scanpy 分析 3k PBMCs:数据预处理
Scanpy 分析 3k PBMCs:数据预处理
242 12
Scanpy 分析 3k PBMCs:数据预处理
|
4月前
|
自然语言处理 监控 安全
从原型到生产:LLM评估框架选型的黄金法则
本文系统解析企业级LLM应用评估体系,涵盖多轮对话、RAG、智能体三大场景,对比主流框架适配性,助力构建科学评估流程。建议点赞收藏。
465 1
|
6月前
|
数据挖掘 数据处理
单细胞RNA“速率”分析:差异动力学
单细胞RNA“速率”分析:差异动力学
单细胞RNA“速率”分析:差异动力学
|
12月前
|
前端开发 数据挖掘 测试技术
R中单细胞RNA-seq分析教程 (6)
R中单细胞RNA-seq分析教程 (6)
627 12
R中单细胞RNA-seq分析教程 (6)