Contains classes and helpers to build a workflow, and provide options to convert to CWL / WDL
Project description
Janis
Portable pipelines assistant
Quickstart
Install through PIP (project page):
pip install janis-pipelines
And ReadTheDocs: https://janis.readthedocs.io/en/latest/
OR
Clone the GitHub repository:
git clone git@github.com:PMCC-BioinformaticsCore/janis.git
About
This project was produced as part of the Portable Pipelines Project in partnership with:
- Melbourne Bioinformatics (University of Melbourne)
- Peter MacCallum Cancer Centre
- Walter and Eliza Hall Institute of Medical Research (WEHI)
Related project links:
-
Janis:
- Janis Documentation: https://janis.readthedocs.io/en/latest/
- Janis Git: https://github.com/PMCC-BioinformaticsCore/janis
- Janis PyPi: https://pypi.org/project/janis-pipelines/
- Janis Bioinformatics:
- Git: https://github.com/PMCC-BioinformaticsCore/janis-bioinformatics
- PyPi: Coming soon
-
CWLGen (forked): https://github.com/illusional/python-cwlgen
Usage
You must import janis
into your project, that is:
import janis as j
Included definitions
Some unix tools have been wrapped and included as part of the pip module. They are located at janis.unix.tools/
.
The examples will use the included unix tools, with more information about bioinformatics tools down below.
See the section about contributions if you find an error in the tool definitions.
Creating workflows
A Workflow consists of inputs, outputs and steps (which each have their own tool). You can connect these components together with edges. Let's look the simple untar workflow.
import janis as j
from janis.unix.tools.echo import Echo
w = j.Workflow("workflow_identifier")
inp = j.Input("input_identifier", p.String())
step = j.Step("step_identifier", Echo())
outp = j.Output("output_identifier")
w.add_pipe(inp, step, outp)
# Will print the CWL, input file and relevant tools to the console
w.dump_translation("cwl", to_disk=False)
Bioinformatics tools and data types
Coming soon
A repository of bioinformatic tools will be build to use within this pipeline. The git submodule is embedded here for reference, but can also be found here: here.
Intended usage
pip install janis-pipelines[bioinformatics]
Then you can simple import:
import janis.bioinformatics
Contributions
Contributions are the bread and butter of open source, and we welcome contributions. All sections of this module are written in Python, however a fair understanding of Workflows, CWL or WDL might be required to make changes.
If you find an issue with Pipeline related functionality, please report it through the Github issues page.
If you find an issue with the tool definitions, please see the relevant issue page:
Releasing Portable Pipelines
Releasing is automatic! Simply increment the version number in setup.py
(SemVer),
and tag that commit with the same version identifier:
git tag -a "v0.x.x" -m "Tag message"
git push --follow-tags
Travis will automatically build the repository, run the associated unit tests and if they succeed, deploy to PyPi.
And that's it!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for janis_pipelines-0.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f675030efee7974891baa7ba06c8fa28c9819525c2ed9b13ff6656063822d87 |
|
MD5 | 93aa12aa39053438f0d04aa643aced59 |
|
BLAKE2b-256 | 809855b2662359cae4bac69b5f7f147ef1fce73530deaea86243e074ef690510 |