Coder Social home page Coder Social logo

typekey / bpipe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ssadedin/bpipe

0.0 0.0 0.0 54.36 MB

Bpipe - a tool for running and managing bioinformatics pipelines

Home Page: http://docs.bpipe.org/

License: Other

Shell 9.13% Java 2.43% Groovy 85.07% HTML 3.37% Roff 0.01%

bpipe's Introduction

Welcome to Bpipe Tests

<style type='text/css'> .col-md-3 { display: none; } </style>

Bpipe provides a platform for running data analytic workgflows that consist of a series of processing stages - known as 'pipelines'. Bpipe has special features to help with specific challenges in Bioinformatics and computational biology.

Bpipe has been published in Bioinformatics! If you use Bpipe, please cite:

Sadedin S, Pope B & Oshlack A, Bpipe: A Tool for Running and Managing Bioinformatics Pipelines, Bioinformatics

Example

 hello = {
    exec """
        echo "hello world" > $output.txt
    """
 }
 run { hello }

Why Bpipe?

Many people working in data science end up running jobs as custom shell (or similar) scripts. While this makes running them easy it has a lot of limitations. By turning your shell scripts into Bpipe scripts, here are some of the features you can get:

  • Dependency Tracking - Like make and similar tools, Bpipe knows what you already did and won't do it again
  • Simple definition of tasks to run - Bpipe runs shell commands almost as-is : super low friction between what works in your command line and what you need to put into your script
  • Transactional management of tasks - commands that fail get outputs cleaned up, log files saved and the pipeline cleanly aborted. No out of control jobs going crazy.
  • Automatic Connection of Pipeline Stages - Bpipe manages the file names for input and output of each stage in a systematic way so that you don't need to think about it. Removing or adding new stages "just works" and never breaks the flow of data.
  • Job Management - know what jobs are running, start, stop, manage whole workflows with simple commands
  • Easy Parallelism - split jobs into many pieces and run them all in parallel whether on a cluster, cloud or locally. Separate configuration of parallelism from the definition of the tasks.
  • Audit Trail - keeps a journal of exactly which commands executed, when and what their inputs and outputs were.
  • Integration with Compute Providers - pure Bpipe scripts can run unchanged whether locally, on your server, or in cloud or traditional HPC back ends such as Torque, SLURM GridEngine or others.
  • Deep Integretation Options - Bpipe integrates well with other systems: receive alerts to tell you when your pipeline finishes or even as each stage completes, call REST APIs, send messages to queueing systems and easily use any type of integration available within the Java ecosystem.
  • See how Bpipe compares to similar tools

Ready for More?

Take a look at the Overview to see Bpipe in action, work through the Basic Tutorial for simple first steps, see a step by step example of a realistic pipeline made using Bpipe, or take a look at the Reference to see all the documentation.

bpipe's People

Contributors

ssadedin avatar pditommaso avatar sajp avatar tucano avatar lonsbio avatar tommyli avatar druvus avatar doctormo avatar bw2 avatar ssayols avatar dad avatar david-ma avatar gdevenyi avatar slugger70 avatar drtconway avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.