专栏首页单细胞天地基因表达差异分析前的准备工作

基因表达差异分析前的准备工作

分享是一种态度

回顾

单细胞RNA-seq分析介绍 单细胞RNA-seq的设计和方法 从原始数据到计数矩阵

学习目标

  • 了解R言语使用的各种数据类型和数据结构
  • 在R中使用函数并了解如何获取有关参数的帮助
  • 使用dplyr包中的管道(%>%)
  • 了解ggplot2用于绘图的语法

配置

  1. 创建一个新的项目目录
  • 创建一个名为R_refresher项目
  • 创建一个名为reviewing_R.R
  • 项目目录中创建datafigures的文件夹
  • 将counts文件下载到data文件夹(https://github.com/hbctraining/DGE_workshop_salmon/blob/master/data/raw_counts_mouseKO.csv?raw=true)
  1. 加载库并读入数据,同时并思考以下问题
  • 加载tidyverse
  • 使用read.csv()读取所下载的文件并保存为counts object/variable
    • 函数的语法是什么?
    • 我们如何获得帮助 ?
  • 什么是数据结构?
    • R中有哪些主要的数据结构?
  • 列的数据类型是什么?
    • R中提供哪些数据类型?
1library(tidyverse)
2counts <- read.csv("data/raw_counts_mouseKO.txt")
3class(counts)
4str(counts)

创建向量/因子和数据框

我们正在对p53野生型(WT)和敲除(KO)基因型的癌症样本进行RNA-seq。有8个样本,每个样本4个重复。编写R代码构建,如下所述。

  • 为每列创建vectors/factors(提示:您可以键入每个vectors/factors,如果您希望更快速的创建,可以尝试使用rep()函数)
  • 将它们放到一个数据框中,这个数据框命名为meta
  • 使用rowames()函数给数据框定义行名(提示:您可以键入行名作为向量,如果您希望该过程进行得更快,可以尝试使用paste0()函数)。 创建好的数据框中应该包含sexstagegenotypemyc
1sex <- rep(c("M","F"),4)
2stage <- rep(c(1,2),4)
3genotype <- c(rep("KO",4),rep("WT",4))
4myc <- c(23,4,45,90,34,35,9, 10)
5meta <- data.frame(sex=sex,
6                   stage=stage,
7                   genotype=genotype,
8                   myc=myc)
9rownames(meta) <- c(paste0(rep("KO",4),1:4),paste0(rep("WT",4),1:4))

探索数据

既然我们已经创建了元数据数据框,在执行任何分析之前获取一些关于数据的描述性统计数据通常是一个好习惯。

  • 总结meta对象的内容,表示多少种数据类型?
  • 检查meta数据框中的行名称是否与counts(内容和顺序)中的列名称相同
  • 将现有 stage列转换为因子数据类型
1str(meta)
2all(rownames(meta) %in% colnames(counts))
3all(rownames(meta) == colnames(counts))
4
5meta$stage <- factor(meta$stage)
6str(meta)

提取数据

使用上一个问题中创建的meta数据框,执行以下练习(问题之间不是相互依赖):

  • 使用[]仅返回genotypesex
  • 使用[]返回样本1、7和8的genotype
  • 用于filter()返回基因型为WT的样本的所有数据
  • 使用filter()/ select()仅返回myc> 50的那些样本的stagegenotype
  • 在数据框的开头添加一个名为pre_treatment的列,其值为T、F、T、F、T、F、T、F
  • 使用%>%创建meta对象的tibble 并将其命名为meta_tb(确保不会丢失行名!)
  • 将列的名称更改为:“ A”,“ B”,“ C”,“ D”,“ E”
 1meta[,c(2,3)]
 2#or
 3meta[,c("stage","genotype")]
 4
 5meta[c(1,7,8),"genotype"]
 6
 7filter(meta, genotype == "WT")
 8
 9meta %>% filter(myc > 50) %>% select(stage, genotype)
10#or
11select(filter(meta, myc > 50), stage, genotype)
12
13pretreatment <- c(T, F, T, F, T, F, T, F)
14meta <- cbind(pretreatment, meta)
15###思考一下这样为什么会有问题
16
17meta_tb <- meta %>% rownames_to_column(var="sampleIDs") %>%as_tibble()
18
19colnames(meta_tb)[2:6] <- LETTERS[1:5]

可视化数据

通常,当我们使用各种图形进行可视化探索时,更容易看到数据的模式或性质。让我们使用ggplot2来探索基于基因型的Myc基因表达的差异。

  • 使用theme_minimal()为KO和WT样本绘制Myc表达式的箱线图,并为绘图指定新的轴名和居中的标题。
1ggplot(meta) +
2  geom_boxplot(aes(x = genotype, y = myc)) +
3  theme_minimal() +
4  ggtitle("Myc expression") +
5  ylab("Myc level") +
6  xlab("Genotype") +
7  theme(plot.title = element_text(hjust=0.5, size = rel(2)))

为下游分析做准备

许多不同的统计工具或分析包都希望作为输入的所有数据都在列表结构中。让我们创建一个包含count和metadata的数据列表,为后续分析做准备。

  • 使用metacount对象创建名为project1的列表,并从两个数据框之一中提取所有样本名称创建一个新向量。
1project1 <- list(meta, counts, rownames(meta))
2project1

注:以上内容来自哈佛大学生物信息中心(HBC)的教学团队的生物信息学培训课程。原文链接:https://hbctraining.github.io/scRNA-seq/schedule/

本文分享自微信公众号 - 单细胞天地(sc-ngs),作者:单细胞天地

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 不仅仅是新的单细胞相关R包层出不穷,旧的R包也会更新用法

    单细胞R包如过江之卿,入门的话我推荐大家学习5个R包,分别是: scater,monocle,Seurat,scran,M3Drop 需要熟练掌握它们的对象,:...

    生信技能树jimmy
  • 使用seurat3的merge功能整合8个10X单细胞转录组样本

    全部数据在:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE106273 可以下载!

    生信技能树jimmy
  • 重复平均表达量和变异系数相关性散点图

    附件地址在:https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-018-07582-3...

    生信技能树jimmy
  • “西湖论剑”开幕倒计时4天|嘉宾演讲剧透之第二季

    可信身份管理是智慧城市建设中的基础。本议题将阐述智慧城市对可信身份管理的强烈需求,国家对可信身份管理的重要战略部署,已经如何在智慧城市建设中做好可信身份管理工作...

    安恒信息
  • AAAI 2020「自然语言处理(NLP)」【哈尔滨工业大学】多任务自监督学习的文本顺滑

    各位小伙伴,最近全国各地陆续发现新型冠状病毒感染的肺炎疫情,又赶上春节,大家出门请注意戴口罩,做好防护~~

    ShuYini
  • 2019-05-31 使用 REST-Assured 测试 REST API 的进阶技巧和最佳实践

    https://www.ibm.com/developerworks/cn/java/j-lo-rest-assured2/index.html

    Albert陈凯
  • 单机静默安装GI软件并创建ASM实例和ASM磁盘组

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备

    Alfred Zhao
  • 使用LSTM预测天气

    本篇使用的数据集是由Max-Planck-Institute for Biogeochemistry记录的天气数据。每10分钟观测一次气压、气温、风速等天气数据...

    用户6021899
  • R语言meta分析⑴meta包

    从广义上讲,meta分析是指试图将几项研究结果结合起来的统计分析。这一术语是由统计学家Gene V Glass在1976年向美国教育研究协会发表的演讲中创造的。...

    用户1359560
  • 数学知识--Unconstrained Optimization(第一章)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148525

扫码关注云+社区

领取腾讯云代金券