Skip to content

Restructure CLI #412

@nictru

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions