Looper is a project manager written in python; it simplifies submitting pipeline jobs for your samples either on a cluster or on your local computer.

Once you’ve built a pipeline (for example, using pypiper), you need a way to deploy that pipeline across lots of samples. Looper helps you do that.

You use a yaml file to describe your project. It points to a csv listing each sample you want to run, and has fields for data input location, pipeline output location, and other project-specific variables. Looper reads this metadata and submits pipeline runs for each sample.

Looper makes it easy to:

  • only submit jobs that haven't already been submitted
  • run multiple pipelines on each sample
  • interface with any kind of pipeline
  • collate inputs from different locations on disk
  • request different resources for different input file sizes
  • monitor which jobs are running or failed
  • run different pipelines on different types of data
  • use sample objects for downstream (post-pipeline) data analysis

The best place to start is the Documentation, which includes tutorials, installation instructions, and more.