转录组-DESeq2筛选差异基因

 需要数据:表达矩阵(count数据,count值为整数,矩阵是没有标准化的)

                       分组信息;

                       差异比较矩阵(制定差异比较对象)

getwd()
mycounts<-read.csv("gene_exp.csv",row.names = 1)#这个表不对,有小数,应用Count数据

head(mycounts)
dim(mycounts)#几行几列
mycounts_1<-mycounts[rowSums(mycounts)!=0,]#去掉行的和为0
dim(mycounts_1)
mymeta<-read.csv("fenzu.csv",stringsAsFactors = T)#字符串转化为因子

Mymeta
colnames(mycounts_1)==mymeta$id#查看顺序是否一一对应
#source("https://bioconductor.org/biocLite.R") #载入安装工具
#BiocManager::install("DESeq2")#安装包
library(DESeq2)

mycounts_1<-round(mycounts_1,digits=0) #将输入数据取整,若为count数据不需要这一步
mycounts_1
dds<-DESeqDataSetFromMatrix(countData = mycounts_1,#基因表达量表
                            colData = mymeta,#分组信息表
                            design = ~dex)#分组信息里的列名

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

head(res)
class(res)
res_1<-data.frame(res)
class(res_1)
head(res_1)
library(dplyr)

res_1%>%
  mutate(group=case_when(
    log2FoldChange>=1&pvalue<=0.05~"UP",
    log2FoldChange<=-1&pvalue<=0.05~"DOWN",
    TRUE~"NS"
  ))->res_2


table(res_2$group)#查看上下调个数
write.csv(res_2,file="res_2.csv")