Question: Custom post-normalization counts from DESeq2
0
4 months ago by
sum7320
sum7320 wrote:

Hello,

I will refer to two posts (links below), whereby similar question had been asked in the past: "How to extract normalized counts with covariates in the design" and there was no direct way to get the desired output.

Later on it was suggested to use removeBatch (https://support.bioconductor.org/p/62954/)

I have used SVA to account for not only batch affects but also other possible hidden covariates. In the current manual: https://bioconductor.org/packages/release/bioc/manuals/DESeq2/man/DESeq2.pdf

plotCount functions has parameter "returnData". Is this the correct parameter to be used to extract the "custom post-normalization counts" and save to a file?

Thanks

deseq2 covariate deg • 162 views
modified 4 months ago by Michael Love25k • written 4 months ago by sum7320
Answer: Custom post-normalization counts from DESeq2
0
4 months ago by
Michael Love25k
United States
Michael Love25k wrote:

In DESeq2, normalized counts control for sequencing depth, or calculated biases if you use tximport. We don't have a method for producing normalized counts that removes things like SVA or RUV factors.

If this is for visualization purposes, I would recommend the approach in the vignette, of computing the vst and then using removeBatchEffect to remove any unwanted variation, such as batch or SVs.

Hi Michael,

I think I was not clear in my question above. I "do not" want to remove any thing.

once I have added the SV: design(ddsMat_MouseAgesmartsva) <- ~ SV1+SV2+SV3+SV4 + Age and carried on with downstream steps to perform DGE. Is there a way to extract the "normalized counts" for the genes that are now normalized with sizeFactor and SVs?

Is "returnData" correct parameter in the plotCount functions to extract these "custom normalized counts"?

The normalized counts do not remove anything based on the design. So SV variation is not removed.

Hi Micahel,

I ran DESeq2 with two design models: design(ddsMat_MouseAgesmartsva) <- ~ SV1+SV2+SV3+SV4 + Age and design(ddsMat_MouseAgesmartsva) <- ~ Batch + Age

Next used following commands to extract the values. However, the values are exactly the same. I thought that with SVs added the normalized will be different, but that is not the case.

normalizedCnts_DESeq2_withBatch<-counts(ddsMat_MouseAge, normalized=TRUE) normalizedCnts_DESeq2_withCovariates<-counts(ddsMat_MouseAgesmartsva, normalized=TRUE)

May be I am missing something here.

Why would you think that? I’ve said the exact opposite twice now in this thread.

Is there a way to extract normalized counts+regressed SVs (from RUV/SVA). Aim is to use these "normalized" values for clustering such as by TMixClust/degReport.

I don't really have a way to do this in DESeq2.

I tend to work with VST counts, which are log2 scale. And these you can easily remove SVs from using the code that we have in the vignette.