Question: DESEq2 VST error
0
23 months ago by
anpham0
anpham0 wrote:

I'd like to perform variance stabilization transformation in DESeq2 but got this error message. Any input would be much appreciated. Thank you.

vsd <- vst(dds, blind = TRUE)
Error in vst(dds, blind = TRUE) : less than 'nsub' rows,
it is recommended to use varianceStabilizingTransformation directly

modified 23 months ago • written 23 months ago by anpham0
1

how many rows are in your dds? ie. what is the output of nrow(dds)?

Thank you, you're right. This is a miRNA dataset so there are 767 rows. Would I have another option to do VST with this number of rows?

The default number of rows for vst() is nsub=1000. You can just set nsub=nrow(dds), or you can use the function that is recommended by name in the error message.

1
23 months ago by
Denali
Steve Lianoglou12k wrote:

To put more meat on my comment above, take a look at the code in the vst function (look at ?vst and just type vst at the console and hit return, the code will reveal itself)

You'll find that the vst function does its magic on a subset of rows (ie. the size of the subset is equal to nsub) then can apply it to the entire dataset.

If you call varianceStabilizingTransform directly on your expression object dds, it doesn't try to work on a subset of the genes in your expression matrix, and just does its thing on the whole thing.

Your problem is that your expression matrix doesn't have more than 1000 genes (rows) in it.