Sharing computer code and programs in neuroscience
Many areas of neuroscience require computational techniques to process or analyse data. Some journals including the Nature family of journals and BioMed Central are encouraging investigators to share computer code and programs to improve scientific reproducibility, but these practices are not always adopted. For complex projects with multiple collaborators, it may be unclear what or how much can be shared. But there is some agreement within the scientific community that key parts should be shared. For example, share enough code, data and documentation to reproduce at least one key figure from the manuscript.
In a Nature Neuroscience Commentary, Eglen and colleagues propose some standard practices for sharing computer code and programs in neuroscience. Some key points are:
Use a version control system to develop code. Popular systems such as Git (and its web interface GitHub) and Bitbucket allow easy version control on a local computer, and collaboration using online version control repositories.
Generate stable URLs (such as a Digital Object Identifier; DOI) for key versions of your software. DOIs can be obtained from sites such as Zenodo or Figshare, and can be used to reference the version of code used to generate figures.
Code sharing etiquette
When collaborating, sharing or using code developed by others, discuss issues or bugs with the authors of the code first so they have a chance to fix these, before making any public statements. Be sure to cite code appropriately.
Provide a README file to describe what the code does and how to run it. For example, provide instructions on how to generate key findings or a figure from a paper. Document key sections of the code with comments to make it easy for other users to follow what the code does.
Make the de-identified data that the software was used to process or analyse available for others to regenerate findings or figures. Data can be stored on data repositories. For example, see the list of data repositories recommended by PLoS.
Eglen et al (2017) Towards standard practices for sharing computer code and programs in neuroscience. Nature Neuroscience 20:770–773.