单细胞转录组基础分析八:可视化工具总结
时间:2022-07-24
本文章向大家介绍单细胞转录组基础分析八:可视化工具总结,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
单细胞测序技术是近年最大的生命科学突破之一,相关文章频繁发表于各大顶级期刊,然而单细胞数据的分析依然是大家普遍面临的障碍。本专题将针对10X Genomics单细胞转录组数据演示各种主流分析,包括基于Seurat的基础分析、以及基于clusterProfiler、Monocle、SingleR等R包的延伸分析。不足之处请大家批评指正,欢迎添加Kinesin微信交流探讨!
Seurat自带一些优秀的可视化工具,之前的分析内容陆续展示过一些,本节内容将总结这些可视化函数的使用。
RidgePlot山脊图
library(Seurat)
library(tidyverse)
library(patchwork)
rm(list=ls())
dir.create("visual")
scRNA <- readRDS("scRNA.rds")
p1 = RidgePlot(scRNA, features = "FCN1")
p2 = RidgePlot(scRNA, features = "PC_2")
plotc = p1/p2 + plot_layout(guides = 'collect')
ggsave('visual/ridgeplot_eg.png', plotc, width = 8,height = 8)
VInPlot小提琴图
p1 = VlnPlot(scRNA, features = "nCount_RNA", pt.size = 0)
p2 = VlnPlot(scRNA, features = "CD8A", pt.size = 0)
plotc = p1/p2 + plot_layout(guides = 'collect')
ggsave('visual/vlnplot_eg.png', plotc, width = 8,height = 8)
FeaturePlot特征图
p1 <- FeaturePlot(scRNA,features = "CD8A", reduction = 'umap')
p2 <- FeaturePlot(scRNA,features = "CD79A", reduction = 'umap')
plotc = p1|p2
ggsave('visual/featureplot_eg.png', plotc, width = 10, height = 4)
DotPlot点图
genelist = c('LYZ','CD79A','CD8A','CD8B','GZMB','FCGR3A')
p = DotPlot(scRNA, features = genelist)
ggsave('visual/dotplot_eg.png', p, width = 7, height = 5)
DoHeatmap热图
genelist = read.csv("cell_identify/top10_diff_genes_wilcox.csv")
genelist <- pull(genelist, gene) %>% as.character
p = DoHeatmap(scRNA, features = genelist, group.by = "seurat_clusters")
ggsave('visual/heatmap_eg.png', p, width = 12, height = 9)
FeatureScatter散点图
p1 <- FeatureScatter(scRNA, feature1 = 'PC_1', feature2 = 'PC_2')
p2 <- FeatureScatter(scRNA, feature1 = 'nCount_RNA', feature2 = 'nFeature_RNA')
plotc = p1|p2
ggsave('visual/featurescatter_eg.png', plotc, width = 10, height = 4)
DimPlot降维图
p1 <- DimPlot(scRNA, reduction = 'tsne', group.by = "celltype", label=T)
p2 <- DimPlot(scRNA, reduction = 'umap', group.by = "Phase", label=T)
p3 <- DimPlot(scRNA, reduction = 'pca', group.by = "celltype", label=T)
p4 <- DimPlot(scRNA, reduction = 'umap', group.by = "seurat_clusters", label=T)
plotc = (p1|p2)/(p3|p4)
ggsave('visual/dimplot_eg.png', plotc, width = 10, height = 8)
获取帮助
本教程的目的在于把常用的单细胞分析流程串起来,适合有一定R语言基础的朋友参考。分析原理和代码我没有详细解释,官网有详细的教程和权威的解释,翻译好的中文教程也有多个版本,有兴趣的可以搜索一下。如果您学习本教程有一定困难,可以点击 “阅读原文” 找到作者联系方式,获取帮助。
往期回顾
- 本地密码检索工具 – LaZagne Project
- 我是如何在SQLServer中处理每天四亿三千万记录的
- 程序猿是如何解决SQLServer占CPU100%的
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
- 分享一个自制的 .net线程池1
- 分享一个自制的 .net线程池2
- 基于百度翻译的简单爬虫翻译-- coding:utf-8 --访问网址模拟浏览器创建文件夹用一个text文件保存,文件名用单词名字
- .net采集网页方法大全(5种)
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 中文分词之结巴分词~~~附使用场景+demo(net)
- 用微信二维码登录自己的网站
- 2620: [Usaco2012 Mar]Haybale Restacking
- 1671: [Usaco2005 Dec]Knights of Ni 骑士
- 1592: [Usaco2008 Feb]Making the Grade 路面修整
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android之RecycleView实现指定范围的拖动效果
- Android 通过代码安装 APK的方法详解
- Android ListView实现无限循环滚动
- ignite:一个漂亮的多用户SS/SSR面板
- FreshRSS:开源免费的RSS阅读器
- 使用snap快速安装RocketChat你的聊天服务器
- CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能
- Baidu Sitemap Generator在PHP7无法生成XML的解决方法
- MFC实现的Socket通信
- 128-在线翻译
- C语言CGI编程二 - 编写cmd后门
- android 获取视频第一帧作为缩略图的方法
- Flutter利用注解生成可自定义的路由的实现
- Android实现随意拖动View效果的实例代码
- Kotlin的枚举与异常示例详解