专栏名称: 生信师兄
本公众号旨在帮助广大的生信小白更好、更轻松的入门生信,专注生信干货分享。
目录
相关文章推荐
中国能建  ·  广东陆丰核电1号机组主体工程,开工! ·  16 小时前  
清廉蓉城  ·  守纪律 ... ·  4 天前  
清廉蓉城  ·  濯锦风丨“光远”前行为人民 ·  4 天前  
成都发布  ·  通知!考试时间定了 ·  3 天前  
51好读  ›  专栏  ›  生信师兄

一文教会你更好地展示单细胞Marker基因!

生信师兄  · 公众号  ·  · 2025-02-04 10:08

正文

熟悉师兄公众号的都应该清楚,师兄之前的推文主要集中在各种类型的科研绘图上!但是不少粉丝小伙伴们还是反应,只知道绘图,数据不会分析,还是不行的呀!没错,拿不到可靠的分析结果,只知道绘图,这当然是远远不够的!因此, 学习各种常用的生信数据分析则必然成为了每一个生信人必须要经历的事情。 因此,后续的推文中,师兄会尽可能地多更新一些有关数据分析的内容,可能包含的系列包括《R语言数据处理基本技巧》、《从零开始学单细胞转录组》、《从零开始学空间转录组》等;

本系列,师兄将 从单细胞转录组学开始 ,带领大家一起 从零开始学单细胞 !系列内容可以详见下方大纲!

说明: 由于本系列教程还是强调 面对完全零基础小白 ,所以很多内容师兄会介绍的非常细,对于部分已经入门的老手来说可能比较多余,所以 大家选择性阅读即可!

本系列主要内容目录及单细胞学习交流群,请看Part 1;

本期主要内容,请看Part 2;

合作服务器推荐及生信师兄粉丝专属优惠详情,请看Part 3;

如果您觉得本系列文章对你有帮助的话,欢迎 点赞、收藏、在看+转发 !您的支持是师兄持续更新的最大动力!

Part 1 系列介绍

1.1 内容大纲

单细胞转录组系列教程目录

1.2 生信师兄单细胞学习交流群

当然了,好的学习过程离不开详尽地交流讨论和重难点答疑!因此,在发布教程的同时,师兄也成立了 《生信师兄单细胞学习交流群》 用于本系列内容的学习交流。需要的小伙伴可以扫描下方二维码,添加师兄微信后备注 “单细胞学习交流群” 后付费加群!

1.2.1 群内资源

  • 本系列所有免费及付费内容的配套学习资源、代码资源及示例数据;
群内资源(以上图课程目录为准)

1.2.2 入群费用

  • 入群费用: ¥299元(每集赞1个抵扣1元,至多抵扣100元!此优惠永久有效!)

1.2.3 本系列不含视频教程

  • 目前,师兄还没有足够的时间进行视频课程的录制,所以 本系列教程不包含视频课程 !但是如果大家需要,师兄也一定会尽可能抽时间录制课程!

  • 如果后续推出视频课程 ,还是和《R语言科研绘图进阶版视频教程》一样, 加群的小伙伴届时可凭借入群截图,抵扣购课差价。 所以,早入群早享受吧!

1.2.4 声明

  • 是否加群,纯属自愿! 本系列的大部分内容会是免费阅读, 所以完全支持白嫖! 但是看完还请动动你的手指, 点个赞!点个在看!如果能转发那就太感谢了!
  • 加群可以 获取本系列所有付费部分内容,代码,示例数据,以及定期答疑的交流群
  • 如果考虑好加群,就 早加早享受,随着群内资源的增加,入群的费用也可能会随之增加
  • 优惠方式 点赞 + 在看,并转发这个系列任意一篇文章至朋友圈,每集赞1个抵扣1元,至多抵扣100元!此优惠永久有效哦!

Part2 主要内容

书接上回,我们得到了差异基因或Marker基因,那么如何对其进行展示呢?常用的展示方法有哪些呢?哪些工具和软件包可以画出更好看的图呢?

