Skip to main content

Contains classes and helpers to build a workflow, and provide options to convert to CWL / WDL

Project description

Janis

Build Status Documentation Status PyPI version codecov

Portable pipelines assistant: A framework for creating specialised, simple workflow definitions that are then converted to Common Workflow Language or Workflow Definition Language.

Introduction

Janis is designed to assist in building pipelines. It has a collection of prebuilt tools

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:

Related project links:

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 Pipeline.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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

janis pipelines-0.2.11.tar.gz (41.1 kB view hashes)

Uploaded Source

Built Distribution

janis_pipelines-0.2.11-py3-none-any.whl (55.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page