在进行单细胞数据挖掘过程中,为了探明细胞亚群基因集的富集情况,通常会对细胞亚群进行基因集打分。通过对细胞亚群进行基因集打分,再通过画图可视化展示,可以看清各个细胞亚群的基因集富集情况,下面我们使用示例数据集通过scanpy和seurat进行基因集打分演示。 Seurat:使用的实例数据集是GSE254855,如下图所示: 这个数据集是一个关于Mus musculus的成纤维细胞数据集,作者已经进行处理过了并且已经分好了亚群和注释,所以我们可以用这个数据集来进行seurat的基因集打分演示。 注意:下载好的数据集要进行解压才能进行读取,否则会读取失败!!!
代码如下: #加载相关的包 library(Seurat) library(msigdbr) library(dplyr) library(ggplot2) #读取数据集 #我已经把这个数据集下载下来了,并把它放在'/home/data'的目录下 data=readRDS("/home/data/GSE254855_Seurat_subclustered_fibroblasts.rds") #选取这条GOBP_CELL_GROWTH通路上的基因集 geneset=msigdbr("Mus musculus",'C5')%>%filter(gs_name=="GOBP_CELL_GROWTH")%>%distinct(gene_symbol)%>%pull(gene_symbol) geneset=list(GOBP_CELL_CYCLE=geneset) #进行基因集打分 score=AddModuleScore(data,geneset) score@meta.data['GOBP_CELL_GROWTH']=score@meta.data$Cluster1 #结果可视化 DimPlot(data,reduction = 'umap',label = T)+NoLegend()+FeaturePlot(score,'GOBP_CELL_GROWTH')
可视化: scanpy:#安装scanpy、gseapy库,如果之前有安装,就不用安装了 #在终端输入下面命令就可以进行安装了 pip install scanpy gseapy -i http://pypi.tuna./simple
使用scanpy的内置数据集进行基因集打分演示,代码如下: from gseapy import Msigdb import scanpy as sc ##读取内置数据集 data=sc.datasets.pbmc68k_reduced() msig=Msigdb() #选取这条GOBP_CELL_CYCLE通路上的基因集 geneset=msig.get_gmt('c5.all')["GOBP_CELL_CYCLE"] #进行基因集打分 sc.tl.score_genes(data,geneset) #结果可视化 sc.pl.umap(data,color='louvain',legend_loc='on data') sc.pl.umap(data,color='score')
可视化:
|