Ten Simple Rules for Making Research Software More Robust
April 17, 2017 ยท View on GitHub
Software produced for research, even published software, suffers from a number of common problems that make it difficult, if not impossible, to run outside the original institution or even the primary developer's computer. We present ten simple rules to make your software robust enough to run anywhere and delight your users and collaborators.
Reviewers say: "This is a very strong manuscript that should be read by everyone developing bioinformatics software, whether individual scripts or larger pieces of infrastructure."
News
- 2017-04-13: Final copy up at PLoS Computational Biology: https://doi.org/10.1371/journal.pcbi.1005412
- 2017-02-10: Accepted for publication at PLoS Computational Biology.
- 2017-01-19: The paper is resubmitted and the arXiv version has been updated: https://arxiv.org/abs/1610.04546v2.
- 2016-12-06: Reviews are back! See them in issue #23
- 2016-10-14: Preprint is available on arXiv: https://arxiv.org/abs/1610.04546v1
- 2016-10-14: Submitted to PLoS Computational Biology
- 2016-09-01: Requested feedback from the community via tweet
The Paper
- Published: https://doi.org/10.1371/journal.pcbi.1005412
- Download the checklist: https://github.com/oicr-gsi/robust-paper/blob/master/dist/S1_Checklist.pdf
- Preprint: https://arxiv.org/abs/1610.04546v2
Dependencies
- To build the PDF:
- LaTeX packages appropriate for your computer. On Ubuntu 16.04,
sudo apt-get install texlive-full
- LaTeX packages appropriate for your computer. On Ubuntu 16.04,
Build
Create the pdf using make;
make pdf
When ready to submit to PLOS, generate a single tex file with bibliography with
make final
Other make commands:
- make commands : get the full list of make commands
- make clean : remove auxiliary files from the directory
Acknowledgements
Thank you to all of our pre- and post-print reviewers. A short list is available on our Acknowledgements page.
Contact
Please send any feedback to the authors by email or Twitter @gvwilson @morgantaschuk.