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....
Autores principales: | , , , , , , , , , |
---|---|
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 |