单细胞转录组

bigSCale代码实操(一):对scRNA-seq聚类、拟时序

2023-08-04  本文已影响0人  生信宝库

前言

我们在上一期推文:bigSCale:大规模scRNA-seq分析工具中,已经介绍了bigSCale的基本功能框架,那么从本期推文开始,我们将通过代码实操的方式来介绍bigSCale的使用技巧。相比于传统的Bulk转录组测序,单细胞转录组测序(scRNA-seq)使我们可以以更高的分辨率深入了解不同细胞类型、亚群和状态之间的差异和多样性。bigSCale2是一个用于分析和可视化单细胞数据的R包,其功能十分强大:可以对单细胞数据进行聚类分析、表型分析、拟时序分析、推断基因调控网络以及将大型数据集压缩成更高质量的较小数据集等。

bigSCale2由3个小工具组成
  1. bigSCale2 Core :聚类分析、表型分析、拟时序分析。
  2. bigSCale2 GRN :使用单细胞数据推断基因调控网络。
  3. bigSCale2 iCells :用于对大数据降维,使其可以轻松且快速的进行后续分析。

由于bigSCale2 R包的功能是十分全面的,我们将用二期推文介绍bigSCale2的3个小工具的使用方法。那么,今天让我们一起来学习一下它的第一个工具——bigSCale2 Core


代码流程

第一步:安装bigSCale2包并导入示例数据

devtools::install_github("iaconogi/bigSCale2")
library(bigSCale)
data(sce)  #3005 single cells from adult mouse brain Zeisel 2015
# sce 对象包含3005个细胞 19972个基因的表达值。

第二步:一行代码执行聚类分析、表型分析、拟时序分析

sce = bigscale(sce,speed.preset='fast')  #该命令自动执行所有分析

值得一提的是,为了快速出结果,我们这里设置参数speed.preset='fast',这节省了时间,但牺牲了质量和准确性,因此在实际分析中,建议大家使用默认参数设置speed.preset='slow'。

第三步:结果可视化

  1. 共表达基因的簇和特征
sce=setDistances(sce)
sce=setClusters(sce)
sce=storeTransformed(sce)
viewSignatures(sce)
image.png

首先展示的是热图,彩色条代表簇,文库大小(代表转录组大小/复杂度),用户可根据colData参数个性化展示其他信息。每一行代表着共表达的基因集(signature)。

  1. 特定簇的标记
viewSignatures(sce,selected.cluster=2) #查看簇2的标记
image.png

这里展示了6个级别的标记,1级标记意味着仅在第2簇中表达的基因。2级标记是第2簇和另一个簇之间共享的标记。级别3的标记是在第2簇和两个其他簇之间共享的标记,以此类推。

  1. 使用条形图和小提琴图展示特定基因
viewGeneBarPlot(sce,gene.list = c('Aqp4','Olig1','Thy1'))
image.png

使用彩色条形图展示了不同簇中基因的表达情况。

viewGeneViolin(sce,'Aqp4')
image.png

使用小提琴图展示了不同簇中基因的表达情况。

  1. t-SNE 和 UMAP 图
viewReduced(sce) # to see t-SNE with clusters
image.png
viewReduced(sce,color.by = 'Stmn2') # 基因表达的t-SNE图
image.png

如果有小伙伴想要可视化一个 UMAP 图,首先使用 sce = storeUMAP(sce)计算 UMAP 数据,然后使用 viewReduce(sce,method = 'UMAP')就可以绘制UMAP图啦。

  1. 查看标签
Mlist=getMarkers(sce)DT::datatable(Mlist[[4,1]])

Mlist 是一个二维列表,包含每个集群的不同级别的标记,在这里我们可视化了第4组(少突胶质细胞)的第1级(最特异性)标记。

image.png

我们可以看出,其结果是按照Zscore进行排序的,最高的Zscore意味着最有意义的基因,最低的Zscore意味着相比来说不那么有意义的基因。

  1. 查看特征

作者将共表达基因列表(第一步得到的结果的行)称为signature,在这里,我们展示了signature 1(一个在神经元中表达的5432个基因的大列表)的具体信息。

Signatures=getSignatures(sce)DT::datatable(Signatures[[1]])
image.png
  1. 展示拟时序分析结果
ViewPseudo(sce,color.by = 'pseudo') # 基于拟时序设置颜色
image.png
ViewPseudo(sce,color.by = 'clusters') # 基于簇设置颜色
image.png
ViewPseudo(sce,color.by = 'Stmn3') # 基于特定的基因设置颜色
image.png

小结

我们可以看出来,bigSCale2是一个对用户十分友好的R包,不需要过多的R语言基础,就可以轻松的掌握,并且其提供了完整的可视化相关函数,方便用户对结果的展示,感兴趣的小伙伴们可以对其相关参数详细研究。

好啦,本期分享到这里就结束了,我们下期再会~

上一篇下一篇

猜你喜欢

热点阅读