This is a client and server implementation of the GA4GH Workflow Execution Service 1.0.0 API.
It provides Arvados and Toil backends. It
also works with any cwl-runner
that supports the CWL standard command line
interface: http://www.commonwl.org/v1.0/CommandLineTool.html#Executing_CWL_documents_as_scripts
pip install wes-service
Command line parameter or environment variable.
--host
or WES_API_HOST
The host to contact.
--proto
or WES_API_PROTO
The protocol (http or https) to use.
--auth
or WES_API_AUTH
Credentials. Format is 'Header: value' or just 'value'. If header name is not provided, value goes in the 'Authorization'.
$ wes-client --info
Attachments must be accessible from the filesystem. Workflow runners may also support http URLs or other storage systems.
$ wes-client --attachments="testdata/dockstore-tool-md5sum.cwl,testdata/md5sum.input" testdata/md5sum.cwl testdata/md5sum.cwl.json
$ wes-client --list
$ wes-client --get <run-id>
$ wes-client --log <run-id>
$ wes-server
$ pip install arvados-cwl-runner
$ wes-server --backend=wes_service.arvados_wes
$ pip install toil[all]
$ wes-server --backend=wes_service.toil_wes --opt extra=--clean=never
$ pip install cwltool
$ wes-server --backend=wes_service.cwl_runner --opt runner=cwltool --opt extra=--logLevel=CRITICAL
Use "--opt" following by "key=value"
$ wes-server --backend=wes_service.cwl_runner --opt extra=--workDir=/tmp/work
If you would like to develop against workflow-service
make sure you pass the provided test and it is flake8 compliant
$ virtualenv venv && source venv/bin/activate && pip install toil[all] && pip install . --process-dependency-links && pip install -r dev-requirements.txt
From path workflow-service
run
$ pytest && flake8