#source("https://bioconductor.org/biocLite.R") #biocLite("DESeq2") #安装DESEQ2 library(DESeq2) #载入包 data16<-read.csv('cancer.txt',sep='\t',row.names=1) #读入数据,以tab为间隔,列名为第一列元素名字(基因) #数据格式:行为基因,列为样本 dataexp<-data16[,1:4] #为了运行速度,演示只取前四列(前四个样本) col<-data.frame(sampleid=colnames(dataexp),group=as.factor(c("nor","nor","can","can"))) #创建一个两列的数据框,一列为样本Id,一列为分组信息 dds = DESeqDataSetFromMatrix(countData = dataexp,colData = col,design = ~group) #构建dds矩阵,第一个参数为表达矩阵,第二个参数为样本信息矩阵,第三个矩阵为差异比较矩阵 dds2<-DESeq(dds) #标准化 res<- results(dds2,contrast = c('group','nor','can')) #提取结果,注意元素名字(group,nor,can)需与前相同 resOrdered <- res[order(res$padj),] #按padj(经过多重校验后的p-value)大小排序 resOrdered=as.data.frame(resOrdered) #转化为数据框形式 result =resOrdered[resOrdered$padj<0.05,] #提取显著(p-value小于0.05)的结果 result = na.omit(result) #去除可能存在的NA write.csv(result,'testresult.csv') #写出文件