{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,11]],"date-time":"2026-05-11T18:21:01Z","timestamp":1778523661961,"version":"3.51.4"},"reference-count":32,"publisher":"Public Library of Science (PLoS)","issue":"3","license":[{"start":{"date-parts":[[2021,3,11]],"date-time":"2021-03-11T00:00:00Z","timestamp":1615420800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["www.ploscompbiol.org"],"crossmark-restriction":false},"short-container-title":["PLoS Comput Biol"],"DOI":"10.1371\/journal.pcbi.1008549","type":"journal-article","created":{"date-parts":[[2021,3,11]],"date-time":"2021-03-11T18:25:25Z","timestamp":1615487125000},"page":"e1008549","update-policy":"https:\/\/doi.org\/10.1371\/journal.pcbi.corrections_policy","source":"Crossref","is-referenced-by-count":17,"title":["Ten simple rules for quick and dirty scientific programming"],"prefix":"10.1371","volume":"17","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6794-9611","authenticated-orcid":true,"given":"Gabriel","family":"Balaban","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8941-942X","authenticated-orcid":true,"given":"Ivar","family":"Grytten","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3359-7619","authenticated-orcid":true,"given":"Knut Dagestad","family":"Rand","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8900-075X","authenticated-orcid":true,"given":"Lonneke","family":"Scheffer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4959-1409","authenticated-orcid":true,"given":"Geir Kjetil","family":"Sandve","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"340","published-online":{"date-parts":[[2021,3,11]]},"reference":[{"issue":"5807","key":"pcbi.1008549.ref001","doi-asserted-by":"crossref","first-page":"1856","DOI":"10.1126\/science.314.5807.1856","article-title":"A scientist\u2019s nightmare: Software problem leads to five retractions","volume":"314","author":"G. Miller","year":"2006","journal-title":"Science"},{"issue":"1","key":"pcbi.1008549.ref002","first-page":"5","article-title":"Where\u2019s the real bottleneck in scientific computing?","volume":"94","author":"GV Wilson","year":"2006","journal-title":"Am Sci"},{"issue":"1","key":"pcbi.1008549.ref003","doi-asserted-by":"crossref","first-page":"e1001745","DOI":"10.1371\/journal.pbio.1001745","article-title":"Best practices for scientific computing","volume":"12","author":"GV Wilson","year":"2014","journal-title":"PLoS Biol"},{"issue":"6","key":"pcbi.1008549.ref004","doi-asserted-by":"crossref","first-page":"e1005510","DOI":"10.1371\/journal.pcbi.1005510","article-title":"Good enough practices in scientific computing","volume":"13","author":"GV Wilson","year":"2017","journal-title":"PLoS Comput Biol"},{"issue":"4","key":"pcbi.1008549.ref005","doi-asserted-by":"crossref","first-page":"e1005412","DOI":"10.1371\/journal.pcbi.1005412","article-title":"Ten simple rules for making research software more robust","volume":"13","author":"M Taschuk","year":"2017","journal-title":"PLoS Comput Biol"},{"issue":"1","key":"pcbi.1008549.ref006","doi-asserted-by":"crossref","first-page":"e1005265","DOI":"10.1371\/journal.pcbi.1005265","article-title":"Ten simple rules for developing usable software in computational biology","volume":"13","author":"M List","year":"2017","journal-title":"PLoS Comput Biol"},{"issue":"10","key":"pcbi.1008549.ref007","doi-asserted-by":"crossref","first-page":"e1003285","DOI":"10.1371\/journal.pcbi.1003285","article-title":"Ten simple rules for reproducible computational research.","volume":"9","author":"GK Sandve","year":"2013","journal-title":"PLoS Comput Biol"},{"issue":"12","key":"pcbi.1008549.ref008","doi-asserted-by":"crossref","first-page":"e1002802","DOI":"10.1371\/journal.pcbi.1002802","article-title":"Ten simple rules for the open development of scientific software","volume":"8","author":"A Prli\u0107","year":"2012","journal-title":"PLoS Comput Biol"},{"issue":"13","key":"pcbi.1008549.ref009","doi-asserted-by":"crossref","first-page":"e1003506","DOI":"10.1371\/journal.pcbi.1003506","article-title":"Ten simple rules for effective computational research","volume":"10","author":"JM Osborne","year":"2014","journal-title":"PLoS Comput Biol"},{"key":"pcbi.1008549.ref010","volume-title":"The pragmatic programmer","author":"A Hunt","year":"2000"},{"key":"pcbi.1008549.ref011","author":"RC Martin","year":"2002"},{"key":"pcbi.1008549.ref012","author":"S. McConnell","year":"2004"},{"key":"pcbi.1008549.ref013","author":"K. Beck","year":"2000"},{"key":"pcbi.1008549.ref014","article-title":"Manifesto for agile software Development","author":"K Beck","year":"2001"},{"issue":"1","key":"pcbi.1008549.ref015","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1002\/0471142727.mb1910s89","article-title":"Galaxy: a web-based genome analysis tool for experimentalists","volume":"89","author":"D Blankenberg","year":"2010","journal-title":"Curr Protoc Mol Biol"},{"key":"pcbi.1008549.ref016","first-page":"2825","article-title":"Scikit-learn: Machine learning in Python","volume":"12","author":"F Pedregosa","year":"2011","journal-title":"J Mach Learn Res"},{"issue":"9","key":"pcbi.1008549.ref017","article-title":"pandas: a foundational Python library for data analysis and statistics","volume":"14","author":"W McKinney","year":"2011","journal-title":"Python for High Performance and Scientific. Computing"},{"key":"pcbi.1008549.ref018","author":"MA Carey","year":"2018","journal-title":"Ten simple rules for biologists learning to program"},{"key":"pcbi.1008549.ref019","author":"Y Perez-Riverol","year":"2016","journal-title":"Ten simple rules for taking advantage of Git and GitHub"},{"issue":"4","key":"pcbi.1008549.ref020","doi-asserted-by":"crossref","first-page":"e1003542","DOI":"10.1371\/journal.pcbi.1003542","article-title":"Ten simple rules for the care and feeding of scientific data","volume":"10","author":"A Goodman","year":"2014","journal-title":"PLoS Comput Biol"},{"key":"pcbi.1008549.ref021","author":"E. Ries","year":"2011"},{"key":"pcbi.1008549.ref022","author":"M. Fowler","year":"2018"},{"issue":"3","key":"pcbi.1008549.ref023","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1109\/MS.2002.1003449","article-title":"Mock objects","volume":"19","author":"D Thomas","year":"2002","journal-title":"IEEE Softw"},{"issue":"1","key":"pcbi.1008549.ref024","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1111\/j.1467-9310.1982.tb00478.x","article-title":"Investigating the Not Invented Here(NIH) syndrome: A look at the performance, tenure, and communication patterns of 50 R&D Project Groups","volume":"12","author":"R Katz","year":"1982","journal-title":"R&D Manag"},{"key":"pcbi.1008549.ref025","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1994"},{"key":"pcbi.1008549.ref026","volume-title":"Head first design patterns","author":"E Freeman","year":"2008"},{"key":"pcbi.1008549.ref027","volume-title":"The Art of Unit Testing: With Examples in.Net","author":"R. Osherove","year":"2009"},{"key":"pcbi.1008549.ref028","doi-asserted-by":"crossref","unstructured":"Fernandes E, Oliveira J, Vale G, Paiva T, Figueiredo E. A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering; 2016. p. 1\u201312.","DOI":"10.1145\/2915970.2915984"},{"issue":"1","key":"pcbi.1008549.ref029","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1016\/0749-5978(85)90049-4","article-title":"The psychology of sunk costs","volume":"35","author":"HR Arkes","year":"1985","journal-title":"Organ Behav Hum Decis Process"},{"key":"pcbi.1008549.ref030","first-page":"87","volume-title":"Jupyter Notebooks-a publishing format for reproducible computational workflows","author":"T Kluyver","year":"2016"},{"issue":"4","key":"pcbi.1008549.ref031","doi-asserted-by":"crossref","first-page":"316","DOI":"10.1038\/nbt.3820","article-title":"Nextflow enables reproducible computational workflows","volume":"35","author":"P Di Tommaso","year":"2017","journal-title":"Nat Biotechnol"},{"issue":"19","key":"pcbi.1008549.ref032","doi-asserted-by":"crossref","first-page":"2520","DOI":"10.1093\/bioinformatics\/bts480","article-title":"Snakemake\u2014a scalable bioinformatics workflow engine","volume":"28","author":"J K\u00f6ster","year":"2012","journal-title":"Bioinformatics"}],"container-title":["PLOS Computational Biology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dx.plos.org\/10.1371\/journal.pcbi.1008549","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,3,11]],"date-time":"2021-03-11T18:25:57Z","timestamp":1615487157000},"score":1,"resource":{"primary":{"URL":"https:\/\/dx.plos.org\/10.1371\/journal.pcbi.1008549"}},"subtitle":[],"editor":[{"given":"Scott","family":"Markel","sequence":"first","affiliation":[],"role":[{"role":"editor","vocabulary":"crossref"}]}],"short-title":[],"issued":{"date-parts":[[2021,3,11]]},"references-count":32,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2021,3,11]]}},"URL":"https:\/\/doi.org\/10.1371\/journal.pcbi.1008549","relation":{},"ISSN":["1553-7358"],"issn-type":[{"value":"1553-7358","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,3,11]]}}}