Restructure CLI
- Dominant language
- Python
- Stars
- 44
- Forks
- 12
- Avg merge
- 7d 19h
- Merged PRs (30d)
- 10
Description
I think drevalpy could use a more hierarchical CLI structure. typer allows to build beautiful CLIs like this quite easily. Something like this:
- `drevalpy` (if no further command, runs full pipeline)
- `load`: Loads raw dataset data (e.g. CTRP) from the official sources and stores in standard format
- `curation`: (if no further command, takes standard format and runs curvecurator, inkl. pre- and postprocessing)
- `split`: takes standard format and creates groups, mostly for nextflow pipeline
- `fit`: processes a single group
- `split`: Takes a curated dataset and creates a fold split
- `train`: Takes a fold split and a model and performs training
- `predict`: Takes a fold split and a trained model and creates predictions
- `evaluate`: Takes predictions and computes performance metrics
- `report`: Takes predictions and performance metrics and creates MultiQC report
---
I mostly thought about the `load` and `curation` subcommands so far. I am aware that there are some CLI commands currently available that are not reflected in the list above. Ideally I think these could be bundled under the matching umbrella (e.g. as subcommands of `train`or `split`.
As the discussion proceeds and I get deeper into the train/predict structure of the package, I will update the list above with more precise information.
Contributor guide
Assessment
This issue has not been assessed yet.