分享

玩转单细胞(15):一些简便的作图、数据运行处理小技巧

 TS的美梦 2024-04-09

1、《KS科研分享与服务》公众号有QQ交流群,进入门槛是20元(完全是为了防止白嫖党,请理解),请考虑清楚。群里有免费推文的注释代码和示例数据(终身拥有),没有付费内容,群成员福利是购买单个付费内容半价!

2、《KS科研分享与服务》微信VIP群只针对购买打包代码的小伙伴(公众号所有付费内容合集)!微信群不是单独的,是对于打包的人答疑解惑和交流的平台、群成员专享视频教程,帖子提前发布,以及其他更多福利!

点击:→ 加入微信vip群:2024-2025《KS科研分享与服务》付费内容打包集合

3、需进QQ群或者打包代码入微信VIP的小伙伴请添加作者微信了解,请备注目的,除此之外请勿添加,谢谢!

详情请联系作者:

玩转单细胞往期精彩系列:
玩转单细胞(1):玩转单细胞---提取特定基因表达的细胞群分析(一个小问题)
玩转单细胞(2):Seurat批量做图修饰
玩转单细胞(3):堆叠柱状图添加比例
玩转单细胞(4):单细胞相关性
玩转单细胞(5):单细胞UMAP图只标记特定细胞群、圈定细胞群及坐标轴修改
玩转单细胞(6):单细胞差异基因展示之对角散点图
玩转单细胞(7):修改Seurat对象基因名称
玩转单细胞(8): 单细胞3维聚类图展示
玩转单细胞(9):单细胞Seurat对象数据操作
玩转单细胞(10):替换单细胞Seurat对象UMAP坐标
玩转单细胞(11):Seurat单细胞基因表达DotPlot图分面设置
玩转单细胞(12):单细胞celltype颜色、顺序设置及V5小问题
玩转单细胞(13):Seurat V5单细胞基本可视化
玩转单细胞(14): 玩转单细胞(14): 单细胞分亚群之后分群信息返回原来的seurat对象

玩转单细胞系列都是些很小的问题,但是很实用,上面是之前的链接,可以收藏,需要的时候直接使用即可。今天这一期的话我们讲一些小的作图以及数据运行的技巧,能够方便你的学习。这一期内容感谢我们KS科研分享与服务微信VIP群的小伙伴@G。第一部分就是他的分享提示。之前我们分享过Seurat批量做图修饰,和很多人一样,我们的方式也是采取循环修饰加拼图的办法实现,但是后来才知道,将“+”改成“&”连接ggplot的修饰,就可以实现对seurat作图的批量修饰了!
library(Seurat)library(ggplot2)library(ggpubr)setwd("D:\\KS项目\\公众号文章\\单细胞作图小技巧")genes <- c("S100a8","Zfhx3","Numb","Ltf",           "S100a9","Trps1", "Cd52","Anxa1",           "Neat1","Ly6g", "Tnf","Il1b")
mouse_data$sex <- ifelse(mouse_data$orig.ident=="10X_ntph_F","F",'M')

VlnPlot(mouse_data, cols = c("limegreen", "navy"), pt.size = 0, group.by = "sex", features = genes, ncol = 4, log = FALSE)&theme(axis.title.x = element_blank(), panel.border = element_rect(fill=NA,color="black"), axis.title.y = element_text(color = 'black', size = 12))& geom_boxplot(width=0.1, fill="white", outlier.shape = NA) & theme(legend.position = 'none')


第二部分是一个差异基因的分析,来源于之前我们分享的一篇Nature文章((视频教程)复现Nature图表:富集分析DEscore及可视化)。我们以前要批量分析celltype的差异基因的方式采取的是分别subset每种celltype的seurat然后计算的方式,其实我们可以直接将分组和celltype结合,进行分析,省去了很多麻烦!
#1、差异基因# unique(human_data$celltype)celltypes = c("Neutrophil","Macrophage","mDC","T cell")#结合celltype与分组,做每种celltype两组之间差异基因deg = c()Idents(human_data) = paste(human_data$celltype, human_data$group, sep = '_')
for (cell in celltypes) try({ tmp = FindMarkers(human_data, ident.1 = paste0(cell, '_GM'), ident.2 = paste0(cell, '_BM')) tmp$gene = rownames(tmp) tmp$celltype = cell deg = rbind(deg, tmp) })
#显著性基因deg = subset(deg, p_val_adj < 0.05)deg$DE =''deg$DE = ifelse(deg$avg_log2FC>0, 'up', 'down')#上下调分组
第三部分是关于单细胞堆叠小提琴图的做法,这个已经是一个写的很多的话题了,我们还写过一个函数(ggplot堆叠图无缝拼接(自写一个简洁堆叠小提琴图函数))。如果只是简单的做堆叠小提琴图,没必要像以前网上的分享那样,乱七八糟的做法,只需要在VlnPlot中加入stack = T参数就可以实现了。
library(dittoSeq)VlnPlot(mouse_data,         cols = dittoColors(),        pt.size = 0,        group.by = "sex",        features = genes,         log = FALSE,        stack = T)+  NoLegend()


