DOI: 10.5281/zenodo.17356171
title: Reproducible Research Platform Use Case Player Bundle

description: RRP Use Case

Reproducible Research Platform (RRP) manuscript and a use case project reproducing a published study.

Overview

In this RRP project, we describe the Reproducible Research Platform (RRP) that combines research data management systems (RDMS) with defined computational environments for FAIR research. Its modular design makes it flexible for custom extensions and allows for collaboration and to easily share projects including all required data and computational components from RRP with third parties (other research groups, reviewers, public). Sharing of RRP projects finally enables full reusability by allowing others to reproduce, but also modify and extend previous work.

This RRP project therefore demonstrates the reproduction (or re-use) of part of a published manuscript and associated open-source software (taken from [1]). We adopted the original notebooks to use the data mounted from the RDMS. Use the run_image_quantification.ipynb notebook to quantify the signals from the raw data (images). Then run run_plot_validation.ipynb for the statistical analysis of the quantified results and to generate tables and figures. Lastly, run run_comparison_published_to_rrp.ipynb to compute the difference between the originally published results and the results optained from running the identical analysis from the raw data on RRP. All the results are saved under /results/ and are either accessible here or from the RRP UI results tab. This special folder can be used to register relevant outputs to the RDMS and demonstrates the round trip to make important results FAIR.

The main outcome of this example is:



Usage of Python, a published Python software package for analysis and report generation reproducing a published study [1].

Demonstration of how RRP can be used to write a research paper manuscript with LaTex and RRP's integration with Overleaf for expedited publishing.

Demonstration of how RRP can be used collaboratively and how RRP projects can be shared with anyone.


Features



Integration with RRP and RDMS: Mounts (image) data from the RDMS openBIS in RRP for direct use with Python.

Integration with Overleaf: Keeping user habits allowing to work on a research manuscript directly within RRP or on 3rd party platforms.


Installation

Prerequisites



Access to a RRP instance or a local Docker installation.


Steps



Create a new (RRP) project from this Git repository

Alternatively this RRP project can be run from its shared identifier in the cloud without the need to install anything to start work imediatly (given a sharedID and user credentials).


Usage

Workflow Overview



Re-run analysis: In the Launcher Python notebooks can be opened in a new tab and the file run_image_quantification.ipynb, run_plot_validation.ipynb or run_comparison_published_to_rrp.ipynb be opened.

Results generation: If you ran all noteboooks sucessfully (e.g. click Run->Run All in the menu top left) the RRP results should appear under results/analysis_results and the comparison to the originally published results under results/analysis_results_sanity and contain a couple of pdf figures, a table and a html version of the run_plot_validation and run_comparison_published_to_rrp file. These figures correspond to the supplementary figure S4 and the supplementary tables 1 and 2 of the pyPOCQuant publication[1].


Demonstration of collaborative and offline work with RRP (Alternative Usage)

A player bundle to work offline is available from here: 10.5281/zenodo.17356172

This requires a working Docker installation on your computer. Please find the instructions below how to install docker on your local computer.



For Windows https://docs.docker.com/desktop/install/windows-install/

For Linux https://docs.docker.com/desktop/install/mac-install//

For macOS https://docs.docker.com/desktop/install/linux/


Once you have Docker running you can double click the play.bat (or play.sh for Unix systems) file from the player bundle folder you downloaded. This will start a jupyter lab environment in your browser with the necessary files to run the rrp project offline on your computer and reproduce the same results. 



│


Directory Structure



├── .binder/                                             # Environment specifications, Python version, packages etc.
│   ├── apt.txt
│   ├── requirements.txt
│   └── runtime.txt
├── .rrp/                                                # Specification of the RDMS server and required data from RDMS openBIS ELN-LIMS (e.g. image data) 
│   └── datasets.yaml                                    
├── analysis/                                            # Original analysis code adopted for RRP
│   ├── run_comparison_published_to_rrp.ipynb            # Comparison of RRP results to original 
│   ├── run_image_quantification.ipynb
│   └── run_plot_validation.ipynb
├── configs/                                             # Original study configuration files for running the analysis
│   ├── 10x_wo_moving.conf
│   └── 10x_wo_moving_subset.conf
├── manuscript/                                          # The RRP LaTeX manuscript
├── pypocquant/                                          # The study's original software library
├── LICENSE                                              # License
├── .gitmodules                                          # Git submodule
├── .gitignore                                           # Git submodule
└── README.md                                            # This file




The .binder folder contains the instruction for building the computational environment. E.g. which system libraries (apt.txt), which kernel, here Python (runtime.txt) and which packages (requirements.txt) for running the custom developped example software pypocquant we use here.

The .rrp folder specifies the openBIS server for the project and contains the definition of which openBIS datasets should be included into the rrp project (e.g. the data to be analyzed).

The analysis folder contains two notebooks: run_image_quantification.ipynb will take the raw data and quantify signals from images and should be run first. run_plot_validation.ipynb runs the statistical analysis of the quantified data and generates tables and figures. run_comparison_published_to_rrp.ipynb runs the comparison between the originally published results and the ones obtained from running the analysis on RRP. These notebooks reproduce part of the published results of the publication we chose for the usecase.

The configs folder contains the configuration files (parameters) for pypocquant to analyze the data.

The manuscript folder contains the LaTex manuscript of RRP to showcase how LaTex files can be edited from within RRP (via JupyterLab Latex extension) and demonstrating the possible integration with Overleaf for direct publishing.

The pypocquant folder contains the software for this use case. RRP can link any software, packages and similar from GitHub and include it automatically as submodule for an rrp project.


Further information

For further information on RRP, please consult the online user documentation here. The RRP source code is available here. A deployed version of RRP is available from here as well as a basic RRP Demo project here

Contributing

We welcome contributions to improve this repository! Please follow these steps:



Fork the repository.

Create a new branch for your feature or bug fix.

Submit a pull request with a clear description of your changes.


Authors and acknowledgment



Andreas P. Cuny, ETH Zurich initial implementation for RRP


License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details. The notebook run_image_quantification.ipynb uses the GPLv3-licensed pypocquant package and is therefore licensed under GPLv3. All other notebooks and code in this repository are licensed under Apache 2.0. Users of run_image_quantification.ipynb must comply with the GPLv3 license terms.

Copyright © 2020-2025 ETH Zurich, Andreas P. Cuny, D-BSSE, CSB Group

References



Cuny, A. P., Rudolf, F. & Ponti, A. pyPOCQuant — A tool to automatically quantify Point-Of-Care Tests from images. SoftwareX 15, 100710 (2021). https://doi.org/10.1016/j.softx.2021.100710.