Question: DESeq erroneously normalizing all values to mean of one specific variable - what's wrong?
gravatar for stwestreich
3.5 years ago by
stwestreich0 wrote:

I'm running DESeq2_1.6.3 in R_3.1.2 to compare expression levels between two conditions, with a dozen individuals in each condition.  The basic code looks like this:

complete_table <- merge(control_table_trimmed, exp_table_trimmed, by=0, all = TRUE)
completeCondition <- data.frame(condition=factor(c(rep("control", length(control_files)), rep("experimental", length(exp_files)))))
dds <- DESeqDataSetFromMatrix(complete_table, completeCondition, ~ condition)
dds <- DESeq(dds)
res <- results(dds, contrast = c("condition", "experimental", "control"))

I haven't had any problems in the past obtaining a results summary table from DESeq2, where the fit is parametric and all levels are compared between the two conditions.  However, in my most recent experiment, DESeq2 instead has chosen the mean for my most abundant gene's expression level and set this as identical across all samples, and appears to be comparing all other values to this most abundant gene's expression level.

For example, expression counts for my most abundant gene range from 10,000-30,000.  In counts(dds), the expression count for this gene is set to 23,000 for ALL of my individuals, which then skews the rest of my results.

The DESeq2 summary:

  baseMean controlMean experimentalMean log2FoldChange lfcSE stat pvalue padj
Candidatus 2.14E+04 21356.92633 21356.92633 -4.96E-11 0.5270526 -9.42E-11 1.00E+00 1.00E+00

Those baseMean, controlMean, and experimentalMean values are incorrect, and should not be identical.

I do see that DESeq2, for this particular dataset, appears to be using a local fit, claiming that the parametric fit fails.  This may or may not be at fault, but it's the only deviation in DESeq2's activity from previous runs that I've observed.

Why is DESeq2 suddenly trying to use this single mean value as the baseline against which all other values are apparently compared?

ADD COMMENTlink modified 3.5 years ago by Michael Love26k • written 3.5 years ago by stwestreich0
Answer: DESeq erroneously normalizing all values to mean of one specific variable - what
gravatar for Michael Love
3.5 years ago by
Michael Love26k
United States
Michael Love26k wrote:

Can you first update to the current version of DESeq2 (v1.12)? The version you have is 1.5 years old. I don't know exactly what is going on, but you should first confirm that it's not something that has been fixed in the past 1.5 years.

ADD COMMENTlink written 3.5 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: 376 users visited in the last hour