如何利用UMAP坐标复现GSE151710中S2图的UMAP可视化(R代码)
复现Molgora等人2020年《Cell》补充图S2的UMAP图(仅用GSM4588939和GSM4588940)
1. 安装并加载必要R包
如果未安装以下依赖包,先执行安装命令;已安装则直接加载:
# 仅首次运行需要安装 install.packages(c("tidyverse", "ggplot2")) # 加载包 library(tidyverse) library(ggplot2)
2. 读取元数据文件
手动从NCBI GEO数据库获取GSE151710_meta_single_cell_2_total_CD45.tsv.gz文件,将其放入R工作目录后,执行读取命令:
meta_data <- read_tsv("GSE151710_meta_single_cell_2_total_CD45.tsv.gz")
3. 筛选目标样本
仅保留GSM4588939和GSM4588940对应的数据集行:
filtered_data <- meta_data %>% filter(gsm %in% c("GSM4588939", "GSM4588940"))
4. 绘制UMAP图
根据论文补充图S2的呈现逻辑,按细胞类型着色(请根据元数据实际列名替换cell_type,可通过colnames(meta_data)查看所有列名),并优化图的样式以贴近原图:
ggplot(filtered_data, aes(x = UMAP_1, y = UMAP_2, color = cell_type)) + geom_point(size = 0.5) + # 调整点大小匹配原图密度 theme_bw() + theme(panel.grid = element_blank(), legend.position = "right", plot.title = element_text(hjust = 0.5, size = 14, face = "bold")) + labs(title = "UMAP: GSM4588939 & GSM4588940", x = "UMAP 1", y = "UMAP 2")
额外调整建议
- 如果需要完全匹配论文的配色方案,可使用
scale_color_manual()自定义颜色映射 - 若元数据中UMAP坐标列名不是
UMAP_1/UMAP_2,替换为实际列名即可
内容的提问来源于stack exchange,提问作者Estevão Barcelos
相关产品推荐
相关产品推荐

