Convert Galaxy workflow files to (abstract) CWL
This is a standalone tool that creates CWL-abstract descriptions of Galaxy workflow runs or Galaxy workflow files (static files).
- Usage:
galaxy2cwl INPUT_GALAXY_WORKFLOW(.ga/.yaml) > OUTPUT_WORKFLOW.cwl
- The tool works with inputs in both format1 (json format .ga, currently the standard for Galaxy workflow definitions) and format2. As described in the implementation (https://github.com/galaxyproject/gxformat2), gxformat2 is 'a highly experimental format and will change rapidly in potentially backward incompatible ways until the code is merged into the Galaxy server and enabled by default' therefore the conversion to CWL from this format is also variable and can rapidly change and/or break.
- Initially the output of this project a CWL-abstract definition (aka cwl-interface, see https://github.com/common-workflow-language/common-workflow-language/issues/337 and https://github.com/common-workflow-language/cwl-v1.2/pull/3). As the CWL support in Galaxy increases then conversion could come up with a full CWL workflow file.
License
- Copyright © 2019-2020, Ignacio Eguinoa, VIB, Universiteit Gent, and workflowhub.eu contributors
Distributed under a BSD 3-Clause license.
Installing from source
Easiest is to use pip:
pip3 install .
or, assuming all dependencies are installed:
python setup.py install
This should install cwl2galaxy on your PATH.
Alternatively you can run python3 galaxy2cwl/get_cwl_interface.py directly.
Examples
A simple workflow to use as example can be found in https://usegalaxy.eu/u/igegu/w/simple-workflow
This workflow is available in different formats in the examples/ directory of the source repository.
- The Galaxy .ga format is in
examples/simple_workflow_galaxy.ga - The format2 version yaml wrapped in json can be found in
examples/simple_workflow_format2_yaml_wrapped.json - The format2 pure yaml in
examples/simple_workflow_format2.yaml - The resulting CWL-interface can be found in
examples/simple_workflow_cwl-interface.cwl
Packaging with RO-Crate
The objects created with this project are aimed to be part of workflow based RO-Crate packages for registering in WorkflowHub.
WorkflowHub is a project under development that aims at, among other things, serve as a repository for workflows standardizing the metadata description.
As such it provides the possibility of registering workflows in a diverse set of formats and packaging them in a RO-Crate package.
All examples included in this project are readily available in https://dev.workflowhub.eu/
Contribute
Contributions welcome! Raise pull requests, issues etc on https://github.com/workflowhub-eu/galaxy2cwl/.
Submitted patches are assumed to be licensed under the same BSD 3-Clause license.
Metadata
Release files for galaxy2cwl 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| galaxy2cwl-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for galaxy2cwl-0.1.4-py3-none-any.whl |
Release files / galaxy2cwl-0.1.4-py3-none-any.whl
| Download URL | galaxy2cwl-0.1.4-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6558272656e6f279948ee76d9863b4c00f467ad59b2d1190ca2304e514f7ce9
|
|
BLAKE2b-256 checksum How to use checksums |
8d3879857ee2a38118ef4007311b7cba480b410369333ba004c6d842feadcc77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.3
|
Security for galaxy2cwl 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.