cellHTS2 - normalization with BScore (performance
1
0
Entering edit mode
liebi83 • 0
@f3284e1c
Last seen 6 weeks ago
Germany

Dear Support, I am having "issues" with regards of performance of the normalizePlates function

My current setup: I have 100 plates (384 dimension; replicate = 1; channel = 1) of a screening campaign and I would like to use BScore as we are facing side effects on the plates. I am using follwoing command to normalize the data

xn <- normalizePlates(x, scale="multiplicative", log=FALSE, method="Bscore", varianceAdjust="byPlate", save.model=TRUE)

The function call takes very long. In my case with 100 plates: ~ 40 minutes. Can this be done quicker? Thanks for any hints! Alex

cellHTS2 Normalization • 151 views
0
Entering edit mode
@wolfgang-huber-3550
Last seen 10 days ago
EMBL European Molecular Biology Laborat…

Fitting a B-Score model should certainly not take 24 seconds per plate, the actual maths is probably less than 1% of that, with the rest going to data shuffling and copying. The package is rather old and convoluted.

I think the modern way of doing things is simply to put the screen data into a big data.frame or tidytable and use dplyr, group_by etc. for such operations. It should be simple to implement B-score this way, maybe someone has already done it?

You could also have a look at Junyan Lu's DrugScreenExplorer package (https://lujunyan1118.github.io/DrugScreenExplorer ) and in particular the fitEdgeEffect function https://github.com/lujunyan1118/DrugScreenExplorer/blob/master/R/processData.R Also note that we have found fitting a smooth loess or sigmoid surface better than the B-score for dealing with spatially correlated effects: they use fewer free parameters (degrees of freedom) than the B-score and thus are less prone to overfitting (the potential flipside of doing edge correction).