Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • frymor
    Senior Member
    • May 2010
    • 151

    discrepance in DESeq2 results with different design structures

    Hi,

    I am doing a DESeq2 analysis using a data set of nine different conditions/time-points.
    I first ran the analysis with the complete data set in the count table and than have used the results function to extract the pair-wise results of the DE analysis.
    Code:
    >count_table <- read.delim2("count_table_complete.txt",row.names=1)
    
    >colData <- read.delim2("metaData.txt")
    >levels(colData$condition)
    [1] "CR4W0h"  "CR4W24h" "CR4W4h"  "CTRL0h"  "CTRL24h" "CTRL4h"  "HP0h"    "HP24h"   "HP4h"   
    
    >cds <- DESeqDataSetFromMatrix (
      countData= count_table[,-1],
      colData    = colData,  
      design     = ~condition )
    
    >fit = DESeq(cds)
    
    >res = results(fit, contrast=c("condition", "CTRL0h" , "HP0h") )
    > res
    log2 fold change (MAP): condition CTRL0h vs HP0h 
    Wald test p-value: condition CTRL0h vs HP0h 
    DataFrame with 39179 rows and 6 columns
                          baseMean log2FoldChange      lfcSE       stat     pvalue      padj
                         <numeric>      <numeric>  <numeric>  <numeric>  <numeric> <numeric>
    ENSMUSG00000000001 [B][COLOR="Red"]3093.215856[/COLOR][/B]    0.002814819 0.08192671 0.03435777 0.97259186  0.998355
    When doing so, I get only 3 genes with an adjusted p-value below 0.05
    Code:
    >table(res$padj<=0.05)
    
    FALSE  TRUE 
     1956     3
    But if i ran the same analysis with the subset of the data which contains only the columns from the count table for "CTRL0h" and "HP0h" I get many more significant genes.

    Code:
    > count_table <- read.delim2("count_table_complete.txt",row.names=1)
    > count_subset <- count_table[,c(2:5,23:26)]
    > head(count_subset)
                        C20  C22  C23  C24 HP10 HP11 HP12 HP14
    ENSMUSG00000000001 2811 2360 3053 3334 2636 2736 2505 3282
    
    > colData_subset <- colData[c(1:4, 23:26),]  
    
    >cds_subset <- DESeqDataSetFromMatrix (
      countData= count_subset,
      colData    = colData_subset,  
      design     = ~condition )
    
    >fit_subset = DESeq(cds_subset)
    
    >res_subset = results(fit_subset, contrast=c("condition", "CTRL0h" , "HP0h") )
    > res_subset
    log2 fold change (MAP): condition CTRL0h vs HP0h 
    Wald test p-value: condition CTRL0h vs HP0h 
    DataFrame with 39179 rows and 6 columns
                           baseMean log2FoldChange      lfcSE       stat      pvalue      padj
                          <numeric>      <numeric>  <numeric>  <numeric>   <numeric> <numeric>
    ENSMUSG00000000001 [B][COLOR="Red"]2810.6322989 [/COLOR][/B]  -0.003504429 0.05504337 -0.0636667 0.949235621 0.9938743
    
    > table(res$padj<= 0.05)
    
    FALSE  TRUE 
    13122   321
    first I see a difference in the baseMean values. I guess this might be because for some of the conditions/TP I have more samples than the others, so that the baseMean is calculated differently (Am I correct in this assumption?)

    But I can't figure out why I get such a big different in the number of DE genes between the two approaches.

    Is it because of the differences in the independent filtering step, DESeq2 is automatically doing?
    I have tried to deactivate the independent filtering in the results function, but it didn't make the results better.

    Any other suggestions?

    thanks,
    Assa
  • Michael Love
    Senior Member
    • Jul 2013
    • 333

    #2
    I will answer on your post @ bioc support site today

    Comment

    Latest Articles

    Collapse

    • GATTACAT
      Reply to Nine Things a Sample Prep Scientist Thinks About Before Sequencing
      by GATTACAT
      Love this - good data definitely starts from good input, and poor input can only give relatively poor data. I particularly like the mention of Nanodrop/absorbance based methods for quantification. It's such a toss up if you'll get an accurate reading or what amounts to a randomly generated number, and a lot of library/sequencing related issues can be traced back to poor quant.
      07-01-2026, 11:43 AM
    • SEQadmin2
      Nine Things a Sample Prep Scientist Thinks About Before Sequencing
      by SEQadmin2


      I’m not a sequencing expert. I’m a purification scientist who uses NGS to evaluate workflows my group develops. With this perspective, we think about the sample first and the NGS workflow second. The sequencer is an exceptionally honest reporter, but it can only report on what you give it, so whether you get clean, interpretable data from an NGS workflow is largely determined before you begin.

      Here are nine questions we think about, in roughly the order they matter, before...
      06-18-2026, 07:11 AM

    ad_right_rmr

    Collapse

    News

    Collapse

    Topics Statistics Last Post
    Started by SEQadmin2, Yesterday, 11:05 AM
    0 responses
    7 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 07-02-2026, 11:08 AM
    0 responses
    28 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 06-30-2026, 05:37 AM
    0 responses
    27 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 06-26-2026, 11:10 AM
    0 responses
    27 views
    0 reactions
    Last Post SEQadmin2  
    Working...