Reproducible research data analysis platform

Flexible

Run many computational workflow engines.

Scalable

Support for remote compute clouds.

Reusable

Containerise once, reuse elsewhere. Cloud-native.

Free

Free Software. MIT licence. Made with at CERN.

Examples
Get started
1

Structure your analysis

inputs:
files:
- code/mycode.py
- inputs/mydata.csv
parameters:
myparameter: myvalue
workflow:
type: cwl
file: workflow/myworkflow.cwl
outputs:
files:
- results/myplot.png
more
2

Select a REANA cluster...

$export REANA_SERVER_URL=https://reana.cern.ch/
$export REANA_ACCESS_TOKEN=XXXXXXX

...or install your own

# install kubectl 1.19+, kind 0.9+ and helm 3.0+
$sudo dpkg -i kubectl*.deb kind*.deb kubernetes-helm*.deb
# create Kubernetes cluster (or use your own!)
$wget https://raw.githubusercontent.com/reanahub/reana/maint-0.9/etc/kind-localhost-30443.yaml
$kind create cluster --config kind-localhost-30443.yaml
$wget https://raw.githubusercontent.com/reanahub/reana/maint-0.9/scripts/prefetch-images.sh
$sh prefetch-images.sh
# deploy REANA using Helm
$helm repo add reanahub https://reanahub.github.io/reana
$helm repo update
$helm install reana reanahub/reana --wait
# create an admin user
$wget https://raw.githubusercontent.com/reanahub/reana/maint-0.9/scripts/create-admin-user.sh
$sh create-admin-user.sh default reana john.doe@example.org mysecretpassword
more
3

Run your analysis

# create new virtual environment
$virtualenv ~/.virtualenvs/myreana
$source ~/.virtualenvs/myreana/bin/activate
# install REANA client
$pip install reana-client
# create new workflow
$reana-client create -n my-analysis
$export REANA_WORKON=my-analysis
# upload input code and data to workspace
$reana-client upload ./code ./data
# start computational workflow
$reana-client start
# check its progress
$reana-client status
# list workspace files
$reana-client ls
# open interactive notebook session
$reana-client open jupyter
# download output results
$reana-client download results/plot.png
more
Documentation

Researchers

Find out how you can use REANA to describe, run, preserve and reuse your analyses.

User Guide

Administrators

Install and manage the REANA reusable analysis platform on your own compute cloud.

Administrator Guide

Developers

Understand REANA source code, adapt it to your needs, contribute changes back.

Developer Guide
Latest news

REANA 0.9.3

13 Mar 2024

Upgrades Snakemake to version 7.

Improves job submission performance.

Improves clean up of deleted and failed workflows.

REANA participates at the HSF Analysis Preservation Bootcamp, October 16-18 2023, Valencia, Spain. [event]
REANA participates at the CERN-NASA Open Science Summit 2023, July 10-14 2023, Geneva, Switzerland. [event]
REANA participates at the CHEP2023 conference, May 8-12 2023, Norfolk, USA. [event]
REANA participates at the PV2023 conference, May 2-4 2023, Geneva, Switzerland. [event] [paper]
REANA participates at the HSF IRIS-HEP Analysis Ecosystems Workshop II, May 23-25 2022, Paris, France. [event]
A new paper "Scalable Declarative HEP Analysis Workflows for Containerised Compute Clouds" published in Frontiers in Big Data (2021). [paper]
Presented "Analysis Reproducibility with REANA on Kubernetes" as part of the CERN Cloud Containers webinar series (2020). [webinar] [event]
A technical overview of REANA published in EPJ Web Conf 2014 (2019) 06034. [paper]
REANA featured in the CERN Courier March/April 2019 thematic issue on Open Science. [paper]
An opinion piece "Open is not enough" about REANA and reproducible science solutions in particle physics published in Nature Physics 15 (2019) 113–119. [paper]
For all latest news follow us on Twitter
Roadmap

Current

Workflow sharing amongst users

Introduce role-based authorisation control models allowing to share workflows with colleagues.

Near-term

Workflow sharing amongst user groups

Introduce user groups to ease the sharing of workflows with multiple colleagues.

Future

Go client and stable API

Introduce new command-line client written in Go to improve performance and ease of use. Stabilise the REST API versioning.