前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >🤩 scRNA-seq | 吐血整理的单细胞入门教程(基础可视化)(五)

🤩 scRNA-seq | 吐血整理的单细胞入门教程(基础可视化)(五)

作者头像
生信漫卷
发布2022-10-31 17:20:04
发布2022-10-31 17:20:04
67500
代码可运行
举报
运行总次数:0
代码可运行

1写在前面

本期我们介绍一下scRNA-seq基本信息的可视化方法。✌️

2用到的包

代码语言:javascript
代码运行次数:0
复制
rm(list = ls())
library(tidyverse)
library(scater)
library(SingleCellExperiment)
library(ggsci)
library(scater)

3示例数据

这里我们用一下上期介绍的counts文件和annotation文件,然后通过SingleCellExperiment包创建SingleCellExperiment格式的文件。

3.1 读入数据

代码语言:javascript
代码运行次数:0
复制
counts <- read.table("./molecules.txt", sep = "\t")
annotation <- read.table("./annotation.txt", sep = "\t", header = TRUE)

counts

annotation


3.2 创建SingleCellExperiment对象

代码语言:javascript
代码运行次数:0
复制
# 注意assays必须是matrix
tung <- SingleCellExperiment(
  assays = list(counts = as.matrix(counts)),
  colData = annotation
)
assay(tung, "logcounts") <- log2(counts(tung) + 1)
colData(tung)$total_counts <- colSums(counts(tung))
tung

4细胞信息可视化

这里我们对每个batch的总count的分布情况进行可视化。😘 大家可以在colData中找到相应信息。

4.1 提取信息

代码语言:javascript
代码运行次数:0
复制
cell_info <- as.data.frame(colData(tung))
head(cell_info)

4.2 可视化

这里的可视化我们以ggplot为例。🌰

代码语言:javascript
代码运行次数:0
复制
cell_info %>% 
  ggplot(aes(x = batch, y = total_counts)) +
  geom_violin(aes(fill= batch)) + 
  theme_bw() + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))+
  scale_fill_npg()

5特定gene及batch的可视化

如果我们想把每个batch中某个特定gene的表达分布可视化,这就相对比较复杂了,因为gene表达信息是在counts文件中,而batch信息是在colData中。🤯 如果要把这两部分信息放在一起,我们需要做大量的数据处理,然后整合在一个data.frame。😔

这里我们可以使用scater包的ggcells()函数进行可视化,非常简单。🤩

5.1 补充一下

上面我们介绍了使用ggplot细胞信息进行可视化,这里我们用scater包也可以实现,无需提取colData

代码语言:javascript
代码运行次数:0
复制
tung %>% 
  ggcells(aes(x = batch, y = total_counts)) + 
  geom_violin(aes(fill = batch)) + 
  theme_bw() + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))+
  scale_fill_lancet()

5.2 特定基因可视化

代码语言:javascript
代码运行次数:0
复制
tung %>% 
  ggcells(aes(x = batch, y = ENSG00000198938), exprs_values = "logcounts") + 
  geom_violin(aes(fill = batch)) +
  theme_bw() + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))+
  scale_fill_aaas()

最后祝大家早日不卷!~


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1写在前面
  • 2用到的包
  • 3示例数据
    • 3.1 读入数据
    • 3.2 创建SingleCellExperiment对象
  • 4细胞信息可视化
    • 4.1 提取信息
    • 4.2 可视化
  • 5特定gene及batch的可视化
    • 5.1 补充一下
    • 5.2 特定基因可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档