Giter Site home page Giter Site logo

hmenager / common-workflow-language Goto Github PK

View Code? Open in Web Editor NEW

This project forked from common-workflow-language/common-workflow-language

0.0 2.0 0.0 3.21 MB

Repository for the CWL standards. Use https://www.biostars.org/t/cwl/ for support 😊

Home Page: http://www.commonwl.org

License: Apache License 2.0

JavaScript 29.04% Python 42.55% Common Workflow Language 26.69% Java 0.02% Shell 0.76% Makefile 0.94%

common-workflow-language's Introduction

Common Workflow Language

Support Gitter GitHub stars

[Video] Common Workflow Language explained in 64 seconds The Common Workflow Language (CWL) is a specification for describing analysis workflows and tools in a way that makes them portable and scalable across a variety of software and hardware environments, from workstations to cluster, cloud, and high performance computing (HPC) environments. CWL is designed to meet the needs of data-intensive science, such as Bioinformatics, Medical Imaging, Astronomy, Physics, and Chemistry.

Open Stand badge CWL is developed by a multi-vendor working group consisting of organizations and individuals aiming to enable scientists to share data analysis workflows. The CWL project is maintained on Github and we follow the Open-Stand.org principles for collaborative open standards development. Legally CWL is a member project of Software Freedom Conservancy and is formally managed by the elected CWL leadership team, however every-day project decisions are made by the CWL community which is open for participation by anyone.

CWL builds on technologies such as JSON-LD for data modeling and Docker for portable runtime environments.

User Guide

The CWL user guide provides a gentle introduction to learning how to write CWL command line tool and workflow descriptions.

CWLの日本語での解説ドキュメント is a 15 minute introduction to the CWL project in Japanese.

Specification

For developers and advanced users, the current CWL specification (v1.0.2) provides authoritative documentation of the execution of CWL documents.

Citation

To reference the CWL standards in a scholary work, please use the following citation inclusive of the DOI:

Peter Amstutz, Michael R. Crusoe, Nebojša Tijanić (editors), Brad Chapman, John Chilton, Michael Heuer, Andrey Kartashov, Dan Leehr, Hervé Ménager, Maya Nedeljkovich, Matt Scales, Stian Soiland-Reyes, Luka Stojanovic (2016): Common Workflow Language, v1.0. Specification, Common Workflow Language working group. https://w3id.org/cwl/v1.0/ doi:10.6084/m9.figshare.3115156.v2

A collection of existing references to CWL can be found at http://www.citeulike.org/group/20713

Implementations

Software Description CWL support Platform support
cwltool Reference implementation of CWL Build Status Linux, OS X, Windows, local execution only
Arvados Distributed computing platform for data analysis on massive data sets. Using CWL on Arvados Build Status AWS, GCP, Azure, Slurm
Toil Toil is a workflow engine entirely written in Python. Build Status AWS, Azure, GCP, Grid Engine, LSF, Mesos, OpenStack, Slurm, PBS/Torque
Rabix Bunny An open-source, Java-based implementation of Common Workflow Language with support for multiple drafts/versions. See Rabix.io for details. Build Status Linux, OS X, GA4GH TES (experimental)
Galaxy Web-based platform for data intensive biomedical research. alpha -
cwl-tes CWL engine backended by the GA4GH Task Execution API Build Status Local, GCP, AWS, HTCondor, Grid Engine, PBS/Torque, Slurm
CWL-Airflow Package to run CWL workflows in Apache-Airflow (supported by BioWardrobe Team, CCHMC) Build Status Linux, OS X
REANA RE usable ANAlyses Yes Kubernetes, CERN OpenStack (OpenStack Magnum)
Cromwell Cromwell workflow engine Build Status alpha local, HPC, Google, HtCondor
CWLEXEC Apache 2.0 licensed CWL executor for IBM Spectrum LSF, supported by IBM for customers with valid contracts. Build StatusYes, except for ExpressionTool IBM Spectrum LSF 10.1.0.3+
Xenon Run CWL workflows using Xenon alpha any Xenon backend: local, ssh, SLURM, Torque, Grid Engine
Consonance orchestration tool for running SeqWare workflows and CWL tools - AWS, OpenStack, Azure
Apache Taverna Domain-independent Workflow Management System alpha -
AWE Workflow and resource management system for bioinformatics data analysis. alpha -
yacle Yet Another CWL Engine - -