第四部分则是文献摘录的好看的配色组合,遗憾的是文献并未记载,不过依然感谢他们的分享,希望对你作图有用:完整版已发布微信群和QQ群!
major_trajectory_color_plate = c("Neuroectoderm_and_glia"             = "#f96100",                                 "Intermediate_neuronal_progenitors"  = "#2e0ab7",                                 "Eye_and_other"                      = "#00d450",                                 "Ependymal_cells"                    = "#b75bff",                                 "CNS_neurons"                        = "#e5c000",                                 "Mesoderm"                           = "#bb46c5",                                 "Definitive_erythroid"               = "#dc453e",                                 "Epithelium"                         = "#af9fb6",                                 "Endothelium"                        = "#00a34e",                                 "Muscle_cells"                       = "#ffa1f5",                                 "Hepatocytes"                        = "#185700",                                 "White_blood_cells"                  = "#7ca0ff",                                 "Neural_crest_PNS_glia"              = "#fff167",                                 "Adipocytes"                         = "#7f3e39",                                 "Primitive_erythroid"                = "#ffa9a1",                                 "Neural_crest_PNS_neurons"           = "#b5ce92",                                 "T_cells"                            = "#ff9d47",                                 "Lung_and_airway"                    = "#02b0d1",                                 "Intestine"                          = "#ff007a",                                 "B_cells"                            = "#01b7a6",                                 "Olfactory_sensory_neurons"          = "#e6230b",                                 "Cardiomyocytes"                     = "#643e8c",                                 "Oligodendrocytes"                   = "#916e00",                                 "Mast_cells"                         = "#005361",                                 "Megakaryocytes"                     = "#3f283d",                                 "Testis_and_adrenal"                 = "#585d3b")                                                                  day_color_plate  =  c("E8.0"  = "#5E4FA2", "E8.25"  = "#545BA8", "E8.5"  =  "#4A68AE", "E8.75"  = "#4075B4",                      "E9.0"  = "#3682BA", "E9.25"  = "#398FB9", "E9.5"  =  "#449DB4", "E9.75"  = "#50AAAE",                      "E10.0" = "#5CB7A9", "E10.25" = "#69C3A4", "E10.5" =  "#78C9A4", "E10.75" = "#88CFA4",                      "E11.0" = "#98D5A4", "E11.25" = "#A7DBA4", "E11.5" =  "#B5E1A1", "E11.75" = "#C3E69F",                      "E12.0" = "#D0EC9C", "E12.25" = "#DDF199", "E12.5" =  "#E8F59B", "E12.75" = "#EDF8A4",                      "E13.0" = "#F3FAAD", "E13.25" = "#F9FCB6", "E13.5" =  "#FFFFBF", "E13.75" = "#FEF7B3",                      "E14.0" = "#FEF0A7", "E14.25" = "#FEE99B", "E14.333" ="#FEE28F", "E14.75" = "#FDD985",                      "E15.0" = "#FDCD7B", "E15.25" = "#FDC272", "E15.5" =  "#FDB768", "E15.75" = "#FCAB5F",                      "E16.0" = "#FA9C58", "E16.25" = "#F88D52", "E16.5" =  "#F67E4B", "E16.75" = "#F46F44",                      "E17.0" = "#EE6445", "E17.25" = "#E75947", "E17.5" =  "#E04F4A", "E17.75" = "#D9444D",                      "E18.0" = "#CF384D", "E18.25" = "#C32A4A", "E18.5" =  "#B71C47", "E18.75" = "#AA0E44",                       "P0"    = "#9E0142")
#################################### Somite counts color plate ####################################
somite_color_plate = rev(c("#fde725", "#eae51a", "#d5e21a", "#c0df25", "#a8db34", "#93d741", "#7fd34e", "#6ccd5a", "#58c765", "#48c16e", "#3aba76", "#2eb37c", "#25ab82", "#20a386", "#1e9c89", "#1f948c", "#228c8d", "#25848e", "#287d8e", "#2b758e", "#2e6d8e", "#32658e", "#365d8d", "#3a548c", "#3e4a89", "#424186", "#453882", "#472e7c", "#482374", "#48186a", "#470d60", "#440154"))

希望我们的分享对你有用!感谢关注!点个赞再走呗!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章