dieterich-lab / scimodom

Sci- ModoM: A quantitative database of transcriptome-wide high-throughput RNA modification sites
https://dieterich-lab.github.io/scimodom/
GNU Affero General Public License v3.0
0 stars 0 forks source link

Data download #41

Closed eboileau closed 5 months ago

eboileau commented 10 months ago

Aims/objectives.

We need a bedRMod formatter/class for download.

A clear and concise description of todo items.

eboileau commented 5 months ago
  1. For now, we leave the DB dumps out (Download view), maybe we don't actually need this functionality.

  2. Browse (client/src/views/BrowseView.vue). We want to allow users to download a specific dataset in EUF/bedRMod format. In the Browse view, a row matches a dataset, and is identified with it's EUFID. The Data table contains the records, Association the dataset id (EUFID). We also need to add a header. Information for the header is partly in Dataset. fileformat is fixed in https://github.com/dieterich-lab/scimodom/blob/4e638f37bd33f83194ffebbc32884d09065feea9/server/src/scimodom/utils/specifications.py#L20 (last entry in list), and uses https://github.com/dieterich-lab/scimodom/blob/4e638f37bd33f83194ffebbc32884d09065feea9/server/src/scimodom/utils/specifications.py#L11 (e.g. bedRModv1.7). organism is taken from Association -> Selection -> Organism, but should already be available from the Browse records (FE). modification_type is RNA. assembly, annotation_source and annotation_version are fixed for the DB (Assembly and Annotation, using version). Remaining header fields are from Dataset. General specs are here: https://dieterich-lab.github.io/scimodom/bedrmod.html (follow the link to bedRModv1.7.pdf). Final output file should be named using Title + bedrmod extension.

  3. Search (client/src/views/SearchView.vue). Allow Export to export "all" selected records, not only those lazy loaded and shown on the screen. But for "big queries" this can be a big file... We currently rely on exportCSV(), for that we will need to create our own function. Note that query filters are subject to change, as discussed earlier.

I suggest to add a Download service under scimodom/services to handle all download-related code. The API code can probably go to the existing scimodom/api/public.py.

eboileau commented 5 months ago

For MIME type (test upload), see https://github.com/dieterich-lab/scimodom/blob/4e638f37bd33f83194ffebbc32884d09065feea9/client/src/components/compare/CompareStepB.vue#L131

eboileau commented 5 months ago

For search data export, check also https://github.com/dieterich-lab/scimodom/issues/62

eboileau commented 5 months ago

Exporter service added, Browse export functional, removed Download (selective dumps?), Search Export not yet addressed, but refactoring/improvements can be relegated to end of Q2/Q3.