跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化

这篇具有很好参考价值的文章主要介绍了跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天接着单细胞文章的内容:

  • 从Cell学单细胞转录组分析(一):开端!!!

  • 跟着Cell学单细胞转录组分析(二):单细胞转录组测序文件的读入及Seurat对象构建

  • 跟着Cell学单细胞转录组分析(三):单细胞转录组数据质控(QC)及合并去除批次效应

  • 跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类

  • 跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

前面几期主要说了下每个阶段出现图的个性化修饰,后面依然如此,有需要值得单拎出来说的,我们也是会讲到。


细胞分群命名完成之后,大多数研究会关注各个样本细胞群的比例,尤其是免疫学的研究中,各群免疫细胞比例的变化是比较受关注的。所以这里说说细胞群比例的计算,以及如何可视化。

1、堆叠柱状图

这是比较普通也是最常用的细胞比例可视化方法。这种图在做微生物菌群的研究中非常常见。具体的思路是计算各个样本中细胞群的比例,形成数据框之后转化为长数据,用ggplot绘制即可。


table(scedata$orig.ident)#查看各组细胞数
#BM1  BM2  BM3  GM1  GM2  GM3 
#2754  747 2158 1754 1528 1983
prop.table(table(Idents(scedata)))
table(Idents(scedata), scedata$orig.ident)#各组不同细胞群细胞数
#BM1  BM2  BM3  GM1  GM2  GM3
#  Endothelial  752  244  619  716  906 1084
#  Fibroblast   571  135  520  651  312  286
#  Immune      1220  145  539  270  149  365
#  Epithelial    69   62  286   62   82  113
#  Other        142  161  194   55   79  135
Cellratio <- prop.table(table(Idents(scedata), scedata$orig.ident), margin = 2)#计算各组样本不同细胞群比例
Cellratio
#BM1        BM2        BM3        GM1        GM2        GM3
#  Endothelial 0.27305737 0.32663989 0.28683967 0.40820981 0.59293194 0.54664650
#  Fibroblast  0.20733479 0.18072289 0.24096386 0.37115165 0.20418848 0.14422592
#  Immune      0.44299201 0.19410977 0.24976830 0.15393387 0.09751309 0.18406455
#  Epithelial  0.02505447 0.08299866 0.13253012 0.03534778 0.05366492 0.05698437
#  Other       0.05156137 0.21552878 0.08989805 0.03135690 0.05170157 0.06807867
Cellratio <- as.data.frame(Cellratio)
colourCount = length(unique(Cellratio$Var1))
library(ggplot2)
ggplot(Cellratio) + 
  geom_bar(aes(x =Var2, y= Freq, fill = Var1),stat = "identity",width = 0.7,size = 0.5,colour = '#222222')+ 
  theme_classic() +
  labs(x='Sample',y = 'Ratio')+
  coord_flip()+
  theme(panel.border = element_rect(fill=NA,color="black", size=0.5, linetype="solid"))

跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化

2、批量统计图

很多时候,我们不仅想关注各个样本中不同细胞群的比例,而且更想指导他们在不同样本之中的变化是否具有显著性。这时候,除了要计算细胞比例外,还需要进行显著性检验。这里我们提供了一种循环的做法,可以批量完成不同样本细胞比例的统计分析及可视化。

table(scedata$orig.ident)#查看各组细胞数
prop.table(table(Idents(scedata)))
table(Idents(scedata), scedata$orig.ident)#各组不同细胞群细胞数
Cellratio <- prop.table(table(Idents(scedata), scedata$orig.ident), margin = 2)#计算各组样本不同细胞群比例
Cellratio <- data.frame(Cellratio)
library(reshape2)
cellper <- dcast(Cellratio,Var2~Var1, value.var = "Freq")#长数据转为宽数据
rownames(cellper) <- cellper[,1]
cellper <- cellper[,-1]


###添加分组信息
sample <- c("BM1","BM2","BM3","GM1","GM2","GM3")
group <- c("BM","BM","BM","GM","GM","GM")
samples <- data.frame(sample, group)#创建数据框

rownames(samples)=samples$sample
cellper$sample <- samples[rownames(cellper),'sample']#R添加列
cellper$group <- samples[rownames(cellper),'group']#R添加列

###作图展示
pplist = list()
sce_groups = c('Endothelial','Fibroblast','Immune','Epithelial','Other')
library(ggplot2)
library(dplyr)
library(ggpubr)
for(group_ in sce_groups){
  cellper_  = cellper %>% select(one_of(c('sample','group',group_)))#选择一组数据
  colnames(cellper_) = c('sample','group','percent')#对选择数据列命名
  cellper_$percent = as.numeric(cellper_$percent)#数值型数据
  cellper_ <- cellper_ %>% group_by(group) %>% mutate(upper =  quantile(percent, 0.75), 
                                                      lower = quantile(percent, 0.25),
                                                      mean = mean(percent),
                                                      median = median(percent))#上下分位数
  print(group_)
  print(cellper_$median)
  
  pp1 = ggplot(cellper_,aes(x=group,y=percent)) + #ggplot作图
    geom_jitter(shape = 21,aes(fill=group),width = 0.25) + 
    stat_summary(fun=mean, geom="point", color="grey60") +
    theme_cowplot() +
    theme(axis.text = element_text(size = 10),axis.title = element_text(size = 10),legend.text = element_text(size = 10),
          legend.title = element_text(size = 10),plot.title = element_text(size = 10,face = 'plain'),legend.position = 'none') + 
    labs(title = group_,y='Percentage') +
    geom_errorbar(aes(ymin = lower, ymax = upper),col = "grey60",width =  1)
  
  ###组间t检验分析
  labely = max(cellper_$percent)
  compare_means(percent ~ group,  data = cellper_)
  my_comparisons <- list( c("GM", "BM") )
  pp1 = pp1 + stat_compare_means(comparisons = my_comparisons,size = 3,method = "t.test")
  pplist[[group_]] = pp1
}

