Skip to content

Implementation of uploaded data handling is horribly inefficient #7

@keesvanbochove

Description

@keesvanbochove

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions