DESeq2 different versions
1
0
Entering edit mode
minie • 0
@minie-11306
Last seen 7.1 years ago

I have analysed the data using three different versions of DESeq2  v.1.10, v.1.14 & v.1.16 values are varying even after using  lfcShrink and betaprior=TRUE while using v.1.16

v.1.10 & v1.14 involves shrinkage and by default while v.1.16 do not. I presumed that shrinkage method in all the versions works in the same manner. However it seems to be not the case,can any one tell me why the values are different in all the three versions. I want to understand the shrinkage method used in all the three versions in detail. In the news feed of DESeq2 I can just see the updates or changes in different versions : https://www.bioconductor.org/packages/release/bioc/news/DESeq2/NEWS

rnaseq r deseq2 • 2.1k views
ADD COMMENT
0
Entering edit mode
@mikelove
Last seen 11 hours ago
United States

hi,

Can you be more specific when you say that "why the values are different in all the three versions"?

The shrinkage works similar across all these different version numbers when you use the syntax contrast=c("condition","B","A"). In version 1.16 you can obtain LFC shrinkage by using lfcShrink(), and specifying the contrast as you normally would. This is described in the DESeq2 vignette and in the DESeq2 paper as the use of "expanded model matrices".

We have new approaches to lfcShrink() in version 1.18, but these are not default, you have to change the default shrinkage 'type' to see these, and we have described these in the vignette associated with the latest release.

ADD COMMENT
0
Entering edit mode

I am not sure what more specific you want ? please elaborate. I have already stated in the first sentence values obtatined are varying.Offcourse contrasts provided was same while analysing the data using all the three versions. if you read my first post its clearly mentioned I have used lfcshrink and betaprior=TRUE while using v.1.16 . I have encountered that the values obtained after analysis are different  even after using lfcShrink() but the MA plots generated are well versed and clearly showing shrinkage . In my opinion the the shrinkage is working differently in all the three version. So I want to know how shrinkage is working in a simpler way. I haven't explored v.1.18 yet so I am not including it in the discussion.

ADD REPLY
0
Entering edit mode

Can you give an example of a change you saw? Are these substantial changes in the LFC? 

The shrinkage method is really the same across these versions, except that it was moved out of DESeq() and into a separate function in 1.16. We do not promise that results will be numerically identical across versions or else this would permit no improvements to the software or estimators. But I’ve tracked performance on a number of test datasets and the results are quite stable since version 1.4.

 

ADD REPLY
0
Entering edit mode

Thanks for your input. Examples : gene A(v10)= 1.79 , gene A(v14)= 2.23 , gene A(v16)= 6.09

Also, I was thinking might be there are some other additional factors which are adding up to the shrinkage and causing such variations while using different versions? Do you think something like this is possible?

ADD REPLY
0
Entering edit mode

From version 1.10 to 1.14, it's not such a big change, and can be caused by small differences in the dispersion estimates (but not changes to the shrinkage method itself). (We talk about how LFC shrinkage is influenced by the dispersion in the DESeq2 paper.)

For version 1.16, I'm wondering if there is an issue in how you are obtaining the LFC. Can you provide the code that you use, and then print out the results table (including the header) for gene A. You can do:

> res[idx,]

Where idx is the row number for gene A.

ADD REPLY
0
Entering edit mode

Thanks for your input ,I wil get back to you for values later:

Chunk of code  I am using, is following:

dds <- DESeqDataSetFromHTSeqCount(  sampleTable = pdata,  design= (~ group))
dds <- DESeq(dds)
resultsNames(dds)
res = result(dds, contrast=c("group","B","A")
reslfc = lfcshrink(dds, coef=2)

 

ADD REPLY
0
Entering edit mode

Can you also paste the results table with LFC=6.09 when you print it to R console, with the header included that tells about the LFC?

ADD REPLY
0
Entering edit mode

I have removed the v 1.16 and I am currently wroking with other version of DESeq2 to maintain consistency for some  old stuff.I am not sure how long it will take for me to redo the installation and analysis, in any case without that can you give some inputs if possible no hurry its just that I noticed so thought of discussing. As the code used is provided already.

ADD REPLY
0
Entering edit mode

The differences between 1.10 and 1.14 could be due to changes in dispersion estimation. The example you posted seems like the changes were not so large. My guess is that the LFC for 1.16 above is not after shrinkage.

ADD REPLY
0
Entering edit mode

Oh but I am sure I have used the option, anyways I am planning to perform the analysis with different versions using some more datasets I will write you back with the results. May be not here with huge gene lists and stuff.

ADD REPLY
0
Entering edit mode

You can always check by printing out the results table. It will say either MLE or MAP on the log2 fold change at the top.

ADD REPLY
0
Entering edit mode

Oh ok, just saw that you said “later”

ADD REPLY

Login before adding your answer.

Traffic: 656 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6