Search
Question: normalized counts from RUVg run: is further library size normalization needed?
0
gravatar for capricygcapricyg
13 days ago by
capricygcapricyg0 wrote:

Hi, RUVSeq support,

After running RUVg, I got the normalized counts. My question is: are those counts also normalized against the library size?

Thanks.

Kind regards,

C.

 

 

 

 

ADD COMMENTlink modified 13 days ago by davide risso780 • written 13 days ago by capricygcapricyg0
0
gravatar for davide risso
13 days ago by
davide risso780
Weill Cornell Medicine
davide risso780 wrote:

Hi,

if you follow the workflow described in the RUVSeq vignette, you will perform library size normalization as a first step and RUVg as a second step to normalize the data.

If that's the case, then the normalized counts from RUVg are indeed normalized for library size and no further normalization is needed.

I hope this helps.

Best, Davide

ADD COMMENTlink written 13 days ago by davide risso780

Hi, Davide,

Thank you very much for the response!

Could you please clarify more about "first step"?

Here are what I ran: 

==

require(RUVSeq)

set.RUV=newSeqExpressionSet(as.matrix(counts.filtered),phenoData=data.frame(sampleInfo$condition,row.names=colnames(counts.filtered)))

set1.RUV=RUVg(set.RUV,counts.spike.RUV.genelist,k=1)

normCounts(set1.RUV)

==

I didn't run "betweenLaneNormalization" since it is in the "exploratory data analysis" session.

Do you think the "normCounts" here returns the counts which have been adjusted for the library sizes? I also wonder how the library size is adjusted in the normalized output.

Thanks a lot!

C.

 

ADD REPLYlink modified 12 days ago • written 12 days ago by capricygcapricyg0

I did see that running "betweenLaneNormalization()" makes difference in terms of the output of the normCounts(). So, I guess my questions are: is "betweenLaneNormalization()" required for the RUVg normalization? Does "RUVg()" alone take care of the library size-wise normalization? 

I ask this question since I would like to plot individual gene counts in a boxplot.

Thanks.

C.

ADD REPLYlink written 12 days ago by capricygcapricyg0

Our recommended pipeline is to first account for sequencing depth differences with betweenLaneNormalization() and then run RUV. One can run RUV without library size normalization and hope that one of the factors will account for that. It usually happens, but we find that it's preferable in practice to explicitly account for them with offsets.

ADD REPLYlink written 12 days ago by davide risso780

Does that mean the "normalizedCounts" are CPM values?

ADD REPLYlink written 12 days ago by Gordon Smyth35k

The "normalizedCounts" are simply the residuals of the model, so they are not CPM values, but one can fit the RUV model starting from CPM values. That's our recommended pipeline, except we don't call the result of our betweenLaneNormalization function CPM because we do not scale them to be count per million but so that the counts sum to the average of the library sizes across the samples.

ADD REPLYlink written 12 days ago by davide risso780
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 360 users visited in the last hour