干货来啦!快进来看!教你使用scmap包构建单细胞簇索引,轻松实现对单细胞的精准鉴定和比对分析!






干货来啦!快进来看!教你使用scmap包构建单细胞簇索引,轻松实现对单细胞的精准鉴定和比对分析!

小果  生信果  2024-05-15 19:00:57

收录于话题

#R代码#生信实操

嗨,同学们!小果又来啦!今天我们要一起来探索一个非常厉害的工具——scmap包!想象一下,你手头有一大批单细胞RNA测序数据,每个细胞都是一个谜团,蕴含着无限的可能性。那么,如何比较这些细胞之间的相似性和差异性?如何将它们准确地映射到已知的参考数据集中?别着急,scmap包就是你的得力助手!它不仅能够帮你识别细胞类型,还能分析细胞状态的变化,探索样本之间的相似性和差异性。这篇宝藏文章可是出自小果我这个生信高手之手哦,要是同学们有自己做不了的生信分析,欢迎随时联系我!!!
在今天的学习中,我们将深入了解scmap包的功能和重要性,学会如何构建SingleCellExperiment对象并进行特征筛选,进而构建细胞簇基因特征索引,最终实现对单细胞数据的准确鉴定和比对分析。让我们一起开启对scmap包的学习之旅吧!
本次介绍的R包需要较多的硬件资源,在服务器可以更加流畅运行,同学们如果没有自己的服务器欢迎联系我们进行服务器租赁~      



公众号后台回复“111”

领取本篇代码、基因集或示例数据等文件

文件编号:240510-2

需要租赁服务器的小伙伴可以扫码添加小果,此外小果还提供生信分析,思路设计,文献复现等,有需要的小伙伴欢迎来撩~

scmap包介绍
scmap是一个用于单细胞RNA测序数据的强大工具包,旨在比较和转录组学映射。它提供了识别单细胞样本间相似性和差异性的功能,同时也能够将单细胞数据映射到已知的参考数据集中。通过比较和分析单细胞数据,scmap能够帮助用户识别细胞类型、分析细胞状态变化,并探索样本间的相似性和差异性。该工具包支持单个或多个样本的比较,可用于细胞类型识别、样本比较和细胞状态分析等应用场景。scmap的使用简单直观,是单细胞RNA测序数据分析的有力辅助工具。          
scmap包安装
需要R语言版本为4.3,在控制台中输入以下命令:
if (!require("BiocManager", quietly = TRUE))    install.packages("BiocManager ")BiocManager::install("scmap") # 在BiocManager环境下安装scmap查看是否安装成功:packageVersion("scmap") # 查看scmap版本
   
显示为1.24.0版本,则表示已经安装了scmap包。
除此之外,后续示例还需要使用SingleCellExperiment包,我们可以提前安装,安装命令如下:
BiocManager::install("SingleCellExperiment") # 在BiocManager环境下安装SingleCellExperiment
使用scmap包进行单细胞样本数据对比
载入需要的包和数据:
scmap包是建立在Bioconductor的SingleCellExperiment类之上的。我们会演示如何将包含实验数据的矩阵或数据框转化为SingleCellExperiment类,如果同学们想要进一步了解SingleCellExperiment类,可以阅读SingleCellExperiment包的参考手册。
首先,我们需要载入需要用到的包,命令如下:library(SingleCellExperiment) # 载入SingleCellExperiment包library(scmap) # 载入scmap包
接下来,我们将使用scmap提供的一个示例表达矩阵。该数据集(yan)表示来自人类胚胎的90个细胞的RPKM基因表达,并且这些细胞的发育阶段保存在ann数据框中。命令如下:
head(ann) # 载入ann,并显示ann前十行的信息yan[1:3, 1:3] # 显示yan数据框3*3信息
   
