Alex Coleman
Research Computing
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
git
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