scieee AI-readable full text Open interactive document viewer

Reproducible research through reusable code in 1 day

Klapwijk, Eduard

Abstract

Here we present materials for a workshop that teaches researchers the skills to make code reusable by others and shares teaching experiences. The material (available under a CC-BY license) guides participants to share their coding project on GitHub and work on the minimal requirements needed for others to run their code, ending with a short reusability check of each other's repository. Presented at the Dutch National Research Software Day 2025.

Full text

Eduard Klapwijk, PhD | Erasmus University Rotterdam, SURF Sven van der Burg, MSc | Netherlands eScience Center Reproducible research through reusable code in 1 day National Research Software day 2025 DOI: 10.5281/zenodo.17708943 eScience Fellowship 2024-2025 Implementing institutional reproducibility checks to promote good computational practices Project website link What is reproducibility? My focus today is on computational reproducibility: •Is there enough detail to repeat the same study? •Availability of data, code, and methods make recomputation possible Source: the Turing Way Why is reproducibility important? •Independent recomputation → increased trust in results (minimum condition for finding to be believable / informative) •Prerequisite for reproducibility is full transparency of code → allows for better understanding, interpretation, and re-use •Reproducible workflows will make your life easier → easier to correct, update, continue your work Photo by Proxyclick Visitor Management System on Unsplash Showing as detailed as possible how certain results were calculated should be as basic as correctly referencing literature Photo by Fox on Unsplash “An article about computational science […] is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures.” Buckheit & Donoho (1995) after Claerbout But to do this well, is arguably quite hard Working reproducibly is not trivial •Takes time to learn new tools and to document your process as you go •Documentation is key: number of lines of documentation may exceed your code •But partially reproducible is better than not at all reproducible. Just try to make your next paper or project better organized than the last. (Karl Broman: https://kbroman.org/steps2rr/) Photo by Hayley Murray on Unsplash Codechecks for reproducibility My project at EUR: •eScience fellowship 2024-2025 Background: Best practices for scientific computing are not widely adopted Focus on basic, computational reproducibility (same data and code reproduce same results) Project website link Codechecks for reproducibility •Aim: develop a workflow to provide a reproducibility check for data and code submitted alongside research publications Researcher submits data & code Checker publishes report can reference report in publication Similar initiatives: Data and code availability - preproducibility Preproducibility is a prerequisite for reproducibility •Adequate detail for others to repeat it Current common practice: partial list of ingredients, but recipe is needed Stark - No reproducibility without preproducibility https://doi.org/10.1038/d41586-018-05256-0 Photo by Annie Spratt on Unsplash Organize your own workshop using our materials! •Much can be improved in 1 day •Participants from different backgrounds really enjoyed the workshops •Nice to have: instructors with both Python and R knowledge Workshop website link Thank you! Questions?