-
Notifications
You must be signed in to change notification settings - Fork 2
Description
This may still get split into sub-issues...
-
Figure out what is common with Experiment (cf Rename Experiment as Prediction #130) and put in a mixin class / common 'dataset' app (see also https://github.com/ModellingWebLab/project_issues/wiki/Workshop-notes-2018 and Restructuring Django model + app hierarchy #203)
-
Need probably many-to-many links between
ExperimentalDataset
andProtocol
, and only once a fit is performed do you tie down exactly which were used? @MichaelClerx ? -
Add views to (these are probably almost identical to the entity views):
- User uploads a dataset
- Show list of datasets owned by user
- View a single dataset
-
Create an
ExperimentalDataset
model in its owndatasets
app- This should not have versions, so any changes mean a new dataset (for now)
- It's just a zipped-up collection of files, with a manifest created by the Web Lab, so it can be downloaded again as a COMBINE Archive. The files should live in their own folder hierarchy next to
EXPERIMENT_BASE
, with a corresponding config setting giving the root path. - Probably inherits from
UserCreatedModelMixin, VisibilityModelMixin, models.Model
and needs aname
- A dataset links to a single
Protocol
- this should be set on creation, e.g. from a drop-down list - Respect dataset visibility #202 Only protocols a user is allowed to see should be offered - see how this was done for FittingSpec in Add DB models & views for fitting specifications #222 for inspiration
-
Create views to (these are probably almost identical to the entity views):
- User uploads a dataset
- Show list of datasets owned by user
- View a single dataset
- Basic view
-
datasets:archive
view like inexperiments/views.py
-
datasets:file_download
view like inexperiments/views.py
- Plotting arbitrary CSV files
- Doing so "sensibly" for files where time isn't the first column, or tabs are used as separators...
- Read the header row (if present) to determine what columns represent? Eventually we should probably try https://www.papaparse.com rather than our own CSV parser.
- Delete a dataset
-
Add ability to compare data with predictions
- On experiment results view, have a drop-down select for any dataset linked to the relevant Protocol
- Also overlay on comparison plots. This is probably largely template & JS code copying what's done for the single overlay, except that there might be multiple protocols to look at when finding linked data. Search
dataset-link
inexperimentversion_detail.html
andexperiment.js
- It'd be nice to go from a Dataset view to comparing predictions of all (relevant) models. Similar UI flow to comparing predictions from a Model. Eventually use species annotations to filter?
-
Add ability to compare data with data
- Figure out what the UI should be here. Perhaps when viewing a single dataset, there should be a link/button 'Compare with other experimental data associated with this protocol' which then takes you to an equivalent of
ExperimentComparisonView
- Figure out what the UI should be here. Perhaps when viewing a single dataset, there should be a link/button 'Compare with other experimental data associated with this protocol' which then takes you to an equivalent of