Run samples through using
This guide walks you through extending
PEPPRO to run on multiple samples using
looper. The pipeline can be run directly from the command line for a single sample (see Install and run). If you need to run it on many samples, you could write your own sample handling code, but we have pre-configured everything to work nicely with
looper, our sample handling engine.
Looper is a pipeline submission engine that makes it easy to deploy any pipeline across samples. It will let you run the jobs locally, in containers, using any cluster resource manager, or in containers on a cluster.
You can install
pip install --user loopercli
2: Run an example through
Start by running the example project (
peppro_test.yaml) in the
examples/meta/ folder. Let's use
-d argument to do a dry run, which will create job scripts for every sample in a project, but will not execute them:
cd peppro looper run -d examples/meta/peppro_test.yaml
If the looper executable is not in your
$PATH, add the following line to your
If that worked, let's actually run the example by taking out the
looper run examples/meta/peppro_test.yaml
There are lots of other cool things you can do with looper, like dry runs, summarize results, check on pipeline run status, clean intermediate files to save disk space, lump multiple samples into one job, and more. For details, consult the
3: Configure your project files
To run your own samples, you'll need to organize them in PEP format, which is explained in how to create a PEP and is universal to all pipelines that read PEPs, including
PEPPRO. To get you started, there are examples you can adapt in the
examples/ folder (e.g. example test PEP). In short, you need two files for your project:
- project config file -- describes output locations, pointers to data, etc.
- sample annotation file -- comma-separated value (CSV) list of your samples.
The sample annotation file must specify these columns:
- library ('PRO' or 'PROSEQ' or 'PRO-seq')
- organism (e.g. 'human' or 'mouse')
- read2 (if paired)
- whatever else you want