显示如下图:
接下来,让我们使用ann和yan来构建一个SingleCellExperiment类,命令如下:
# 创建一个SingleCellExperiment对象sce <- SingleCellExperiment(  assays = list(normcounts = as.matrix(yan)),  # 使用一个矩阵作为数据表达式,并将其放入一个名为normcounts的列表中  colData = ann  # 使用一个数据框作为列数据,并赋给colData参数)# 对表达数据进行对数转换logcounts(sce) <- log2(normcounts(sce) + 1)  # 将数据表达式进行对数转换,并存储在logcounts中# 使用基因名称作为特征符号rowData(sce)$feature_symbol <- rownames(sce)  # 将基因名称存储在rowData中的feature_symbol列中# 删除具有重复名称的特征sce <- sce[!duplicated(rownames(sce)), ]  # 从数据中删除具有重复名称的行,并更新sce对象    sce  # 显示更新后的SingleCellExperiment对象
显示如下图则表示成功构建了SingleCellExperiment对象。
特征筛选:
一旦我们获得了SingleCellExperiment对象,我们就可以使用scamp包中的selectFeatures函数来选择包含数据量足够大的特征进行下游的比对分析。命令如下:
sce <- selectFeatures(sce, suppress_plot = FALSE) # 进行特征筛选
显示如下图:    
图上,红色标记出来的特征点表示数据量为前500(默认选择500,可使用参数更改),将被选定为用于进一步分析。被选中的特征会被存储到rowData的scmap_features列。可使用以下命令查看:
table(rowData(sce)$scmap_features) # 查看选中的特征
构建细胞簇基因特征索引:
至此,我们已经成功构建了单细胞数据集的SingleCellExperiment对象,并筛选得到了可以用来下游比对分析的特征基因,接下来,我们就正式开始构建细胞簇基因特征索引,并演示如何使用细胞簇基因特征索引来判断细胞类型。这部分可是本篇文章的重中之重,同学们千万不能错过!!!
          
我们可以使用scmap中的indexCluster函数来根据每个细胞簇中基因表达的中值来计算得到细胞簇基因特征索引。命令如下:    
sce <- indexCluster(sce) # 计算细胞簇基因特征索引
indexCluster函数会自动在metadata内容中创建scmap_cluster_index数据框,其中即为细胞簇基因特征索引。
查看以及可视化命令如下:
head(metadata(sce)$scmap_cluster_index) # 查看细胞簇基因特征索引开头部分heatmap(as.matrix(metadata(sce)$scmap_cluster_index)) # 绘制热力图可视化结果
结果如下图:
   
可知不同细胞簇特征基因表达具有一定的差异,我们可使用构建的细胞簇基因特征索引来对单细胞数据进行鉴定,以区分细胞类型或鉴定细胞发育时期。
细胞类型或发育时期鉴定映射:
生成了细胞簇基因特征索引后,我们可以使用它将我们的数据集sce中的90细胞当作测试,使用细胞簇基因特征索引来映射这90细胞的发育时期,这里仅作演示说明,同学们可以使用新的单细胞数据来进行测试,命令如下:
scmapCluster_results <- scmapCluster(      projection = sce,  # 需要鉴定的细胞数据集  index_list = list(    yan = metadata(sce)$scmap_cluster_index  ) # 细胞簇基因特征索引) # 进行细胞类型或发育时期鉴定映射查看结果,命令如下:scmapCluster_results$scmap_cluster_labs # 查看细胞类型鉴定映射结果
结果如下图:
经过对比可知,该结果与ann数据集初始内容大致相同,可知经过细胞簇基因特征索引可以较为准确的鉴定细胞类型和区分细胞发育时期。
          
以上就是对于scmap包的全部介绍了,scmap包为单细胞RNA测序数据的比对与鉴定提供了强大的工具。通过构建SingleCellExperiment对象并进行特征筛选,我们能够准确捕捉细胞群体的特征基因,进而构建细胞簇基因特征索引。借助这一索引,我们可以对单细胞数据进行细胞类型或发育时期的准确鉴定,为细胞学研究提供了重要支持。scmap包的应用不仅提升了对单细胞数据的理解,也拓展了细胞生物学的研究方法,为解析细胞组成和功能提供了新的途径。    
          
同学们如果觉得自己写代码麻烦,可以体验一下我们的云生信小工具,只需输入数据,即可轻松生成所需图表。立即访问云生信
http://www.biocloudservice.com/home.html),开启便捷的生信之旅!
 

小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!


定制生信分析

服务器租赁

扫码咨询小果



往期回顾

01

1024G存储的生信服务器,两人成团,1人免单!

02

单个数据库用腻了?多数据库“组合拳”带你打开免疫浸润新思路!

03

孟德尔随机化的准备工作,GWAS数据的网站下载方法

04

跟着小果学复现-手把手带你拿下IF=46.9Nature 级别的主成分分析(PCA)图!!