16s分析之差异分析(DESeq2)

今天我们来学习R语言DESeq2包,原理什么的后不说,在操作过程中点缀一下,等四个差异包推送完成后,咱们在对这四个包做差异分析的原理做一个比较分析;


这个包适用于:

高通量数据分析过程中,基于count数据,对其进行标准化处理,并对两个样本的差异做定量比较


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

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

biocLite("DESeq2")

library(DESeq2)

读取我们的数据

# 读入实验设计,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差异表达分析

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

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

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

  • R差异分析知识点

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

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

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

  • DESeq2差异表达分析(二)

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

  • 转录组入门(mac 版本)

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

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

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

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

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

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

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