GithubHelp home page GithubHelp logo

ngs-pipeline's Introduction

Cromewell + WDL pipeline working notes

Taking some working notes and tips for Cromwell engine and WDL scripts.

set a destination directory for all job outputs

java -Dbackend.providers.Local.config.root=/set/new/destination/directory -jar cromwell.jar run ...

set config file path for the Cromwell engine

java -Dconfig.file=/path/to/application.conf -jar cromwell.jar run ...

set concurrent job numbers for each workflow

java -Dconcurrent-job-limit=5 -jar cromwell.jar run ...

enable result caching in database

java -Dcall-caching.enabled=true -Dlookup-docker-hash=false -jar cromwell.jar run ...

one can specify a options.json file to set the config terms of the Cromwell engine

java -jar cromwell.jar run wf.wdl wf_inputs.json wf_options.json

e.g.: options.json { "final_workflow_outputs_dir" : "/Users/shlee/Desktop", "jes_gcs_root": "gs://my-bucket/workflows" }

Valid keys and their meanings:

Global (use with any backend)

  1. write_to_cache - Accepts values true or false. If false, the completed calls from this workflow will not be added to the cache. See the Call Caching section for more details.
  2. read_from_cache - Accepts values true or false. If false, Cromwell will not search the cache when invoking a call (i.e. every call will be executed unconditionally). See the Call Caching section for more details.
  3. final_workflow_log_dir - Specifies a path where per-workflow logs will be written. If this is not specified, per-workflow logs will not be copied out of the Cromwell workflow log temporary directory/path before they are deleted.
  4. final_workflow_outputs_dir - Specifies a path where final workflow outputs will be written. If this is not specified, workflow outputs will not be copied out of the Cromwell workflow execution directory/path.
  5. final_call_logs_dir - Specifies a path where final call logs will be written. If this is not specified, call logs will not be copied out of the Cromwell workflow execution directory/path.
  6. default_runtime_attributes - A JSON object where the keys are runtime attributes and the values are defaults that will be used through the workflow invocation. Individual tasks can choose to override these values. See the runtime attributes section for more information.
  7. continueOnReturnCode - Can accept a boolean value or a comma separated list of integers in a string. Defaults to false. If false, then only return code of 0 will be acceptable for a task invocation. If true, then any return code is valid. If the value is a list of comma-separated integers in a string, this is interpreted as the acceptable return codes for this task.
  8. workflow_failure_mode - What happens after a task fails. Choose from: 8.1 ContinueWhilePossible - continues to start and process calls in the workflow, as long as they did not depend on the failing call 8.2 NoNewCalls - no new calls are started but existing calls are allowed to finish 8.3 The default is NoNewCalls but this can be changed using the workflow-options.workflow-failure-mode configuration option.
  9. backend - Override the default backend specified in the Cromwell configuration for this workflow only.

ngs-pipeline's People

Contributors

haokuo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.