跟着 Cell 学作图 | 5.UMAP降维分析

“实践是检验真理的唯一标准。”

“复现是学习R语言的最好办法。”

2021.4.12_1

DOI: 10.1016/j.cell.2020.05.032

这篇2020年发表在cell上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Supplemental FigureUMAP降维分析图

210421_1

本文代码及示例数据领取:后台回复“20210422

UMAP

UMAP (Uniform Manifold Approximation and Projection) 算法是一种创新的降维流形学习算法。来自于拓扑数据分析。可以用于类似于t-SNE的可视化,但也可以用于一般的非线性降维。文章里的这个图可以看出,sars-cov-2感染患者的血清组学数据与健康个体的组学数据得到了很好的分辨,而其他组则表现出一定程度的分离。

数据格式

210421_2

注:示例数据仅作展示用,无实际意义!

绘制

很显然,重点在于umap分析,可视化只是常见的散点图。

#------
title: "UMAP"
author: "MZBJ"
date: "2020/4/22"
#-----
# 初次使用需要安装
#install.packages("uamp")
rm(list = ls())
setwd("F:/~/mzbj/cell/2021.4.22")
# 载
library(umap)
library(ggplot2)
#导入数据,首列为行名
df <- read.csv(file = "df_umap.csv",row.names = 1)
#生成一个不含lable列的新数据集
df_umap <- df[,colnames(df)!='label']
#按行进行标准化
df_umap <- data.frame(t(apply(df_umap,1,function(v){(v-mean(v,na.rm=T))/sd(v,na.rm=T)})),stringsAsFactors=F)
#替换NA为0
df_umap[is.na(df_umap)] <- 0
#UMAP分析
umap <- umap(df_umap,method='naive',n_neighbors = 10)
#n_neighbors 用似的局部邻域的大小(根据邻域采样点的数量)。数值越大,流形的全局视图就越多,而数值越小,保留的局部数据就越多。通常值应该在2到100的范围内。
#method 可用的方法是“naive”(用纯R编写的实现)和“umap-learn”(需要python包“umap-learn”)
# 查看降维后的结果
head(umap$layout)
#提取umap值作图用
df1 <- data.frame(umap$layout)
df1$label <- df$label #加入lavle列
colnames(df1) <- c('X','Y','label') #改个列名 不改也行p <- ggplot(df1, aes(x=X, y=Y, colour=label)) + geom_point(size=4)+xlab(NULL)+ #不添加x y轴名称ylab(NULL)
p <- p + theme(  panel.grid.major = element_blank(),panel.grid.minor = element_blank(),legend.title=element_blank(), #图例标签隐藏panel.border = element_blank(),axis.line.x = element_line(color="black", size = 0.5),axis.line.y = element_line(color="black", size = 0.5),panel.background = element_blank())
#按文章的配色改个颜色
p <- p +  scale_colour_manual(values=c("#D58F25","#882424","#7DA92E","#5A7EB3"))
p
#保存为svg格式图片
ggsave(p,filename = "umap.svg",width = 5,height = 4)

出图:

210422_3

又是一模一样哈哈~

写在后面:

本系列重在复现,所以有些细节可能讲的不是很详细。大家有问题可以后台私信,或者在我的B站:木舟笔记进行互动!制作不易,希望大家多多支持!

参考

  1. https://github.com/lmcinnes/umap

  2. https://cran.r-project.org/web/packages/umap/vignettes/umap.html


往期内容:

跟着CELL学作图|1.火山图

跟着Cell学作图 | 2.柱状图+误差棒+散点+差异显著性检验

跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验

跟着 Cell 学作图 | 4.小提琴图

跟着Cell学作图 | 5.UMAP降维分析相关推荐

  1. 跟着Cell学作图|9.PPI分析(GeNets数据库)

    9.PPI分析(GeNets数据库) "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.cell.2020.05. ...

  2. 跟着Cell学作图 | 12.韦恩图(Vennerable包)

    "实践是检验真理的唯一标准." "复现是学习生信的最好办法." 2021.4.12_1 DOI: 10.1016/j.cell.2020.05.032 这篇20 ...

  3. 跟着CELL学作图|1.火山图

    跟着CELL学作图之火山图 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.cell.2020.05.032 这 ...

  4. 跟着 Cell 学作图 | 桑葚图(ggalluvial)

    桑葚图 今天我们复现一幅2021年Cell上Graphical abstract的图. Title:Human oral mucosa cell atlas reveals a stromal-neu ...

  5. 跟着Cell学作图 | 2.柱状图+误差棒+散点+差异显著性检验

    跟着 Cell 学作图 | 2.柱状图+误差棒+散点 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." 2021.4.12_1 DOI: 10. ...

  6. 跟着 Cell 学作图 | 4.小提琴图

    跟着 Cell 学作图 | 4.小提琴图 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.cell.2020.0 ...

  7. 跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验

    跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验 "实践是检验真理的唯一标准." "复现是学习R语言的最好办法." DOI: 10.1016/j.c ...

  8. 跟着 NC 学作图 | 多组散点图+配对连线+差异分析

    scatter_paired_line 今天我们复现一幅2022年7月发表在nature communications上的配对连线散点图. ❝ Title:Evaluation of transpla ...

  9. 跟着Cell学单细胞转录组分析(八):单细胞转录组差异基因分析及多组结果可视化

    接着单细胞下游分析: 从Cell学单细胞转录组分析(一):开端!!! 跟着Cell学单细胞转录组分析(二):单细胞转录组测序文件的读入及Seurat对象构建 跟着Cell学单细胞转录组分析(三):单细 ...

最新文章

  1. Python之Selenium的爬虫用法
  2. java h5获取ip,websocket中获取客户端通信的真实IP
  3. 联合检测和跟踪的MOT算法解析(含MOT17 No.1等多个榜前算法)
  4. myeclipse 10安装svn插件
  5. 选择指定的MySQL数据库
  6. 关于Linux内核的一些问题
  7. 软件开发打败了80%的程序员
  8. 新版 IDEA 发布,牛逼!网友:内存占用有所好转!
  9. Java观察者模式讲解及代码实现
  10. java 调用图灵接口_图灵机器人(问答机器人)API调用示例
  11. hive 漫威the_2021年即将上映的漫威电影
  12. photoshop中如何给图片加水印和去水印
  13. 牛年第一瓜!阿里女员工被初中文化男子骗走 500 多万元。。。
  14. 解决您所有WiFi问题的10个智能路由器
  15. 《枪炮、病菌与钢铁》之一
  16. 图片太大怎么办?这3种方法快速压缩图片!
  17. The Generalized Detection Method for the Dim Small Targets by Faster R-CNN Integrated with GAN 论文翻译
  18. JS知识点总结(全)
  19. [SDOI2012]拯救小云公主【bfs+二分答案】
  20. 同时拿到网易和微信的offer!!他是怎么做到的?

热门文章

  1. maven打包出错:There are test failures
  2. 程序员和他的女朋友一起创建了价值 150,000,000 美元的网站
  3. 实施CRM目标有哪几步?如何制定CRM目标?
  4. PyQt5 + Eric6 重装
  5. C语言-入门-宏定义(十七)
  6. Ominibus F4V3 Pro飞控原理图和接线图
  7. 密码安全:密码设置要求,密码爆破办法,密码归类使用,密码处置方案
  8. 李老师用计算机,西安数学天才何布凡,心算比计算机还快,幼年却被诊断为“智障”...
  9. zz Ubuntu常用命令大全
  10. 22个最流行的三维重建软件【2022】