R语言——基于DESeq2做基因表达差异分析

1. 背景知识

本记录主要是使用DESeq2 包进行差异包表达分析。如有错误敬请指正。

版本说明:

R 语言是4.2.0版本,对应的BiocManager是3.15版本。
注意部分依赖包是由R4.2.1建造,可能会有问题。

2. 计算原理

3. 安装包(环境安装)

我们采用的是BiocManager安装DESeq2包

if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install(version = "3.15")

BiocManager::install("DESeq2")
BiocManager::install("dplyr")

4. 比对过程

4.1比对前准备

加载相关包

library(DESeq2)
library(dplyr)

按照包的要求,制作输入数据,首先,导入Counts数据矩阵

countdata <-
  read.table("D:/Bin/R/20221027/diff.txt",
             header = T,
             row.names = 1)

过滤在所有重复样本中小于1的基因

## 过滤在所有重复样本中小于1的基因
countdata = countdata[rowMeans(countdata) > 1,]

## 样本注释信息自己在本地后制作后进行导入
coldata  <- read.csv("D:/Bin/R/20221027/countdata.csv", 
                     header = T, row.names = 1)
head(coldata)

检查数据Counts文件与coldata数据是否匹配

##检查数据Counts文件与coldata数据是否匹配
## 当返回TRUE时,表明两个数匹配。

all(rownames(coldata) %in% colnames(countdata))  
all(rownames(coldata) == colnames(countdata))

4.2制作差异矩阵

dds <-
  DESeqDataSetFromMatrix(countData = countdata,
                         colData = coldata,
                         design = ~ condition)
dim(dds)

过滤

## 过滤


dds <- dds[rowSums(counts(dds)) > 1,]  
nrow(dds)  

4.3 差异比较

## 差异比较
dep <- DESeq(dds)
res <- results(dep)
diff = res
diff <- na.omit(diff)  ## 去除NA
dim(diff)
write.csv(diff, "all_diff.csv")  # 导出所有的差异文件

设置筛选标准

# 设置筛选标准
foldChange <- 0.42
padj = 0.05
#
diffsig <- diff[(diff$pvalue < padj & abs(diff$log2FoldChange) > foldChange),]
dim(diffsig)
write.csv(diffsig, "All_diffsig.csv")

标准化

## 标准化(标准化Counts值) 
vsd <- vst(dds, blind = FALSE)
normalizeExp <- assay(vsd)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值