Duke-GCB / bespin-api

Web application for running workflows in the cloud
MIT License
0 stars 2 forks source link

Restructure tags and questionnaires #163

Closed dleehr closed 6 years ago

dleehr commented 6 years ago

During some whiteboarding/discussion yesterday, @johnbradley and I documented some issues with the current workflow importer and some desired changes. See also https://github.com/Duke-GCB/bespin/issues/2.

Under discussion:

While the questionnaire logic is heavily integrated with the UI, created Jobs don't directly reference a questionnaire. The JobFactory is responsible for creating jobs based on a questionnaire and answerset. This can be updated in the API and CLI to address the CLI use case better.

johnbradley commented 6 years ago

I had the thought that a job could be made up of

Command Line Changes

User lists workflows which defaults to the current versions of each workflow.

$ bespin workflows list
  Id  Name                     Version Tag
----  -----------------------  ----------------------------------
   1  Whole Exome Sequencing   whole-exome-sequencing/v4

The user can list parameter sets available for this workflow:

$ bespin paramsets list
  Id  Name                Tag
----  ------------------  --------------------
   1  x-gen Capture kit   xGenCaptureKit
   2  decoy Genome        DecoyGenome

The user can then create a job specifying the workflow version tag and any number of valid paramset tags:

bespin jobs init --workflow whole-exome-sequencing/v4 --paramset xGenCaptureKit --paramset DecoyGenome --outfile job1.yml

Then run the job could be created as normal.

dleehr commented 6 years ago

Thanks for kicking off the disucssion 😄. Some thoughts

I think the ideal CLI command would look something like this:

bespin job create wes-gatk4/v4/xgen-b37decoy > my-job.yml

thoughts?

johnbradley commented 6 years ago

I like "configurations". It seems natural to say: I ran workflow wes-gatk4 version 5 with the xgen-b37decoy configuration.Collaborating with users on a single "configuration" will be much easier. We should also get user feedback on naming the "configuration". I'm good with keeping the existing CLI functionality.