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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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