Skip to content

Pipelines for NGS data preprocessing by the Bock lab and friends

Notifications You must be signed in to change notification settings

epigen/open_pipelines

Repository files navigation

⚠️ The repository is undergoing updating: Currently, only Amplicon and ATAC-seq pipeline are PEP2.0 compatible!

Pipelines

These are some of the NGS pipelines developed and used in the Bock lab at CeMM.

This repository contains pipelines for processing NGS data and associated scripts used by them (in the /pipelines/tools subdirectory). Pipelines here are configured to work with looper and use pypiper (see the corresponding repositories). These pipelines work with metadata formatted as a portable encapsulated project.

Installation and usage

⚠️ Before installing, make sure your pip installation is up to date!

  1. Install looper and pypiper:
  • pip install "peppy>=0.30.2,<1.0.0" "looper>=1.2.0,<2.0.0" "piper>=0.12.1,<1.0.0"
  1. Clone this repository:
  • git clone git@github.com:epigen/open_pipelines.git
  1. Produce a configuration file for your project (see here how to do it).

  2. If your project has more than one protocol (data type), link each protocol to the respective pipeine in the following manner:

      sample_modifiers:
        imply:
          - if:
              protocol: "Amplicon"
            then:
              pipeline_interfaces: "${CODE}/open_pipelines/amplicon_simple.interface.yaml"
          - if:
              protocol: "ATAC-seq"
            then:
              pipeline_interfaces: "${CODE}/open_pipelines/atacseq.interface.yaml"
  3. Run all jobs using looper:

  • looper run project/metadata/project_config.yaml

If you are just using a pipeline in a project, and you are not developing the pipeline, you should treat this cloned repo as read-only, frozen code, which should reside in a shared project workspace. There should be only one clone for the project, to avoid running data under changing pipeline versions (you should not pull any pipeline updates unless you plan to re-run the whole thing).

Test data for pipelines

Small example data for several pipeline types is available in the microtest repository

Pipeline documentation

See the dedicated pages detailing the steps and output of each of the pipelines:

The remaining pipelines will get their dedicated documentation soon.

Contributing

We appreciate and encourage contributions to existing pipelines or submitions of new ones.

Simply clone the repository, make your changes and create a pull request with the changes in the dev branch.