Reproducibility levels and WfExS 1.0: introduction to reproducibility
Full text
Reproducibility levels and WfExS 1.0: introduction to reproducibility 2025-10-28 José M.ª Fernández orcid:0000-0002-4806-5140
WfExS (/why’fex/) General Overview
What is WfExS? … and how it came to be what is it ●It is a high-level workflow execution orchestrator backend, through the setup on reproducible, secure execution environments, keeping in mind HPC environments. ●It was born as part of Demonstrator 7 (D7) activities in EOSC-Life, focused on accessing human sensitive data from analytical workflows available to everyone in EOSC-Life. ●Designed to facilitate sensitive data analysis using existing infrastructures, e.g. European Genome-phenome Archive (EGA). ●It has a strong focus on reproducible and replicable analysis, and RO-Crate (www.r esearchobject.org/ro-crate) is used to describe the different digital objects which were involved in a workflow execution.
Secure execution scenarios … unmet needs Sensitive data stay Computational resources stay Encryption (data itself, transport, …) (Hopefully) reproducible analysis and accessory data It needs its own computational and storage resources It has to be legally trusted, and having its own storage resources Researcher’s resources Granted access to both sensitive data, and with luck, computational resources
What is(n’t) WfExS-backend 1.0? ✖ Workflow manager. ✖ Job scheduler. ✖ Valid for any kind of workflow language. ✖ Valid for any kind of workflow. ✖ Distributed workflow execution (indirectly worked on it on EuroScienceGateway and EOSCENTRUST). ✔ High-level workflow execution orchestrator through known managers (e.g. CWLtool, Nextflow, Snakemake, Galaxy) ✔ Secure workflow executions in isolated environments using containers. ✔ Reproducible executions using Workflow Run RO-Crate as representation (a PID is better than a path).
High level workflow orchestration We did not want to create another workflow standard. We needed an orchestrator to prepare a sandboxed execution scenario which deals with the high-level details (data acquisition, workflow acquisition, engine acquisition, etc.) https://xkcd.com/927/ So, WfExS-backend is not becoming the 300th workflow manager
Current Use of Standards 7 crypt4gh
8 https://github.com/inab/WfExS-backend
Specific details of reproducibility in pipelines ●Pipeline should be described in some workflow language. ●Steps should be clearly defined. ●For each step, all the software used in it should be available in public bundles (e.g. docker or SIF containers, conda packages, etc…). ●Software should avoid hard dependencies on custom hardware, to maximize its reusability. ●Software should avoid hard dependencies on external resources (i.e. web services) as it hinders repeatability and reproducibility, and it limits its reusability in isolated environments (like SPEs or TREs).