logo

Welcome

Ruffus is a lightweight python module for writing computational pipelines.

It is designed to allow scientific analyses and other computational pipelines to be automated with the minimum of fuss and the least effort.

This means that ruffus should be suitable for the simplest of tasks.

On the other hand, because it leaverages the full power of python, it should scale up to even fiendishly which would cause makefile/ scons to go all cross-eyed and recursive, E.g.

  • Multiply forking and rejoining dependencies
  • Indeterminate number of intermediate files
  • Sub-directories based on regular expression matches

Using ruffus requires only standard python syntax. Your pipelined programmes can run in the same way without any "clever magic" that you have to code around to customise.

Ruffus tries very hard to be unintrusive. It has unambitiously lightweight syntax which tries to do one small thing well.

I will be slowly adding in more features while hopefully retaining the simple design. Please join me (email: ruffus_lib at llew.org.uk) in setting the direction of this project if you are interested.

Features

Ruffus provides automatic support for:

  • Managing dependencies
  • Parallel jobs
  • Re-starting from arbitrary points, especially after errors
  • Reporting
  • Display of the pipeline as a flowchart: e.g.
flowchart

Documentation

Get Ruffus

Ruffus is available as an easy-installable package on the Python Package Index.

Just run:
easy_install ruffus

or, to upgrade:

easy_install -u ruffus

The Ruffus project is hosted at Google Code