Litcius/Paper detail

btllib: A C++ library with Python interface forefficient genomic sequence processing

Vladimir Nikolić, Parham Kazemi, Lauren Coombe, Johnathan Wong, Amirhossein Afshinfard, Justin Chu, René L. Warren, İnanç Birol

2022The Journal of Open Source Software12 citationsDOIOpen Access PDF

Abstract

Bioinformaticians often do not have software engineering training or background, and software quality is not the top priority of research groups due to limited time and funding Additionally, one-off scripts or code is frequently written to perform a specific task instead of reusing existing code. This could be because the pre-existing computer programming code is either not well written, not widely available, insufficiently documented, inefficient, or not general enough. This practice leads to lower quality and non-reusable code. As bioinformatics analyses are increasingly complex and deal with ever more data, high quality code is needed to handle the complexities of the analyses reliably and productively. The solution to this is well designed and documented libraries. For example, SeqAn Not all programmers are well versed in C++, so for users of widely used and accessible higher level programming languages such as Python, Biopython (Cock et al., 2009) is available as a set of Python modules with implementations of commonly needed algorithms. Here, we present the btllib library as an addition to this ecosystem with the goal of providing highly efficient, scalable, and ergonomic implementations of bioinformatics algorithms and data structures.

Topics & Concepts

Python (programming language)Computer scienceScripting languageScalabilityProgramming languageImplementationSoftwareReuseSource codeExtensibilityCode reuseSoftware engineeringOperating systemEcologyBiologyGenomics and Phylogenetic StudiesGenetics, Bioinformatics, and Biomedical ResearchMachine Learning in Bioinformatics
btllib: A C++ library with Python interface forefficient genomic sequence processing | Litcius