MPRAsnakeflow’s Documentation

GitHub Repository Latest Release DOI License Snakemake Conda Tests GitHub Issues GitHub Pull Requests

Welcome!

MPRAsnakeflow is a pipeline designed to process sequencing data from Massively Parallel Reporter Assays (MPRAs) to create count tables for candidate sequences tested in the experiment.

MPRAsnakeflow is built on top of Snakemake (version ≥8.24.1 required) and is configured via a .yaml file.

Authors

Citation

If you use MPRAsnakeflow in your work, please cite our recent preprint:

Uniform processing and analysis of IGVF massively parallel reporter assay data with MPRAsnakeflow Jonathan D. Rosen, Arjun Devadas Vasanthakumari, Kilian Salomon, Nikola de Lange, Pyaree Mohan Dash, Pia Keukeleire, Ali Hassan, Alejandro Barrera, Martin Kircher, Michael I. Love, Max Schubach bioRxiv (2025). 2025.09.25.678548

Usage

If you use this workflow in a paper, don’t forget to give credit to the authors by citing the URL of the (original) repository.

Installation & Getting Started

Instructions for installing the program and examples to help you get started.

MPRAsnakeflow Workflows

An overview of how MPRAsnakeflow works and documentation for the MPRAsnakeflow sub-workflows.

MPRAsnakeflow Tutorials

Get to know MPRAsnakeflow by running it via Jupyter notebooks or Google Colab on small examples.

MPRAsnakeflow Examples

Multiple examples from the literature are listed for every sub-workflow in MPRAsnakeflow.

Tips & Tricks

Find our FAQ here.

Project Information

More information on the project, including the changelog, list of contributing authors, and contribution instructions.

Quick Example

To run MPRAsnakeflow, first activate the Snakemake environment with the following command:

conda activate snakemake

Then run the main workflow with:

snakemake --software-deployment-method conda --cores $N --configfile config/example_config.yaml

Features

Option

Description

--software-deployment-method

When conda is set, the utility uses conda to efficiently query repositories and manage package dependencies. MPRAsnakeflow can also use containers via Apptainer by using --software-deployment-method apptainer conda. This will use a container to run all rules but will activate the pre-installed conda environments inside it. Recommended option: --software-deployment-method apptainer conda.

--cores

This utility sets the number of cores ($N) to be used by MPRAsnakeflow.

--configfile

This file (e.g., config/example_config.yaml) contains the project configuration, including objects and properties that must be set before running MPRAsnakeflow.

Investigate Results

The best option to investigate your results is to review the QC report.

(In development) After successful execution, you can create a self-contained interactive HTML report with all results via:

snakemake --report report.html --configfile config/example_config.yaml

This report can be shared with collaborators. An example of a generated report (using some trivial test data) can be seen here.

Feedback

Feel free to leave feedback, ask questions, or report bugs on our issues page: MPRAsnakeflow Issues.

Indices and Tables