# 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](https://github.com/workflowhub-eu/cwl-from-galaxy/blob/master/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.
<!--
### Release procedure
vim setup.py ## update: version = "0.1.2",
git commit -m "Release 0.1.2" setup.py
git tag 0.1.2
rm dist/*
python3 setup.py clean
python3 setup.py bdist_wheel
twine upload --repository testpypi dist/* ## for testing
twine upload dist/* ## if above is OK
vim setup.py ## prepare for next: version = "0.1.3-SNAPSHOT",
git commit -m "Prepare for 0.1.3" setup.py
git push --tags
git push
See also https://packaging.python.org/tutorials/packaging-projects/
in ~/.pypirc have tokens for both pypi and testpypi:
(base) stain@biggie:~/src/cwl-from-galaxy$ cat ~/.pypirc
[pypi]
username = __token__
password = pypi-abcdREPLACEME
[distutils]
index-servers=
pypi
testpypi
[testpypi]
repository: https://test.pypi.org/legacy/
username: __token__
password: pypi-abcdREPLACEME
-->
## 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](https://github.com/workflowhub-eu/galaxy2cwl/tree/master/examples) 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](https://github.com/workflowhub-eu/about/wiki/Workflow-RO-Crate) packages for registering in _WorkflowHub_.
[WorkflowHub](https://about.workflowhub.eu/) 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/workflowhub-eu/galaxy2cwl",
"name": "galaxy2cwl",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5, <4",
"maintainer_email": "",
"keywords": "cwl galaxy workflow",
"author": "Ignacio Eguinoa",
"author_email": "",
"download_url": "",
"platform": "",
"description": "# Convert Galaxy workflow files to (abstract) CWL\n\nThis is a standalone tool that creates CWL-abstract descriptions of Galaxy workflow runs or Galaxy workflow files (static files). \n\n - Usage:\n ```\n galaxy2cwl INPUT_GALAXY_WORKFLOW(.ga/.yaml) > OUTPUT_WORKFLOW.cwl\n ```\n - 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.\n - 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.\n\n## License\n\n* Copyright \u00a9 2019-2020, Ignacio Eguinoa, VIB, Universiteit Gent, and workflowhub.eu contributors\n\nDistributed under a [BSD 3-Clause license](https://github.com/workflowhub-eu/cwl-from-galaxy/blob/master/LICENSE).\n\n## Installing from source\n\nEasiest is to use `pip`:\n\n pip3 install .\n\nor, assuming all dependencies are installed:\n\n python setup.py install\n\nThis should install `cwl2galaxy` on your PATH. \n\nAlternatively you can run `python3 galaxy2cwl/get_cwl_interface.py` directly.\n\n<!-- \n\n### Release procedure\n\nvim setup.py ## update: version = \"0.1.2\",\ngit commit -m \"Release 0.1.2\" setup.py\ngit tag 0.1.2\nrm dist/*\npython3 setup.py clean\npython3 setup.py bdist_wheel\ntwine upload --repository testpypi dist/* ## for testing\ntwine upload dist/* ## if above is OK\n\nvim setup.py ## prepare for next: version = \"0.1.3-SNAPSHOT\",\ngit commit -m \"Prepare for 0.1.3\" setup.py\ngit push --tags\ngit push\n\nSee also https://packaging.python.org/tutorials/packaging-projects/\nin ~/.pypirc have tokens for both pypi and testpypi:\n\n(base) stain@biggie:~/src/cwl-from-galaxy$ cat ~/.pypirc \n[pypi]\n username = __token__\n password = pypi-abcdREPLACEME\n\n[distutils]\nindex-servers=\n pypi\n testpypi\n\n[testpypi]\nrepository: https://test.pypi.org/legacy/\nusername: __token__\npassword: pypi-abcdREPLACEME\n-->\n\n## Examples\nA simple workflow to use as example can be found in <https://usegalaxy.eu/u/igegu/w/simple-workflow>\n\nThis workflow is available in different formats in the [examples/ directory](https://github.com/workflowhub-eu/galaxy2cwl/tree/master/examples) of the source repository.\n\n* The Galaxy .ga format is in `examples/simple_workflow_galaxy.ga`\n* The format2 version yaml wrapped in json can be found in `examples/simple_workflow_format2_yaml_wrapped.json`\n* The format2 pure yaml in `examples/simple_workflow_format2.yaml`\n* The resulting CWL-interface can be found in `examples/simple_workflow_cwl-interface.cwl`\n\n## Packaging with RO-Crate\n\nThe objects created with this project are aimed to be part of [workflow based RO-Crate](https://github.com/workflowhub-eu/about/wiki/Workflow-RO-Crate) packages for registering in _WorkflowHub_.\n\n[WorkflowHub](https://about.workflowhub.eu/) is a project under development that aims at, among other things, serve as a repository for workflows standardizing the metadata description. \n\nAs such it provides the possibility of registering workflows in a diverse set of formats and packaging them in a RO-Crate package. \n\nAll examples included in this project are readily available in <https://dev.workflowhub.eu/>\n\n## Contribute\n\nContributions welcome! Raise pull requests, issues etc on <https://github.com/workflowhub-eu/galaxy2cwl/>.\n\nSubmitted patches are assumed to be licensed under the same BSD 3-Clause license.\n\n\n",
"bugtrack_url": null,
"license": "BSD 3-Clause",
"summary": "Convert a Galaxy workflow to abstract Common Workflow Language (CWL)",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/workflowhub-eu/galaxy2cwl"
},
"split_keywords": [
"cwl",
"galaxy",
"workflow"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d3879857ee2a38118ef4007311b7cba480b410369333ba004c6d842feadcc77",
"md5": "fbc3e58e72d6faa7c82b03720e773d83",
"sha256": "b6558272656e6f279948ee76d9863b4c00f467ad59b2d1190ca2304e514f7ce9"
},
"downloads": -1,
"filename": "galaxy2cwl-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fbc3e58e72d6faa7c82b03720e773d83",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5, <4",
"size": 8165,
"upload_time": "2020-04-08T10:54:31",
"upload_time_iso_8601": "2020-04-08T10:54:31.673061Z",
"url": "https://files.pythonhosted.org/packages/8d/38/79857ee2a38118ef4007311b7cba480b410369333ba004c6d842feadcc77/galaxy2cwl-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2020-04-08 10:54:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "workflowhub-eu",
"github_project": "galaxy2cwl",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pyyaml",
"specs": []
},
{
"name": "gxformat2",
"specs": []
}
],
"lcname": "galaxy2cwl"
}