【R语言】使用DESeq2对微生物组进行差异分析

代码展示:

bash 复制代码
asv <- read.delim(paste0(input,'_0.5wen.10050.asv_table.txt'), row.names = 1, sep = '\t', stringsAsFactors = FALSE, check.names = FALSE)
group <- read.delim(paste0('group2_',input,'.txt'),row.names = 1,sep = '\t') 

asv <- asv+1
#将变量转换为因子型
group$group1 <- as.factor(group$group1)

dds <- DESeqDataSetFromMatrix(countData = asv,
                              colData = group,
                              design = ~group1)#构建 DESeqDataSet 对象
dim(dds)

##过滤
#dds <- dds[rowSums(counts(dds)) > 1,]

## 差异比较
#dds <- DESeq(dds) #差异分析dds <- DESeq(dds) #asv差异分析

dep <- DESeq(dds)
res <- results(dep)
suppressMessages(dds)

diff = res
diff <- na.omit(diff)  ## 去除缺失值NA
dim(diff)
#此时,diff就是差异分析的总分析结果,我们可以先将其导出保存
write.csv(diff,paste0(input,'_all_diff.csv'))

##进一步筛选差异ASV,使用Padj值和log2FC进行筛选
#Padj是P值矫正之后的数值,一般选取小于等于0.05(显著差异)的基因;同时log2FC是基因表达量的差异倍数。
#例如log2FC为1,证明这个基因在两种不同处理中的表达量相差了一倍,通常以大于1或小于-1为标准,大于1的为上调表达,少于-1的为下调表达。
foldChange = 1
padj = 0.05

diffsig <- diff[(diff$pvalue < padj & abs(diff$log2FoldChange) > foldChange),]
dim(diffsig)

write.csv(diffsig, paste0(input,'_all_diff.sig.csv'))

参考:

1\][DESeq2筛选差异OTU及绘制火山图](https://blog.csdn.net/qq_42458954/article/details/104078845) \[2\][RStudio \| 利用DESeq2包进行差异表达分析](https://zhuanlan.zhihu.com/p/521515842) \[3\][NC:基于38组数据评估14种微生物组差异分析方法---结果差异很大](https://blog.csdn.net/woodcorpse/article/details/125157755)

相关推荐
摇滚侠8 分钟前
全面掌握 PostgreSQL 关系型数据库,PostgreSQL 介绍,笔记02
数据库·笔记·postgresql
摇滚侠9 分钟前
Spring Boot3零基础教程,生命周期监听,自定义监听器,笔记59
java·开发语言·spring boot·笔记
张人玉1 小时前
WPF 控件速查 PDF 笔记(可直接落地版)
笔记·microsoft·wpf
摇滚侠1 小时前
Spring Boot3零基础教程,事件驱动开发,设计登录成功后增加积分记录信息功能,笔记61
java·spring boot·笔记·后端
Elias不吃糖1 小时前
Qt TCP 网络通信详解(笔记)
笔记·qt·tcp/ip
charlie1145141912 小时前
2D 计算机图形学基础速建——1
笔记·学习·教程·计算机图形学·基础
im_AMBER2 小时前
React 07
前端·笔记·学习·react.js·前端框架
9ilk2 小时前
【仿RabbitMQ的发布订阅式消息队列】--- 介绍
linux·笔记·分布式·后端·rabbitmq
开开心心就好3 小时前
Word转PDF工具,免费生成图片型文档
前端·网络·笔记·pdf·word·powerpoint·excel
im_AMBER9 小时前
Leetcode 38
笔记·学习·算法·leetcode