__ __
.,-;-;-,. /'_\ +-----------------------------------------------+ /_'\.,-;-;-,.
_/_/_/_|_\_\) / | CROMSHELL : run Cromwell jobs from the shell | \ (/_/__|_\_\_
'-<_><_><_><_>=/\ +-----------------------------------------------+ /\=<_><_><_><_>-'
`/_/====/_/-'\_\ /_/'-\_\====\_\'
"" "" "" "" "" ""
cromshell and it's dependencies can be installed on OSX with brew install broadinstitute/dsp/cromshell
or through bioconda with conda install cromshell
Alternatively, download the script and put it somewhere...
A script for submitting workflows to a cromwell server and monitoring / querying their results.
requires column, curl, mail, and jq
cromshell submit workflow.wdl inputs.json options.json dependencies.zip
cromshell status
cromshell -t 20 metadata
cromshell logs -2
-tTIMEOUT- Set the curl connect timeout to
TIMEOUTseconds. - Also sets the curl max timeout to
2*TIMEOUTseconds. TIMEOUTmust be an integer.
- Set the curl connect timeout to
submit[-w]<wdl><inputs_json>[options_json][included_wdl_zip_file]- Submit a new workflow
-wWait for workflow to transition from 'Submitted' to some other status before ${SCRIPTNAME} exitsincluded_wdl_zip_fileZip file containing any WDL files included in the input WDL
abort[workflow-id] [[workflow-id]...]- Abort a running workflow
status[workflow-id] [[workflow-id]...]- Check the status of a workflow
metadata[workflow-id] [[workflow-id]...]- Get the full metadata of a workflow
slim-metadata[workflow-id] [[workflow-id]...]- Get a subset of the metadata from a workflow
execution-status-count[workflow-id] [[workflow-id]...]- Get the summarized status of all jobs in the workflow
timing[workflow-id] [[workflow-id]...]- Open the timing diagram in a browser
logs[workflow-id] [[workflow-id]...]- List the log files produced by a workflow
fetch-logs[workflow-id] [[workflow-id]...]- Download all logs produced by a workflow
list-outputs[workflow-id] [[workflow-id]...]- List all output files produced by a workflow
fetch-all[workflow-id] [[workflow-id]...]- Download all output files produced by a workflow
notify[workflow-id][daemon-server]email[cromwell-server]daemon-serverserver to run the notification daemon on
list[-c][-u]-cColor the output by completion status-uCheck completion status of all unfinished jobs
cleanup[-s STATUS]- Remove completed jobs from local list.
Will remove all jobs from the local list that are in a completed state,
where a completed state is one of:
Succeeded,Failed,Aborted -s STATUSIf provided, will only remove jobs with the givenSTATUSfrom the local list.
- Remove completed jobs from local list.
Will remove all jobs from the local list that are in a completed state,
where a completed state is one of:
- Running
submitwill create a new folder in the~/.cromshell/${CROMWELL_URL}/directory named with the cromwell job id of the newly submitted job.
It will copy your wdl and json inputs into the folder for reproducibility. - It keeps track of your most recently submitted jobs by storing their ids in
./cromshell/
You may ommit the job ID of the last job submitted when running commands, or use negative numbers to reference previous jobs, e.g. "-1" will track the last job, "-2" will track the one before that, and so on. - You can override the default cromwell server by setting the environmental variable
CROMWELL_URLto the appropriate URL. - Most commands takes multiple workflow-ids, which you can specify both in relative and absolute ID value (i.e.
./cromwell status -1 -2 -3 c2db2989-2e09-4f2c-8a7f-c3733ae5ba7b).