正好準(zhǔn)備籌集bioconductor中文社區(qū),我寫簡(jiǎn)單講一下DESeq2這個(gè)包如何用!
library(DESeq2)
library(limma)
library(pasilla)
data(pasillaGenes)
exprSet=counts(pasillaGenes) ##做好表達(dá)矩陣
group_list=pasillaGenes$condition##做好分組因子即可(colData <- data.frame(row.names=colnames(exprSet), group_list=group_list))
dds <- DESeqDataSetFromMatrix(countData = exprSet,
colData = colData,
design = ~ group_list)##上面是第一步第一步,構(gòu)建dds這個(gè)對(duì)象,需要一個(gè)表達(dá)矩陣和分組矩陣!?。?/span>
dds2 <- DESeq(dds) ##第二步,直接用DESeq函數(shù)即可resultsNames(dds2)res <- results(dds2, contrast=c("group_list","treated","untreated"))## 提取你想要的差異分析結(jié)果,我們這里是treated組對(duì)untreated組進(jìn)行比較resOrdered <- res[order(res$padj),]resOrdered=as.data.frame(resOrdered)可以看到程序非常好用!它只對(duì)RNA-seq的基因的reads的counts數(shù)進(jìn)行分析,請(qǐng)不要用RPKM等經(jīng)過了normlization的表達(dá)矩陣來分析。值得一提的是DESeq2軟件獨(dú)有的normlization方法!rld <- rlogTransformation(dds2) ## 得到經(jīng)過DESeq2軟件normlization的表達(dá)矩陣!
exprSet_new=assay(rld)
par(cex = 0.7)
n.sample=ncol(exprSet)
if(n.sample>40) par(cex = 0.5)
cols <- rainbow(n.sample*1.2)
par(mfrow=c(2,2))
boxplot(exprSet, col = cols,main="expression value",las=2)
boxplot(exprSet_new, col = cols,main="expression value",las=2)
hist(exprSet)
hist(exprSet_new)
聯(lián)系客服