Skip to content

Restructure CLI #412

Description

@nictru

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 trainor 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions