高通量测序数据差异分析(DESeq2)

今天我们来学习R语言DESeq2做差异分析,第一次我推送这个差异分析到现在已经过去一年多了,我重新排版,更加了一些感悟,重新推送给大家。 基于高通量测序数据的差异分析,为了矫正测序平台,批次,深度等差异,所以这里做DEsep2差异分析。

这个包适用于:

高通量数据分析过程中,基于count数据,对其进行标准化处理,并对两个样本的差异做定量比较。注意这里是基于read数进行分析的,卖的是标准化方法。

说道安装DEsep2这个包,这段时间在ubuntu中安装更加困难,还好最后都解决了。这个包绝对算得上的较难安装的包之一。当然现在我目前安装最为困难的包是microbiomeSeq,大家有时间可以试试,做扩增子的同学可以看看这个包,是有作者的心意在里面的。

#安装这个包,安装过程不太顺利,请多试几次,还是没问题的,我也没有出现意料之外的问题

source("https://bioconductor.org/biocLite.R")
biocLite("DESeq2")
library(DESeq2)

读取我们的数据,这里使用两个文件,一个是分组文件,另一个是OTU表格。

有的人曾问过,这个OTU表格需要抽平吗?这里我直接回答:不需要。

# 读入实验设计,Qiime的mapping文件删去第一行的“#”即可使用

design =read.table("map_lxdjhg.txt", header=T, row.names= 1,sep="\t")

head(design)

# 读取OTU表,全部otu表没有抽平,基于count的数据,不可用相对丰度数据

otu_table =read.delim("otu_table.txt", row.names= 1,sep="\t",header=T,check.names=F)

#做判别,做排序为了使变量可以一一对应上

idx =rownames(design) %in% colnames(otu_table)

design = design[idx,]

#我们后面利用sub_design文件做分组文件

sub_design =design[idx,]

#我们后面利用count文件做差异分析文件

count =otu_table[, rownames(sub_design)]

#这里我们将count转化为矩阵,当然可以不用转化

count=as.matrix(count)

head(count)

第一步构建两个矩阵,第一个OTU矩阵,第二个分组矩阵

dds <-DESeqDataSetFromMatrix(countData = count,

colData =sub_design,

design = ~ SampleType)

countData:即为差异分析otu表格,格式为行名otu名称,列名变量名为样品名

colData:即为分组文件;

design:即为分组文件中指定分组的列的列名;

第二步

dds2 <-DESeq(dds) #直接用DESeq函数即可
resultsNames(dds2)
#这里我们指定需要比较的两组样本
# 将结果用results()函数来获取,赋值给res变量,这里我设定显著性阈值为alpha=0.05
res <- results(dds2,contrast=c("SampleType","G0", "GC1"),alpha=0.05)

#看一下结果的概要信息

summary(res)

提取结果进行保存

#这里我们可以更据结果文件提取我们需要的行,使用subset函数,也是也个很有用的函数

WT <-subset(res,padj< 0.05 & (log2FoldChange > 1 | log2FoldChange < -1))

#当然可以只得到想要的OTU名称
WT2 <-row.names(WT)
# res就是最后的显著性比较的文件,这里我们按照显著性排序

res <-res[order(res$padj),]

#将差异和OTU相对丰度做一个合并

wt3 <- merge(as.data.frame(res),as.data.frame(counts(dds2,normalize=TRUE)),by="row.names",sort=FALSE)
head(wt3)
# 得到csv格式的差异表达分析结果
write.table(wt3,"otu差异统计表格GC1-G0.txt",quote= FALSE,row.names = T,

col.names = T,sep = "\t")
这里提到了相对丰度提取的命令
## 获得normalize的count
dds <-estimateSizeFactors(dds)
wt6 <-counts(dds, normalized=T)
head(wt6)

这是上面我们合并采用的命令
counts(dds2,normalize=TRUE)

学习永无止境,分享永不停歇!

(0)

相关推荐

  • 转录组差异表达分析和火山图可视化

    利用R包DEseq2进行差异表达分析和可视化 count数矩阵 差异分析 1. 安装并载入R包 2. count数矩阵导入并对矩阵进行数据处理 3. 查看样本相关性并采用热图展示 4. hclust对 ...

  • 差异分析|DESeq2完成配对样本的差异分析

    本文为群中小伙伴进行的一次差异分析探索的记录. 前段时间拿到一个RNA-seq测序数据(病人的癌和癌旁样本,共5对)及公司做的差异分析结果(1200+差异基因),公司告知用的是配对样本的DESeq分析 ...

  • 试一下我的差异分析软件

    我本身是不喜欢把差异分析这种需求包装成软件的,甚至它都算不上软件.当然,我也很不太喜欢写软件(需要考虑太多的用户意外),不过,总有一天我还是得面对.为什么让大家试一下我的 `差异分析软件` ,其实是想 ...

  • 转录组学习七(差异基因分析)

    任务 载入表达矩阵,然后设置好分组信息 用DEseq2进行差异分析,也可以走走edgeR或者limma的voom流程 基本任务是得到差异分析结果,进阶任务是比较多个差异分析结果的异同点. 了解差异基因 ...

  • DESeq2差异表达分析(二)

    接上文DESeq2差异表达分析 质量控制--样品水平 DESeq2工作流程的下一步是QC,它包括样本级和基因级的步骤,对计数数据执行QC检查,以帮助我们确保样本/重复 看起来很好. RNA-SEQ分析 ...

  • lncRNA组装流程的软件介绍软件推荐之DEseq2

    咱们<生信技能树>的B站有一个lncRNA数据分析实战,缺乏配套笔记,所以我们安排了100个lncRNA组装案例文献分享,以及这个流程会用到的100个软件的实战笔记教程! 下面是100个l ...

  • 插件 | 点点点,基因差异表达分析~几分钟就掌握了

    于是,TBtools - RNAseq 全家桶到位! 写在前面 很久很久以前,TBtools 解决了 RNAseq 数据分析中几个常见问题: 基因功能注释,NR,SWISSPROT,GO注释等 基因集 ...

  • DESeq2差异表达分析

    在前文scRNA-seq marker identification(二),我们我们提到了差异分析,下面我们来详细了解下 学习目标 了解如何准备用于pseudobulk差异表达分析的单细胞RNA-se ...

  • R差异分析知识点

    差异分析包含两类数据:芯片数据+测序数据 芯片数据:limma包分析 测序数据:edgeR包+DESeq2包分析 edgeR包+DESeq2包分析counts数据 counts为数值型,整数 FPKM ...

  • 转录组入门(mac 版本)

    软件安装 安装bioconda: 去官网下载和自己电脑系统一样的版本 https://conda.io/miniconda.html 下载完后,双击解压,然后cd 到文件目录,开始安装. # 安装 b ...