-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
The current implementation of dbxpModuleStorage is such that every time sample information is rendered about the assay, the overlap between the samples in the uploaded file and the assay samples is recalculated. This very flexible but also horriblily inefficient. It means that when just rendering the assay overview in home, this is done for every assay in the database. As soon as we have more than a few data files in the module, it will become very slow.
Furthermore, when browsing to that assay, the calculation is run again a total of 7 times:
- rendering the Sample tab (1x)
- calculating the uploadr rating (4x)
- opening the dialog box (2x, once for size and once for actual mapping)
So the metabolomics module would be a hell of a lot faster if just this one number were cached. Of course with every re-mapping and also with every synchronization/update of the assay sample list, it should be recalculated.
On top of this, the uploadedFile.matrix is not always loaded correctly since the change to Grails 2.1, which leads to an incorrect output for this calculation, but that is documented in Metabolomics module sample mapping stopped working since change to Grails 2.1 #6.