17th March 2021
Please pop questions in the chat as you think of them. I’ll either take them at the end or if I find a good moment to respond.
The Research Computing Team are a collection of research software engineers and data analysts spread across LIDA and IT including:
Today we’re going to touch on ways to make our code reproducible.
The basic building blocks of a good, reproducible project are:
Version control or source control systems are means by which we can track changes in our code.
draft1.txt draft1.2.txt draft.1.2.3.txt
Keeping all files relating to a project in a single folder is a good starting point.
project_name/ ├── README.md # overview of the project ├── data/ # data files used in the project │ ├── README.md # describes where data came from │ └── sub-folder/ # may contain subdirectories ├── processed_data/ # intermediate files from the analysis ├── manuscript/ # manuscript describing the results ├── results/ # results of the analysis (data, tables, figures) ├── src/ # contains all code in the project │ ├── LICENSE # license for your code │ ├── requirements.txt # software requirements and dependencies │ └── ... └── doc/ # documentation for your project ├── index.rst └── ...
The code we write often depends on other code. Tools such as conda try to help isolate specific dependencies:
Vagrant.configure("2") do |config| config.vm.box = "hashicorp/bionic64" end
Thanks for listening and I hope you’ve found this talk interesting!Research Computing is here to help with all this so get in touch via