← Computational Mathematical Biology

Reproducible computational experiments

A computational result should be reproducible: another researcher, or the same researcher later, should be able to reconstruct how the result was obtained.

Record the experiment

Keep model equations, parameter values, initial conditions, data-processing steps, numerical settings and software dependencies with the analysis.

Random simulations

Record pseudorandom seeds when exact reproduction of stochastic runs is required. Also report the number of simulations because Monte Carlo estimates themselves have sampling error.

Separate code, data and outputs

Preserve original data and generate processed data, figures and tables through scripts or notebooks rather than undocumented manual editing.

Version control

Version control records changes to code and documentation and makes it possible to associate results with a particular computational state.

Key idea. Reproducibility turns a computational result from a one-off output into a traceable scientific procedure.