R语言实战DEseq及PCA

DEseq标准流程

step1 处理group_list
library(DESeq2)

colData <- data.frame(row.names=colnames(exprSet),group_list=group_list)
step2 处理数据构建dds:需要exprSet colData 和group_list
# 按照DESeq2方法制作dds对象
dds <- DESeqDataSetFromMatrix(countData = exprSet,colData = colData,
                              design = ~ group_list)
dds_2 <- DESeq(dds)
save(dds_2,group_list, file = "4.DESeq_analysis.Rdata")
step3.处理结束,拿数据
rm(list = ls())
load(file = "4.DESeq_analysis.Rdata")
dds=dds_2
# 提取你想要的差异分析结果,我们这里是trt组对untrt组进行比较
res <- results(dds,contrast=c("group_list","trt","untrt"))
resOrdered <- res[order(res$padj),]

head(resOrdered)
DEG =as.data.frame(resOrdered)
DESeq2_DEG = na.omit(DEG)
## ttmpp=DEG[!(rownames(DEG) %in% rownames(DESeq2_DEG)),]
## 可以看出过滤na的全是padj=NA的行,一共是2302行

## 取出logFC和P值
nrDEG=DESeq2_DEG[,c(2,6)]
colnames(nrDEG)=c('log2FoldChange','pvalue')  
save(nrDEG, DESeq2_DEG, file = "4.DESeq.Rdata")

下面是我自己的数据实战,但是我的表达矩阵是已经被均一化的,所以dds的时候报错ome values in assay are not integers。我的数字不是整数型。。最后我只做了PCA分析。

rm(list = ls())
group<- read.table(file = 'condition.txt', header = T)

### 第一步构建dds对象
library(DESeq2)
#########step1 处理group_list  
colData <- as.data.frame(group[,-1])
row.names(colData)<- group[,1]
colnames(colData)<- c('group')
group_list<- group[,-1]

#########step2 处理数据

library(DESeq2)
library(dplyr)
expr<- read.table(file = 'ALL_summary_nrpm.txt', header = T)
exprselect<- select(expr,'Gene',c(rownames(colData)))  ###################只选择了有分组信息的数据
row.names(exprselect)<- exprselect[,1] 
exprselect<- exprselect[,-1]
dds <- DESeqDataSetFromMatrix(countData = exprselect,
                              colData = colData,
                              design = ~ group_list)############################some values in assay are not integers

下面是简单的PCA分析

需要准备成这样的:需要有一个名为dat的表达矩阵,还需要一个group_list


13817032-c3236de6f83e8c19.png
image.png
13817032-5fe53fd1a2f518b2.png
image.png
# PCA 每次都要检测数据
dat=exprselect
dat[1:4,1:4]
dim(dat)

################################step1:准备数据
## 下面是画PCA的必须操作,需要看说明书。
dat=t(dat)
dat=as.data.frame(dat)
dat=cbind(dat,group_list)
# dat$group_list=group_list


################################step2:画图
library("FactoMineR")
library("factoextra") 
# The variable group_list (index = 54676) is removed
# before PCA analysis
ncol(dat)
dat[,ncol(dat)]
# 画图是用数据,因此去掉最后一列grouplist
dat.pca <- PCA(dat[,-ncol(dat)], graph = FALSE)
plot(dat.pca,choix="ind")
# Graph of individuals
fviz_pca_ind(dat.pca,
             geom.ind = "point", # show points only (nbut not "text")
             col.ind = dat$group_list, # color by groups
             palette = c("#00AFBB", "#E7B800", '#CC00FF', '#FF0099'),
             addEllipses = TRUE, # Concentration ellipses # 是否圈起来
             legend.title = "Groups"
)
ggsave('7.PCA_all_samples.png')

展示最后的结果:结果这么惨烈,我还发不发文章了


13817032-f14431a618ede6cc.png

猜你喜欢

转载自blog.csdn.net/weixin_33816821/article/details/86942045