Evidence map›Paper›PMID 34762641›Full record

ArticlePLoS computational biology2021

Ten simple rules on writing clean and reliable open-source scientific software.

Haley Hunter-Zinck, Alexandre Fioravante de Siqueira, Váleri N Vásquez, Richard Barnes, Ciera C Martinez

Abstract readEditorial
In one paragraph

Article in PLoS computational biology, 2021. The graph could read no effect estimate from its abstract, so it casts no vote on the map. Cited by 18 papers, 1 of them a synthesis that pooled it.

0numbers the graph read from it
0cells of the map it votes in
18citing papers in PubMed, 1 pooled it
–field-weighted citation impact
1 · What the graph read from it

What it found

Each row is one number read from the abstract, on the scale the paper reported it, with its interval. Left of the dashed line favours the treatment, right favours the comparator. Under each row is the sentence it came from. New to these charts? A ten-minute tutorial.

The abstract states no effect estimate the extractor could read, or names no intervention and outcome on the map, so this paper lights no cell and moves no belief. It is still indexed, cited and linked below.

2 · The registry

The trial behind it

Trials whose registry record cites this paper, or whose number appears in the abstract. A trial that started after this paper was published is citing it as background, not reporting it.

Neither the registry nor the abstract names a trial number. If this is a trial report, that itself is worth knowing.

3 · Its place in the literature

Who cites it

18 citing papers in PubMed, 1 synthesis or guideline pooled it.

  1. Pooled it
  2. Article
  3. Article
  4. Review
  5. Article
  6. Review
  7. Article
  8. Article
  9. Article
  10. Review
  11. Open-Source Machine Learning in Computational Chemistry.Journal of chemical information and modeling · 2023
    Review
  12. Article
  13. Article
  14. Article
  15. Article
  16. Review
  17. Article
  18. Review
4 · The record

Corrections and comments

PubMed lists nothing against this paper. Absence here is not a guarantee, only a check that was made.

5 · Who and what money

Authors and funding

5 authors.

Haley Hunter-ZinckBerkeley Institute for Data Science, University of California, Berkeley, Berkeley, California, United States of America.ORCID 0000-0001-5853-3668
Alexandre Fioravante de SiqueiraBerkeley Institute for Data Science, University of California, Berkeley, Berkeley, California, United States of America.ORCID 0000-0003-1320-4347
Váleri N VásquezBerkeley Institute for Data Science, University of California, Berkeley, Berkeley, California, United States of America.ORCID 0000-0003-2108-6459
Richard BarnesBerkeley Institute for Data Science, University of California, Berkeley, Berkeley, California, United States of America.
Ciera C MartinezBerkeley Institute for Data Science, University of California, Berkeley, Berkeley, California, United States of America.ORCID 0000-0003-4296-998X

Funding

No grant is acknowledged in the PubMed record.

6 · The paper itself

Abstract

Functional, usable, and maintainable open-source software is increasingly essential to scientific research, but there is a large variation in formal training for software development and maintainability. Here, we propose 10 "rules" centered on 2 best practice components: clean code and testing. These 2 areas are relatively straightforward and provide substantial utility relative to the learning investment. Adopting clean code practices helps to standardize and organize software code in order to enhance readability and reduce cognitive load for both the initial developer and subsequent contributors; this allows developers to concentrate on core functionality and reduce errors. Clean coding styles make software code more amenable to testing, including unit tests that work best with modular and consistent software code. Unit tests interrogate specific and isolated coding behavior to reduce coding errors and ensure intended functionality, especially as code increases in complexity; unit tests also implicitly provide example usages of code. Other forms of testing are geared to discover erroneous behavior arising from unexpected inputs or emerging from the interaction of complex codebases. Although conforming to coding styles and designing tests can add time to the software development project in the short term, these foundational tools can help to improve the correctness, quality, usability, and maintainability of open-source scientific software code. They also advance the principal point of scientific research: producing accurate results in a reproducible way. In addition to suggesting several tips for getting started with clean code and testing practices, we recommend numerous tools for the popular open-source scientific software languages Python, R, and Julia.

Indexed as

SoftwareSoftware DesignComputational BiologyProgramming LanguagesRegression Analysis

Identifiers

PMID34762641
PMCPMC8584773

What OpenQuestion holds

Textmetadata
LicenceCC BY
Read underepoch 390

Registered trials

None linked

Read under generation 80e0d062 · epoch 390. Bibliography from PubMed, PubMed Central and OpenAlex; grants from NIH RePORTER; trial links from ClinicalTrials.gov; estimates, votes and beliefs from the OpenQuestion graph.