Skip to content

Instantly share code, notes, and snippets.

@andyfaff
Created November 28, 2019 02:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andyfaff/643bef3bf27053c1bc3b6c0d024a7cfb to your computer and use it in GitHub Desktop.
Save andyfaff/643bef3bf27053c1bc3b6c0d024a7cfb to your computer and use it in GitHub Desktop.
NR/XRR reproducibility text
Reproducibility - a cornerstone of science
==========================================
https://arxiv.org/pdf/1810.08055.pdf
Guidelines for reproducibility in Neutron/X-ray reflectometry
-------------------------------------------------------------
Reduction
---------
Analysis
--------
A journal article should have enough information for an interested reader to fully reproduce the analysis presented in the paper. It is suggested that:
- the reduced data is made freely available to readers of a journal article. This can be achieved by deposition of the datasets into a public repository such as [Zenodo](https://www.zenodo.org), or by inclusion of the datasets in the electronic supporting information (ESI) of an article.
- a comprehensive recipe be provided to replicate the software stack used for the analysis. If the analysis was carried out using Python this could be achieved by provision of an [Anaconda environment file](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html), or by using [`pip freeze`](https://pip.pypa.io/en/stable/reference/pip_freeze/) to list the installed packages. Another approach could be to create a virtualised image of an operating system that contains the same OS, software libraries and configuration that was used to carry out the analysis. The use of closed source software is discouraged, as this makes it difficult to check for correctness in the packages that aren't open ([this](https://arstechnica.com/information-technology/2019/10/chemists-discover-cross-platform-python-scripts-not-so-cross-platform/) is why it's important), and may also hinder others from installing it.
- a comprehensive set of steps be outlined that will allow the reader to reproduce the analysis. This is typically difficult to achieve with a GUI based program. However, some analysis softwares offer a scripting interface. If these scripts allow the reader to replicate the analysis, then they can simply be attached to the ESI. [Jupyter Notebooks](https://jupyter.org) are increasingly being used for this purpose, as they allow a mix of live code, equations, visualisations and narrative. Documenting the various steps in the analysis procedure helps the reader follow the process.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment