分享

玩转scanpy和seurat对细胞群基因集打分和可视化基因集富集情况

 健明 2024-03-27 发布于广东

在进行单细胞数据挖掘过程中,为了探明细胞亚群基因集的富集情况,通常会对细胞亚群进行基因集打分。通过对细胞亚群进行基因集打分,再通过画图可视化展示,可以看清各个细胞亚群的基因集富集情况,下面我们使用示例数据集通过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')

可视化:

文末友情宣传

强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:

3

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多