library(cowplot)
plot_grid(pplist[['Endothelial']],
          pplist[['Fibroblast']],
          pplist[['Immune']],
          pplist[['Epithelial']],
          pplist[['Other']])

跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化

好了,以上就是我们的分享了,起到抛砖引玉的效果,还有很多其他的展示方法,不必全都会,中意就好。
更多内容请至我的个人公众号《KS科研分享与服务》文章来源地址https://www.toymoban.com/news/detail-401615.html

到了这里,关于跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

    作为现在 最火 的 scRNAseq 分析包, Seurat 当之无愧。😘 本期开始我们介绍一下 Seurat 包的用法,先从 基础质控 和 过滤 开始吧。🥳 3.1 读取10X文件 这里我们提供一个转成 gene symbols 的可读文件,如果大家拿到的是 Ensemble ID ,可以用之前介绍的方法进行转换。 3.2 创建Seurat对象

    2024年02月08日
    浏览(59)
  • 从单细胞数据分析的最佳实践看R与Python两个阵营的博弈

    R与Python,在生物信息学领域的博弈异常激烈。许多生信分析,两个阵营都发展出了自己的方法,比如单细胞数据分析,R有Seurat,Python就有Scanpy。这些层出不穷的方法不断地吸引着吃瓜群众的眼球,同时也让人患上了选择困难症。 到底谁优谁劣?一时竟难分高下。今天我们就

    2024年01月25日
    浏览(49)
  • 单细胞注释之坑-通过AddModuleScore注释细胞

    兜兜转转,小编做单细胞转眼又是半年过去了,单细胞注释真的是一到玄学,一查资料很多自动化单细胞注释的工具横空出世,可是小编试了很多很多,发现还是手动注释更加准确,但是手动如何注释呢? 这里我们需要先找到细胞的marker基因,这里以NKT细胞为例,我们知道

    2024年02月12日
    浏览(92)
  • 单细胞分类和预测任务

    对于 分类 和 预测 任务,在生物信息学领域有一些常用的方法和工具可以使用。以下是一些常见的方法和工具: 1. 机器学习方法: 包括支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest)、神经网络(Neural Networks)等。这些方法可以用于分类和预测任务,可以根

    2024年02月13日
    浏览(42)
  • 单细胞seurat入门—— 从原始数据到表达矩阵

    根据所使用的建库方法,单细胞的RNA序列(也称为读取(reads)或标签(tags))将从转录本的3\\\'端(或5\\\'端)(10X Genomics,CEL-seq2,Drop-seq,inDrops)或全长转录本(Smart-seq)获得。 图片来源: Papalexi E and Satija R. Single-cell RNA sequencing to explore immune cell heterogeneity, Nature Reviews Immu

    2024年02月05日
    浏览(55)
  • 基于GPT构建单细胞多组学基础模型

    生成式预训练模型在自然语言处理和计算机视觉等各个领域取得了显著的成功。特别是将大规模多样化的数据集与预训练的Transformer相结合,已经成为开发基础模型的一种有前途的方法。文本由单词组成,细胞可以通过基因进行表征。这种类比启发作者探索细胞和基因生物学

    2024年02月13日
    浏览(49)
  • 专栏十:10X单细胞的聚类树绘图

    经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 文章Single-cell analyses implicate ascites in remodeling the ecosystems of primary and metastatic tumors

    2024年02月07日
    浏览(64)
  • 单细胞测序并不一定需要harmony去除批次效应

    大家好,今天 我们分享的是单细胞的学习教程https://www.singlecellworkshop.com/analysis-tutorial.html  教程的作者使用了四个样本,但是没有使用harmony或者其他方法去整合 去除批次效应。 主要内容: SCTransform流程代码 及结果 harmony流程代码及结果 seurat单样本标准流程代码 及结果 三种

    2024年02月03日
    浏览(37)
  • 易基因:人类大脑的单细胞DNA甲基化和3D基因组结构|Science

    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 高通通量表观基因组分析技术可用于阐明大脑中细胞复杂性的基因调控程序。5\\\'-甲基胞嘧啶 (5mCs)是哺乳动物基因组中最常见的修饰碱基,大多数5mCs发生在胞嘧啶-鸟嘌呤二核苷酸(CpGs)上。CG差异甲基化区

    2024年04月17日
    浏览(37)
  • 跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图

    论文 Independent phenotypic plasticity axes define distinct obesity sub-types https://www.nature.com/articles/s42255-022-00629-2#Sec15 s42255-022-00629-2.pdf 论文中没有公开代码,但是所有作图数据都公开了,我们可以试着用论文中提供的数据模仿论文中的图 今天的推文重复一下论文中的Fig3b 差异表达火山图

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包