Search
Question: Difference between DESeq2 package version 1.16.1 and 1.14.1
0
gravatar for jingjiaok
15 months ago by
jingjiaok0
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)

dds

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

head(featureData)

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

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

dds$condition

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!

Jingjia

ADD COMMENTlink modified 15 months ago by Michael Love19k • written 15 months ago by jingjiaok0
0
gravatar for Michael Love
15 months ago by
Michael Love19k
United States
Michael Love19k wrote:
See recent support site posts on this topic.
ADD COMMENTlink written 15 months ago by Michael Love19k

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.

Thanks!

Jingjia

ADD REPLYlink written 15 months 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 15 months ago by Michael Love19k
Please log in to add an answer.

Help
Access

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