首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >🤩 SeuratExtend | 基于Seurat的强大拓展包!~(一)(基础可视化)

🤩 SeuratExtend | 基于Seurat的强大拓展包!~(一)(基础可视化)

作者头像
生信漫卷
发布2025-11-13 18:32:09
发布2025-11-13 18:32:09
1490
举报

写在前面

单细胞分析的小伙伴们一定对 Seurat 不陌生,它几乎是所有scRNA-seq入门必备的“瑞士军刀🔪”。

但你是否也遇到过这样的问题:

“想画个更漂亮的气泡图,却要手写半页 ggplot 代码……”

“整合批次数据后,想快速提取 marker、可视化 module score,却找不到方便的函数……”

别急!今天要介绍的是一款让你在 Seurat 世界里“如虎添翼🐯”的神器——

🧬 SeuratExtend:基于Seurat的强大拓展包!

它不仅兼容原生Seurat工作流,还提供了大量一行命令即可实现的高质量可视化、数据统计与特征分析功能📊。

用到的包

代码语言:javascript
复制
rm(list = ls())
library(Seurat)
library(SeuratExtend)

示例数据

代码语言:javascript
复制
pbmc

降维图

基本用法

代码语言:javascript
复制
DimPlot2(pbmc)

可视化不同变量

代码语言:javascript
复制
DimPlot2(pbmc, features = c("cluster", "orig.ident", "CD14", "CD3D"), theme = NoAxes())

代码语言:javascript
复制
DimPlot2(pbmc, features = c("CD14", "CD3D"), cols = "A")

按指定变量分面

代码语言:javascript
复制
DimPlot2(pbmc, features = c("cluster", "CD14"), split.by = "orig.ident", ncol = 1)

高亮显示指定细胞

代码语言:javascript
复制
b_cells <- colnames(pbmc)[pbmc$cluster == "B cell"]
DimPlot2(pbmc, cells.highlight = b_cells)

高级可视化

代码语言:javascript
复制
DimPlot2(
  pbmc,
  features = c("cluster", "orig.ident", "CD14", "CD3D"),
  cols = list(
    "cluster" = "default", # dark theme
    "CD14" = "D",
    "CD3D" = "OrRd"
  ),
  theme = NoAxes())

添加标签和框

代码语言:javascript
复制
DimPlot2(pbmc, label = TRUE, box = TRUE, label.color = "black", repel = TRUE, theme = NoLegend())

使用索引简化标签

代码语言:javascript
复制
DimPlot2(pbmc, index.title = "C", box = TRUE, label.color = "black")

添加UMAP箭头

代码语言:javascript
复制
# Add simplified axis indicators
DimPlot2(
  pbmc, 
  features = c("cluster", "orig.ident", "CD14", "CD3D"),
  theme = NoAxes()
) + theme_umap_arrows()

多特征可视化

代码语言:javascript
复制
# Add arrows to each subplot
DimPlot2(
  pbmc, 
  features = c("cluster", "orig.ident", "CD14", "CD3D"),
  theme = theme_umap_arrows()
)

在降维图上同时显示三个特征

代码语言:javascript
复制
FeaturePlot3(pbmc, color = "ryb", feature.1 = "CD3D", feature.2 = "CD14", feature.3 = "CD79A", pt.size = 0.5)

使用 FeaturePlot3.grid 进行批量可视化

代码语言:javascript
复制
FeaturePlot3.grid(pbmc, features = c("CD3D", "CD14", "CD79A", "FCGR3A", NA, "LYZ"), pt.size = 0.5)

热图

基本用法

代码语言:javascript
复制
# Calculate z-scores for variable features
genes <- VariableFeatures(pbmc)
toplot <- CalcStats(pbmc, features = genes, method = "zscore", order = "p", n = 5)

# Create a basic heatmap
Heatmap(toplot, lab_fill = "zscore")

调整配色方案

代码语言:javascript
复制
# Viridis-A theme
Heatmap(toplot, lab_fill = "zscore", color_scheme = "A")

修改轴和标签

代码语言:javascript
复制
Heatmap(toplot, lab_fill = "zscore", plot.margin = margin(l = 50))

对于具有许多特征的密集矩阵,可以挑选显示基因。🥸

代码语言:javascript
复制
toplot2 <- CalcStats(pbmc, features = genes[1:500], method = "zscore", order = "p")
Heatmap(toplot2, lab_fill = "zscore", feature_text_subset = genes[1:20], expand_limits_x = c(-0.5, 11))

热图分面

代码语言:javascript
复制
gene_groups <- sample(c("group1", "group2", "group3"), nrow(toplot2), replace = TRUE)
Heatmap(toplot2, lab_fill = "zscore", facet_row = gene_groups) +
  theme(axis.text.y = element_blank())

点阵图

基本用法

代码语言:javascript
复制
# Select some variable features
genes <- VariableFeatures(pbmc)[1:10]
DotPlot2(pbmc, features = genes)

分面

代码语言:javascript
复制
# Create grouped features
grouped_features <- list(
  "B_cell_markers" = c("MS4A1", "CD79A"),
  "T_cell_markers" = c("CD3D", "CD8A", "IL7R"),
  "Myeloid_markers" = c("CD14", "FCGR3A", "S100A8")
)

DotPlot2(pbmc, features = grouped_features)

拆开可视化

代码语言:javascript
复制
# Basic split visualization
DotPlot2(pbmc, features = genes, group.by = "cluster", split.by = "orig.ident", show_grid = FALSE)

代码语言:javascript
复制
# Using colors instead of borders for split groups
DotPlot2(pbmc, 
         features = genes, 
         group.by = "cluster", 
         split.by = "orig.ident", 
         split.by.method = "color", 
         show_grid = FALSE)

修改细节!~

代码语言:javascript
复制
DotPlot2(pbmc, 
         features = grouped_features, 
         color_scheme = "BuRd", 
         border = FALSE,        # Remove dot borders
         show_grid = FALSE,     # Remove grid lines
         flip = TRUE)          # Flip coordinates
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信漫卷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 用到的包
  • 示例数据
  • 降维图
    • 基本用法
  • 可视化不同变量
    • 按指定变量分面
    • 高亮显示指定细胞
    • 高级可视化
    • 添加标签和框
    • 使用索引简化标签
    • 添加UMAP箭头
    • 多特征可视化
    • 在降维图上同时显示三个特征
    • 使用 FeaturePlot3.grid 进行批量可视化
  • 热图
    • 基本用法
    • 调整配色方案
    • 修改轴和标签
    • 热图分面
  • 点阵图
    • 基本用法
    • 分面
    • 拆开可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档