FeaturePlot画图让有表达的点展示在上方

在使用FeaturePlot画图的时候会因为细胞太多存在一些细胞被覆盖的现象,导致表达某基因的细胞由于处于底层而展示不出来。我们如果想要让表达特定基因的细胞都展示在上层,从而让效果更加明显,可以使用下面的方法实现,核心是根据表达量进行排序。

library(ggplot2)
library(tidyverse)
library(Seurat)
library(SeuratObject)
seurat_obj <- readRDS('file_path')
# 提取 SPP1 基因的表达量
spp1_expression <- FetchData(seurat_obj, vars = "SPP1")

# 排序:根据 SPP1 基因的表达量进行排序,默认是升序,可以使用 `order()` 函数进行降序排序
sorted_cells <- order(spp1_expression$SPP1, decreasing = FALSE)

# 提取排序后的 barcode
sorted_barcodes <- rownames(spp1_expression)[sorted_cells]

# 根据排序后的 barcode 顺序重新排列 umap_embeddings
umap_embeddings_sorted <- umap_embeddings[sorted_barcodes, ]

# 更新 Seurat 对象中的 UMAP 降维结果
seurat_obj@reductions[["umap"]]@cell.embeddings <- umap_embeddings_sorted

FeaturePlot(
  seurat_obj,
  features = c("SPP1"),
  max.cutoff = 3,
  pt.size = 0.01  # 设置点的大小
)
排序前
排序后

可以看到排序后该基因的表达在视觉上是明显要高于排序前的,是一种突出展示的方式。

(此贴分享自心尖上的ml ♥)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容