Question: Difference between DESeq2 package version 1.16.1 and 1.14.1
gravatar for jingjiaok
2.4 years ago by
jingjiaok0 wrote:

I am using DESeq2 for differential expression analysis. But I got big different results between the two versions while using the same set of data as input and the same set of r code for data processing for the two DESeq2 versions. I would like to ask what is the key point changed between the two versions to make the results so different.

I used DESeq2 package version 1.14.1 and pasilla version 1.2.0 two months ago to get 98 and 4200 differential expression transcripts, while I installed a new version of R in another computer and applied the updated DESeq2 package version 1.16.1 and pasilla 1.4.0 recently and I got 1988 and 8313 differential expressed transcripts. And most of the 98 and 4200 are covered by the 1988 and 8313 DE transcripts, respectively. 

pasCts <- system.file( "transcript_count_matrix.csv",package="pasilla", mustWork=TRUE)

pasAnno <- system.file( "phenotypic_data.csv", package="pasilla", mustWork=TRUE)

a = read.csv(pasCts,row.names=1)

countData <- as.matrix(a)

colData <- read.csv(pasAnno, row.names=1)

all(rownames(colData) %in% colnames(countData))

all(rownames(colData) == colnames(countData))

dds <- DESeqDataSetFromMatrix(countData = countData, colData = colData, design = ~ clone + block + condition)


featureData <- data.frame(transcript=rownames(countData))


(mcols(dds) <- DataFrame(mcols(dds), featureData))

dds$condition <- factor(dds$condition, levels=c("C","D"))


dds <- DESeq(dds, fitType = c("local"))

res <- results(dds, alpha = 0.05, lfcThreshold = 0.5)

sum(res$padj < 0.05, na.rm=TRUE)

Let me know if you need more information and thanks for any help!


deseq2 pasilla • 1.3k views
ADD COMMENTlink modified 2.4 years ago by Michael Love26k • written 2.4 years ago by jingjiaok0
Answer: Difference between DESeq2 package version 1.16.1 and 1.14.1
gravatar for Michael Love
2.4 years ago by
Michael Love26k
United States
Michael Love26k wrote:
See recent support site posts on this topic.
ADD COMMENTlink written 2.4 years ago by Michael Love26k

Hi Michael,

Thanks. I have found out from the recent manual posts that the 1.16 version has a separate function in DESeq() and lfcShrink for moderating. That's why I got different results. I will keep using the 1.14 version since the lfcShrink() function is still being prototyped as the manual said.



ADD REPLYlink written 2.4 years ago by jingjiaok0

Correction: lfcShrink() gives the identical moderated LFCs as DESeq() gave in previous versions. But there are new methods being planned, which are not in version 1.16.

If you want to obtain (nearly) the same results in version 1.16 as in 1.14 you can do:

dds <- DESeq(dds, betaPrior=TRUE)
res <- results(dds)

And this code will also work going forward into future versions if you want to maintain the old behavior: shrinkage done by DESeq() function. I only changed the default value for betaPrior.

ADD REPLYlink written 2.4 years ago by Michael Love26k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 232 users visited in the last hour