四行代码完成单细胞转录组的降维聚类分群

昨天在《生信技能树》公众号的一个教程:这也能画?,我提到了一个很无聊的R包,名字是:scRNAstat ,它可以4行代码进行单细胞转录组的降维聚类分群,其实完全没有技术含量, 就是把 Seurat 流程的一些步骤包装成为了4个函数:

  • basic_qc (查看数据质量)
  • basic_filter (进行一定程度的过滤)
  • basic_workflow (降维聚类分群)
  • basic_markers(检查各个亚群的标记基因)

我们这里以大名鼎鼎的pbmc3k数据集为例。如果你还没有下面的seurat-data包和pbmc3k对象 ,就自己去下载:

install.packages('devtools')
devtools::install_github('satijalab/seurat-data')
library(SeuratData) #加载seurat数据集  
getOption('timeout')
options(timeout=10000)
InstallData("pbmc3k")  
data("pbmc3k")  
sce <- pbmc3k.final  

这个时候,我们使用 pbmc3k数据集的这个sce变量,它是一个 Seurat 包需要的格式。然后我们创造一个文件夹来存放降维聚类分群结果,并且加载其它相关r包,主要是我的 scRNAstat :

library(scRNAstat) 
library(Seurat)
library(ggplot2)
library(clustree)
library(cowplot)
library(dplyr)
x='check_pbmc3k_by_scRNAstat'
dir.create( x )

接下来 就是正餐啦, 四行代码完成单细胞转录组的降维聚类分群

sce = basic_qc(sce=sce,org='human',
               dir = x)  
sce = basic_filter(sce)  
sce = basic_workflow(sce,dir = x)   
markers_figures <- basic_markers(sce,
                                 org='human',
                                 group='seurat_clusters',
                                 dir = x)

有了这些, 就可以很容易去判断不同单细胞亚群的生物学名字啦!

p_umap = DimPlot(sce,reduction = 'umap',  
                 group.by = 'seurat_clusters',
                 label.box = T,  label = T,repel = T)
p_umap+markers_figures[[1]]

ggsave(paste0('umap_markers_for_',x,'.pdf'),width = 12)

如下所示:

 

可以看到1群的B细胞,而4是CD8的T细胞,第8群是NK细胞,第10群的DC细胞,而0,2,3,9都是CD4的T细胞,其中5,6,7都是髓系而且主要是单核细胞。

给出这样的生物学名字,需要对上面的基因有一些背景知识哦!需要背诵如下所示各个细胞亚群高表达量基因的列表:

# T Cells (CD3D, CD3E, CD8A), 
# B cells (CD19, CD79A, MS4A1 [CD20]), 
# Plasma cells (IGHG1, MZB1, SDC1, CD79A), 
# Monocytes and macrophages (CD68, CD163, CD14),
# NK Cells (FGFBP2, FCG3RA, CX3CR1),  
# Photoreceptor cells (RCVRN), 
# Fibroblasts (FGF7, MME), 
# Endothelial cells (PECAM1, VWF). 
# epi or tumor (EPCAM, KRT19, PROM1, ALDH1A1, CD24).
#   immune (CD45+,PTPRC), epithelial/cancer (EpCAM+,EPCAM), 
# stromal (CD10+,MME,fibo or CD31+,PECAM1,endo)

其实这样的基础认知,也可以看基础10讲:

最基础的往往是降维聚类分群,参考前面的例子:人人都能学会的单细胞聚类分群注释

总结一下

对任意的 Seurat 包需要的变量格式,sce,都是可以走下面的 四行代码完成单细胞转录组的降维聚类分群:

sce = basic_qc(sce=sce,org='human',
               dir = x)  
sce = basic_filter(sce)  
sce = basic_workflow(sce,dir = x)   
markers_figures <- basic_markers(sce,
                                 org='human',
                                 group='seurat_clusters',
                                 dir = x)

其实完全没有技术含量, 就是把 Seurat 流程的一些步骤包装成为了4个函数:

  • basic_qc (查看数据质量)
  • basic_filter (进行一定程度的过滤)
  • basic_workflow (降维聚类分群)
  • basic_markers(检查各个亚群的标记基因)
(0)

相关推荐

  • 单细胞Marker基因可示化包Nebulosa

    与传统的转录组测序相比,单细胞测序技术噪声很大,使得单细胞转录组数据包含大量的dropout事件(导致基因表达量为0或接近0),即使是一些标记(Marker)基因也有可能表达量很低.当在使用其对聚类的 ...

  • 明码标价之单细胞转录组的质控降维聚类分群和生物学注释

    一般来说,公共数据集都会给出表达量矩阵和具体不同细胞亚群特异性基因,比如 GSE122083 数据集背后的文献,就给出来了这些分群: NK (NKG7 and GNLY), NKT (CD3D and ...

  • 单细胞转录组的质控降维聚类分群和注释哪个步骤最关键

    我们非常强调进入一个领域需要读综述来获取基本认知,尤其是单细胞,我们在<单细胞天地>公众号给大家精选了2017-2020的4篇综述: 2017年7月的 Identifying cell p ...

  • 单细胞转录组数据处理之降维聚类分群

    前面我们一起学习了单细胞转录组数据的上游分析,而且了解了自己的项目的样本数量和测序量,还过滤了不合格的细胞和基因, 系列教程目录如下: 01. 上游分析流程 02.课题多少个样品,测序数据量如何 03 ...

  • 表达量矩阵全部更改为0-1矩阵会影响降维聚类分群吗?

    常规的读入10x的3个文件,需要自己根据下面的网址去下载 pbmc3k_filtered_gene_bc_matrices.tar.gz 文件,并且解压哦,然后  Read10X 函数读入解压后的文件 ...

  • 自己写代码计算单细胞转录组数据的CNV及绘制热图

    前面我们提到过broad开发了工具来对单细胞转录组数据计算CNV及绘制热图,因为这个方法学本来就是他们建立起来的. 单细胞转录组数据分析CNV 使用broad出品的inferCNV来对单细胞转录组数据 ...

  • 人人都能学会的单细胞聚类分群注释

    作为生物信息学教学队伍的财务一名,我旁观了大量代码实战技巧,也勉强是学会了一下R语言,恰好看到朋友圈单细胞比较火爆,而且群主的CNS图表复现超级容易理解,我也跟着学习了一下,目录如下: CNS图表复现 ...

  • CNS图表复现04—单细胞聚类分群的resolution参数问题

    回顾 我们的CNS图表复现之旅已经开始,前面3讲是: CNS图表复现01-读入csv文件的表达矩阵构建Seurat对象 CNS图表复现02-Seurat标准流程之聚类分群 CNS图表复现03-单细胞区 ...

  • cytofWorkflow之聚类分群(四)

    前面我们公布了<cytof数据资源介绍(文末有交流群)>,现在就开始正式手把手教学. 上一讲我们构造好了SingleCellExperiment对象,后续全部的分析都会以这个SingleC ...

  • 拷贝数全景图聚类分群找差异

    降维聚类分群是一个非常普遍的信息提炼方式,在TCGA多组学领域都有应用,众所周知,TCGA数据库是目前最综合最全面的癌症病人相关组学数据库,包括: DNA Sequencing miRNA Seque ...