BCC2020 has ended
➞ Set your timezone before doing anything else on this site (home page, on the right)
Limit what is shown by Type, Category, or Hemisphere
Registration closed July 15.

BCC2020 is online, global, and affordable. The meeting and training are now done, and the CoFest is under way.

The 2020 Bioinformatics Community Conference brings together the Bioinformatics Open Source Conference (BOSC) and the Galaxy Community Conference into a single event featuring training, a meeting, and a CollaborationFest. Events run from July 17 through July 25, and is held in both the eastern and western hemispheres.

Back To Schedule
Sunday, July 19 • 14:01 - 14:15
Bionitio: building better bioinformatics tools with batteries included 🍐

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

→ Abstract

The presenter(s) will be available for live Q&A in this session (BCC East).

Authors: Peter Georgeson, Anna Syme, Jessica Chung, Michael Milton, Harriet Dashnow, Andrew Lonsdale, Clare Sloggett, Bernard Pope
License: MIT
URL: https://github.com/bionitio-team/bionitio
Publication: Georgeson, Syme et al. Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software. Gigascience 8, (2019).

The results-driven focus of bioinformatics means that shortcuts are often taken during software development for the sake of making something "that works". Furthermore, many bioinformaticians are not trained in software engineering, and research-oriented projects have limited budgets for quality assurance.

In response to this problem 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 one of twelve 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, logging, defined exit status values, a test suite, a version number, standardised building and packaging, documentation, a standard open-source software license, revision control, and containerisation.

For example, the following command creates a new Python 3 project called skynet using the BSD 3 Clause license and creates a remote repository on GitHub for username cyberdyne:

bionitio-boot.sh -i python -n skynet -c BSD-3-Clause -g cyberdyne

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. Bionitio has been used in several workshops, providing a common codebase for coordination of workshop materials and an extensible platform for the delivery of hands-on practical activities. Additionally, by providing complete working examples in many different languages, Bionitio acts as a kind of "Rosetta Stone" and is therefore an excellent vehicle for comparative programming skills transfer.

In this talk we will describe the design and implementation of Bionitio and demonstrate how it can be used to quickly start new open source bioinformatics projects.

avatar for Bernie Pope

Bernie Pope

Victorian Health and Medical Research Fellow, Melbourne Bioinformatics, University of Melbourne
I am an Associate Professor at The University of Melbourne. My research focuses on applying computational techniques to biological questions, especially related to Human Genomics and Cancer.

Sunday July 19, 2020 14:01 - 14:15 EDT