Biostar Beta. Not for public use.
DESeq2 results interpretation
Entering edit mode
15 months ago
anna • 0

Here's an example of my results of DESeq2:

log2 fold change (MLE): condition 9dbi vs 14dbi 
Wald test p-value: condition 9dbi vs 14dbi 
DataFrame with 6 rows and 6 columns
           baseMean     log2FoldChange             lfcSE               stat
          <numeric>          <numeric>         <numeric>          <numeric>
1                 0                 NA                NA                 NA
2 0.177458893852153   -1.4481575955927  4.97102272203974 -0.291319850374468
3  1446.39389509809 -0.692819629443894 0.475910039694388  -1.45577855404941
4                 0                 NA                NA                 NA
5                 0                 NA                NA                 NA
6  15.2981322543349  -0.96975860635648  2.82291217836281 -0.343531270221415
             pvalue              padj
          <numeric>         <numeric>
1                NA                NA
2 0.770806707111275                NA
3 0.145453846128274 0.661200360612138
4                NA                NA
5                NA                NA
6 0.731198820302977 0.986794113259138

But.. how can i see the expression level? and which result shows if a gene is differentially expressed or not?

Also, how can i add the row names containing the name of the genes? Here's my command line:

> dds <- DESeqDataSetFromMatrix(countData=countsTable, colData = colData, design=~condition)
> dds$condition <- relevel(dds$condition, ref = "14dbi")
> colData(dds)$condition <- relevel(colData(dds)$condition, "14dbi")
Entering edit mode
15 months ago
Republic of Ireland

The negative binomial-distributed normalised counts on which the statistical inferences are made can be accessed via:

counts(dds, normalized=TRUE)

You may also have access to the transformed counts, on which statistical inferences are not made but which can be used for downstream functions, like plotting expression levels in heatmaps or box-and-whisker plots, for example.

vsd <- vst(dds, blind=FALSE) # variance-stabilised transformation

rld <- rlog(dds, blind=FALSE) # reguarised log transformation

NB - with blind=FALSE, the normalised counts are transformed and adjusted based on your design formula; with blind=TRUE, the normalised counts are transformed as is


Typically, padj (adjusted P value) < 0.05 is a good starting point for determining which genes are differentially expressed. For example:

subset(res, padj<0.05)


Gene names should be carried all the way through from your countsTable object. Double-check that you have rownames set for countsTable.



Login before adding your answer.

Similar Posts
Loading Similar Posts
Powered by the version 2.3.1