首先,常用的单细胞Marker基因或差异基因展示图形包括:

  • 热图(Heatmap)
  • 气泡图(Dot Plot)
  • 基因表达特征图(Feature Plot)
  • 提琴图(Violin Plot)
  • 火山图(Volcanol Plot)
  • 峰峦图(Ridge Plot)

本节内容较多,因此师兄会分 两篇文章 分别介绍 基于Seurat的基础可视化及其美化技巧 ,以及 基于其他R包的单细胞可视化技巧

2.1 预处理和差异分析

2.1.1 预处理

library(Seurat)
library(SeuratData)
library(ggplot2)
library(tidyverse)
library(RColorBrewer)

####################### 载入数据+数据预处理 ------------------
ifnb "ifnb")

# 归一化:
ifnb %
  PercentageFeatureSet(pattern = "^MT-", col.name = "percent.mt") %>%
  SCTransform(vars.to.regress = "percent.mt")

# 降维:
ifnb %
  RunPCA() %>%
  RunUMAP(dims = 1:10)

DimPlot(ifnb, reduction = "umap", group.by = "seurat_annotations")

2.1.2 差异分析

####################### 获得每个cluster的Marker基因 ------------------
Idents(ifnb) "seurat_annotations"  # 指定默认注释信息
markers                           only.pos = TRUE# 只保留高表达的基因;
                          min.pct = 0.25,
                          logfc.threshold = 0.25)

结果解读:

  • p_val :未矫正的p值;
  • avg_log2FC :两组之间 平均表达的倍数变化 ,正值表示特征在第一组中的表达程度更高;
  • pct.1 :表达该基因的细胞占第一组所有细胞的百分比;
  • pct.2 :表达该基因的细胞占第二组所有细胞的百分比;
  • p_val_adj :Bonferroni校正p值;

2.2 点图

2.2.1 基础绘图

####################### 可视化 ------------------
### Dot Plot
# 选每种细胞类型里log2FC最大的前2个基因看一下:
top2_genes %
  group_by(cluster) %>%
  top_n(n = 2, wt = avg_log2FC) %>%
  pull(gene)

# 绘图
DotPlot(ifnb, features = top2_genes)
ggsave("dotplot1.pdf", height = 5, width = 8)

2.2.2 适当美化

# 适当美化
DotPlot(ifnb, features = top2_genes, cols = c("lightgrey""red")) +
  # 美化代码
  theme_minimal() + # 使用简洁的主题
  theme(axis.text.x = element_text(angle = 45, hjust = 1), # X轴标签倾斜
        axis.title = element_text(size = 12), # 轴标题大小
        plot.title = element_text(size = 14, face = "bold", hjust = 0.5)) + # 图表标题
  labs(title = "DotPlot of Gene Expression", x = "Cell Clusters", y = "Genes"# 添加标题和轴标签
ggsave("dotplot2.pdf", height = 5, width = 8)

2.3 特征图

2.3.1 基础绘图

### Feature Plot
FeaturePlot(ifnb, features = c("CD3D""CD79A""CCL8""LAG3"), pt.size = 0.5)
ggsave("featureplot1.pdf", height = 7, width = 9)

2.3.2 适当美化

# 适当美化:
# 创建一个列表来存储每个基因的FeaturePlot
plots 
# 为每个基因生成FeaturePlot
for (gene in c("CD3D""CD79A""CCL8""LAG3")) {
  p 0.5, cols = c("lightgrey""red")) +
    theme_bw() + # 使用简洁的主题
    theme(axis.text = element_text(size = 10), # 调整轴标签大小
          plot.title = element_text(size = 12, face = "bold", hjust = 0.5# 轴标题大小
          )
  plots[[gene]] }

# 拼图:
library(cowplot)

plot_grid(plotlist = plots, ncol = 2)
ggsave("featureplot2.pdf", height = 7, width = 9)

2.4 提琴图







请到「今天看啥」查看全文