Cargando…

Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software

BACKGROUND: Bioinformatics software tools are often created ad hoc, frequently by people without extensive training in software development. In particular, for beginners, the barrier to entry in bioinformatics software development is high, especially if they want to adopt good programming practices....

Descripción completa

Detalles Bibliográficos
Autores principales: Georgeson, Peter, Syme, Anna, Sloggett, Clare, Chung, Jessica, Dashnow, Harriet, Milton, Michael, Lonsdale, Andrew, Powell, David, Seemann, Torsten, Pope, Bernard
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Oxford University Press 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6755254/
https://www.ncbi.nlm.nih.gov/pubmed/31544213
http://dx.doi.org/10.1093/gigascience/giz109
_version_ 1783453194253238272
author Georgeson, Peter
Syme, Anna
Sloggett, Clare
Chung, Jessica
Dashnow, Harriet
Milton, Michael
Lonsdale, Andrew
Powell, David
Seemann, Torsten
Pope, Bernard
author_facet Georgeson, Peter
Syme, Anna
Sloggett, Clare
Chung, Jessica
Dashnow, Harriet
Milton, Michael
Lonsdale, Andrew
Powell, David
Seemann, Torsten
Pope, Bernard
author_sort Georgeson, Peter
collection PubMed
description BACKGROUND: Bioinformatics software tools are often created ad hoc, frequently by people without extensive training in software development. In particular, for beginners, the barrier to entry in bioinformatics software development is high, especially if they want to adopt good programming practices. Even experienced developers do not always follow best practices. This results in the proliferation of poorer-quality bioinformatics software, leading to limited scalability and inefficient use of resources; lack of reproducibility, usability, adaptability, and interoperability; and erroneous or inaccurate results. FINDINGS: We have developed Bionitio, a tool that automates the process of starting new bioinformatics software projects following recommended best practices. With a single command, the user can create a new well-structured project in 1 of 12 programming languages. The resulting software is functional, carrying out a prototypical bioinformatics task, and thus serves as both a working example and a template for building new tools. Key features include command-line argument parsing, error handling, progress logging, defined exit status values, a test suite, a version number, standardized building and packaging, user documentation, code documentation, a standard open source software license, software revision control, and containerization. CONCLUSIONS: Bionitio serves as a learning aid for beginner-to-intermediate bioinformatics programmers and provides an excellent starting point for new projects. This helps developers adopt good programming practices from the beginning of a project and encourages high-quality tools to be developed more rapidly. This also benefits users because tools are more easily installed and consistent in their usage. Bionitio is released as open source software under the MIT License and is available at https://github.com/bionitio-team/bionitio.
format Online
Article
Text
id pubmed-6755254
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher Oxford University Press
record_format MEDLINE/PubMed
spelling pubmed-67552542019-09-26 Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software Georgeson, Peter Syme, Anna Sloggett, Clare Chung, Jessica Dashnow, Harriet Milton, Michael Lonsdale, Andrew Powell, David Seemann, Torsten Pope, Bernard Gigascience Technical Note BACKGROUND: Bioinformatics software tools are often created ad hoc, frequently by people without extensive training in software development. In particular, for beginners, the barrier to entry in bioinformatics software development is high, especially if they want to adopt good programming practices. Even experienced developers do not always follow best practices. This results in the proliferation of poorer-quality bioinformatics software, leading to limited scalability and inefficient use of resources; lack of reproducibility, usability, adaptability, and interoperability; and erroneous or inaccurate results. FINDINGS: We have developed Bionitio, a tool that automates the process of starting new bioinformatics software projects following recommended best practices. With a single command, the user can create a new well-structured project in 1 of 12 programming languages. The resulting software is functional, carrying out a prototypical bioinformatics task, and thus serves as both a working example and a template for building new tools. Key features include command-line argument parsing, error handling, progress logging, defined exit status values, a test suite, a version number, standardized building and packaging, user documentation, code documentation, a standard open source software license, software revision control, and containerization. CONCLUSIONS: Bionitio serves as a learning aid for beginner-to-intermediate bioinformatics programmers and provides an excellent starting point for new projects. This helps developers adopt good programming practices from the beginning of a project and encourages high-quality tools to be developed more rapidly. This also benefits users because tools are more easily installed and consistent in their usage. Bionitio is released as open source software under the MIT License and is available at https://github.com/bionitio-team/bionitio. Oxford University Press 2019-09-23 /pmc/articles/PMC6755254/ /pubmed/31544213 http://dx.doi.org/10.1093/gigascience/giz109 Text en © The Author(s) 2019. Published by Oxford University Press. http://creativecommons.org/licenses/by/4.0/ This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted reuse, distribution, and reproduction in any medium, provided the original work is properly cited.
spellingShingle Technical Note
Georgeson, Peter
Syme, Anna
Sloggett, Clare
Chung, Jessica
Dashnow, Harriet
Milton, Michael
Lonsdale, Andrew
Powell, David
Seemann, Torsten
Pope, Bernard
Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
title Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
title_full Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
title_fullStr Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
title_full_unstemmed Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
title_short Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
title_sort bionitio: demonstrating and facilitating best practices for bioinformatics command-line software
topic Technical Note
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6755254/
https://www.ncbi.nlm.nih.gov/pubmed/31544213
http://dx.doi.org/10.1093/gigascience/giz109
work_keys_str_mv AT georgesonpeter bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT symeanna bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT sloggettclare bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT chungjessica bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT dashnowharriet bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT miltonmichael bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT lonsdaleandrew bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT powelldavid bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT seemanntorsten bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware
AT popebernard bionitiodemonstratingandfacilitatingbestpracticesforbioinformaticscommandlinesoftware