What is the best way to quantile normalize expression matrix ?
2
0
Entering edit mode
8.3 years ago
jack ▴ 940

I have an expression matrix, its rows belong to different genes and columns belong to samples.

I want to do quantile normalization. But for me seems two ways to normalize it. First: row wise; normalize the expression of every gene in all samples. Second: normalize columnwise: normalized expression of all genes in one sample and then go to other sample and ....

Which one makes more sense?

RNA-Seq R software-error • 6.3k views
4
Entering edit mode
8.3 years ago

The point of quantile normalization is to make the signal distribution of the samples as close as possible, so you normalize the columns. Trying to normalize the rows would introduce a whole host of issues that could seriously muck with the results (e.g., since you look for differential expression across rows, how might normalizing each row affect that...).

0
Entering edit mode

Good point Devon. I'm using normalize.quantiles(x,copy=TRUE) to do quantile normalization, but they didn't explain that, it's normalize by row or column. do you know useful function for quantile normalization?

0
Entering edit mode

The only other one that I know of off-hand (aside from tweaked versions, like cqn) is normalizeBetweenArrays() from the limma package. I wouldn't be surprised if there are others.

0
Entering edit mode
5.0 years ago
ATCG ▴ 370

Thank you very much for answering this question Devon, I have a follow-up question: Under what circumstances is it appropriate to do both log transformation and quantile normalization? Thank you in advance.