转录组-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")
