/cwl-tes

cwl-tes submits your tasks to a TES server. Task submission is parallelized when possible.

Primary LanguagePythonApache License 2.0Apache-2.0

Build Status License

GA4GH CWL Task Execution

cwl-tes submits your tasks to a TES server. Task submission is parallelized when possible.

Funnel is an implementation of the GA4GH task execution API. It runs your dockerized tasks on slurm, htcondor, google compute engine, aws batch, etc.

Requirements

Quickstart

  • Start the task server
funnel server run
  • Run your CWL tool/workflow
cwl-tes --tes http://localhost:8000 tests/hashsplitter-workflow.cwl.yml --input tests/resources/test.txt

Install

I strongly reccommend using a virutalenv for installation since cwl-tes depends on a specific version of cwltool.

Install from pip:

pip install cwl-tes

Install from source:

python setup.py install

Run the v1.0 conformance tests

To start a funnel server instance automatically and run all of the conformance tests:

python -m nose ./tests

A more manual approach:

Start the funnel server.

funnel server --config /path/to/config.yaml

Make sure that TMPDIR is specified in the AllowedDirs of your Local storage configuration.

To run all the tests:

./tests/run_conformance.sh

To run a specifc test:

./tests/run_conformance.sh 10