Skip to main content

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

Project description

Janis

WARNING: this project is work-in-progress and is provided as-is without warranty of any kind. There may be breaking changes committed to this repository without notice.

GitHub stars Build Status Documentation Status PyPI version codecov

Janis is a framework creating specialised, simple workflow definitions that are then transpiled to
Common Workflow Language or Workflow Definition Language.

Documentation is hosted here: https://janis.readthedocs.io/

Introduction

Janis is designed to assist in building computational workflows to generate a runnable workflow description (CWL | WDL).

Janis requires a Python installation > 3.6, and can be installed through PIP (project page) by running:

# Install janis and the bioinformatics tools
pip3 install janis-pipelines[bioinformatics]  

You can import Janis into your project with:

import janis as j  

Included tool definitions and types

Bioinformatics

The Janis framework can be extended to include a suite of Bioinformatics data types and tools. These can be installed with the bioinformatics install extra option.

pip3 install janis-pipelines[bioinformatics]  

Unix

Some basic unix tools have been wrapped and included as part of the base Janis module and are the basis for the examples. You can reference these unix tools through janis.unix.tools.

These can be referenced by janis.bioinformatics or janis_bioinformatics, the latter might be easier due to the way nested python imports work.

Example

Further information: Simple Workflow

Below we've constructed a simple example that takes a string input, uses the echo tool to log this to stdout, and capturing the stdout to output. to give you a basic idea of how to construct a pipeline.

import janis as j  
from janis.unix.tools.echo import Echo   
w = j.Workflow("workflow_identifier")  

inp = j.Input("input_identifier", j.String())  
step = j.Step("step_identifier", Echo())  
outp = j.Output("output_identifier")  

w.add_edges([(inp, step), (step, outp)])

# Will print the CWL, input file and relevant tools to the console  
w.translate("cwl")  

We can export a CWL representation to the console using .translate("cwl").

More examples

About

Further information: About

This project was produced as part of the Portable Pipelines Project in partnership with:

Support

Contributions

Further information: Development

This project is work-in-progress and is still in developments. Although we welcome contributions, due to the immature state of this project we recommend raising issues through the Github issues page for Pipeline related issues.

If you find an issue with the tool definitions, please see the relevant issue page:

Information about the project structure and more on contributing can be found within the documentation.

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.17.tar.gz (49.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

janis_pipelines-0.2.17-py3-none-any.whl (80.2 kB view details)

Uploaded Python 3

File details

Details for the file janis pipelines-0.2.17.tar.gz.

File metadata

  • Download URL: janis pipelines-0.2.17.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.3

File hashes

Hashes for janis pipelines-0.2.17.tar.gz
Algorithm Hash digest
SHA256 65aee21a99bf287836f4560827043d21635a39a8f84ee0667b1398c22bef59e1
MD5 e414a36384c94878c453a6132bf4d737
BLAKE2b-256 4bdf33e60f78ed4ea93e434ea62a78d3714a5b82a314b23f836a524309ec450a

See more details on using hashes here.

File details

Details for the file janis_pipelines-0.2.17-py3-none-any.whl.

File metadata

  • Download URL: janis_pipelines-0.2.17-py3-none-any.whl
  • Upload date:
  • Size: 80.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.3

File hashes

Hashes for janis_pipelines-0.2.17-py3-none-any.whl
Algorithm Hash digest
SHA256 b56d911686c31939792dfa8f1e40d27ea99532d120372f2e9521b39d53ef8149
MD5 73720fcd00e5d10111edb892bfe8c166
BLAKE2b-256 5a085ed39ca1442044886ebc2ccad8829e94190aa0c61198c0c0223635e15ad6

See more details on using hashes here.

Supported by

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