Repositories of CWL Tools and Workflows

Repository Description
Workflows repository Git repository of user contributed tools and workflows.
Dockstore tool registry An open platform for sharing Docker-based tools described with the Common Workflow Language used by the GA4GH.
CWLviewer A web application to view and share Common Workflow Language workflows
GitHub Search for CWL documents using extension:cwl cwlVersion + <your search terms>, for example extension:cwl cwlVersion picard.
Google Search for CWL documents using filetype:cwl cwlVersion + <your search terms>, for example filetype:cwl cwlVersion picard.

Software for working with CWL

Editors and viewers

Software Description
Rabix Composer Graphical CWL editor
CWLviewer A web application to view and share Common Workflow Language workflows
atom-cwl CWL editing mode for Atom
vim-cwl CWL editing mode for Vim
cwl-mode CWL editing mode for Emacs (instructions english, 日本語)
vscode-cwl CWL support in Visual Studio Code
IntelliJ CWL plugin CWL plugin for IntelliJ and other JetBrains editors
bioSyntax Includes CWL syntax highliting for gedit

Utilities

Software Description
cwltest CWL testing framework, automated testing of tools and workflows written with CWL
cwl2zshcomp generates ZSH auto completions from CWL command line tool descriptions
Cerise A REST service for running CWL workflows on remote clusters
cwl-inspector Tool to inspect properties of tools or workflows written in CWL

Converters and code generators

Software Description
cwl-upgrader Upgrade CWL documents from draft-3 to v1.0
argparse2tool Generate CWL CommandLineTool wrappers (and/or Galaxy tool descriptions) from Python programs that use argparse. Also supports the click argument parser.
cwl2argparse Generate Python argparse code from CWL CommandLineTool description.
pypi2cwl Automatically run argparse2cwl on any package in PyPi
acd2cwl ACD (EMBOSS) to CWL generator
CTD converter Common Tool Definition (CTD) to CWL converter
scriptcwl Create CWL workflows by writing a simple Python script
python-cwlgen Generate of CWL programmatically from Python.
cwl2nxf Convert CWL to run on Nextflow
cwl-to-parsl Convert CWL to Parsl
Beatrice Pipeline Assembler For CWL

Code libraries

Software Description
cwltool cwltool (can be imported as a Python module and extended to create custom cwl runners
schema salad Python module and tools for working with the CWL schema.
cwlavro Java classes for loading CWL documents
CWL for R Parse and work with CWL from R
buchanae/cwl CWL document parsing and processing utilities in Go.
CWL for Go -
CWL for Scala CWL object model for Scala
cwl-proto Reading and writing Common Workflow Language to Protocol Buffers

Projects the CWL community is participating in

Name Details
GA4GH Task Execution API a minimal common API for submitting a single job to a remote execution endpoint. Many contributions from CWL project participants.
GA4GH Workflow Execution API a minimal common API for submitting workflow requests to workflow execution systems in a standardized way. Many contributions from CWL project participants.
Bio-compute objects "a step towards evaluation and validation of bio-medical scientific computations", CWL and researchobject.org participants are cooperating with this effort

Support, Community and Contributing

The recommended place to ask a question about all things CWL is on Biostars. After you have read previous questions and answers you can post your question using the 'cwl' tag

Biostars CWL

If you are interested in learning more or contributing ideas or code, come chat with us on Gitter, check out #CommonWL on Twitter, join the mailing list common-workflow-language on Google Groups or fork the repository and send a pull request!

Code of Conduct

The CWL Project is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, age, race, or religion. We do not tolerate harassment of participants in any form. This code of conduct applies to all CWL Project spaces, including the Google Group, the Gitter chat room, the Google Hangouts chats, both online and off. Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the leadership team.

For more details, see our Code of Conduct.

Participating Organizations

Individual Contributors

(Alphabetical)

CWL Advisors

(Alphabetical)

CWL Leadership Team

(Alphabetical)

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.