Research IT

Making Your Code Reproducible and Shareable

Research Software Engineer Ann Gledson recently gave a training tutorial to research collaboration involving several universities from across England on how to improve their code, the software release process, the use of DOIs and more.

Making research code accessible, maintainable and re-usable not only benefits your current project but also allows future projects (both yours and external research groups) to easily pick up from where you left off.  This allows more time to be spent on setting further research goals instead of correcting, untangling or even re-writing previous work.

However achieving this can be challenging especially as those team members writing the code might be novices, self-taught or lacking the time to explore best practice. The need for accessible, shareable code is even more critical when you are already working in large groups distributed over several different institutions perhaps not even in the same country.  This can be tackled by sourcing the required training as early as possible in the project to avoid the need for time consuming refactoring and tidying up later on.  Otherwise it may be too late with your code getting to breaking point and starting to encroach upon other end-of-project deadlines.

Research Software Engineer (RSE) Ann Gledson, with help from other RSE team members Peter Crowther and Douglas Lowe, recently gave a training tutorial to the 'Test, Trace and Isolate' project, a COVID response project led by the Department of Mathematics and the London School of Hygiene and Tropical Medicine.  Researchers from other institutions such as the Liverpool School of Tropical Medicine and the Universities of Oxford and Leicester also attended the event. The focus of the tutorial was on improving the code for their simulation model of contact tracing and included a code review, advice on creating modular code, how to use version control, the software release process, and the use of DOI's and open access repositories for storing data and providing snap-shots of code/data, so that experiment results are reproducible.

TTI Tutorial.png

The presentation was clearly well received, as Ann was also asked to present a similar brief tutorial to another related research group at the University of Oxford: 'The Neglected Tropical Disease (NTD) Modelling Consortium'!

The tutorial slides are publicly available but the RSE team can also provide bespoke tutorials for your own research group allowing you to get off to the best start in writing reproducible code and improving code and data accessibility. Legacy code reviews are also available, providing advice and assistance on the best strategies for improving your code-base.  If you are interested in any of these services please get in touch.