Conclusions and outlook

I hope I have convinced you, if you were unconvinced already,

  • that reproducibility of computational research is:
    • important;
    • often not easy to achieve (or not as easy as it should be);
  • that independent reproducibility and replicability are both important.

Even if you choose not to share your code with others, investing the effort to improve replicability of your results will pay dividends:

  • when you have to modify and regenerate figures in response to reviewers’ comments;
  • when a student graduates and leaves the lab;
  • when you want to start a new project that builds on existing work;
  • and it could save you from painful retractions
  • or from crucifiction in the media!

There are already many tools, for version control and provenance tracking, that can help to address the problems of complexity, entropy, memory that we have identified. I hope that this tutorial has been a good starting point for choosing the tool that best fits your own preferred workflow, or has inspired you to change your current workflow. None of the tools is perfect - why not help to improve them, or develop your own? (but don’t reinvent the wheel).

The slides for this tutorial are available on Dropbox.

The sources for these notes are at

Feel free to share, to modify and to reuse these notes, provided you give attribution to the author, and include a link to this web page (Creative Commons Attribution Licence).

Feedback would be very much appreciated. If you find an error or omission in these notes, or wish to suggest an improvement, you can create a ticket or you can contact the author directly: