In January 2018, Methods in Ecology and Evolution launched a Policy on Publishing Code. The main objective of this policy is to make sure that high quality code is readily available to our readers. set out four key principles to help achieve this, as well as explaining what code outputs we publish, giving some examples of things that make it easier to review code, and giving some advice on how to store code once it’s been published.
To help people to understand how to meet the guidelines and principles of the new policy, a group of our Applications Associate Editors (Nick Golding, Sarah Goslee, Tim Poisot and Samantha Price) have put together a Virtual Issue of Applications articles published over the past couple of years that have followed at least one aspect of the guidelines particularly well.
In the first article, microPop: Modelling microbial populations and communities in R, Helen Kettle and her co-authors did a great job of setting up public version control, testing, and code archiving (on zenodo) during the review process. rptR: repeatability estimation and variance decomposition by generalized linear mixed-effects models by Martin Stoffe et al. does a very good job with code handling, too. The code is in R, and open source, with the package released as GPL. The package is on CRAN, which means it has passed basic quality checks, and the development version is on GitHub, so version control is not only in place, but publicly accessible.
Other articles in the Virtual Issue highlight specific areas of the new policy. Bromaghin includes some good tests based on manual calculation of expected values in qfasar: quantitative fatty acid signature analysis with R. The R package described in biomass: an r package for estimating above-ground biomass and its uncertainty in tropical forest by Réjou-Mécha et al. is on CRAN, the code is documented, and there are vignettes. The data used in the paper is both cited and included with the package.
In SSDM: an R package to predict distribution of species richness and composition based on stacked species distribution models and FLightR: An R package for reconstructing animal paths from solar geolocation loggers (by Schmitt et al. and Rakhimberdiev et al. respectively) the authors added things like continuous integration, consistent coding styles, and high test coverages during review.
Finally, TreeSimGM: Simulating phylogenetic trees under general Bellman Harris models with lineage-specific shifts of speciation and extinction in R by Hagen et al. and ratematrix: an R package for studying evolutionary integration among several traits on phylogenetic trees by Caetano et al. are good examples of our policy, without entirely fulfilling all aspects of it.
The articles in this Virtual Issue are all freely available to anyone – as are all of our Applications articles.