Machine Boss: Rapid Prototyping of Bioinformatic Automata
MotivationMany C++ libraries for using Hidden Markov Models in bioinformatics focus on inference tasks, such as likelihood calculation, parameter-fitting, and alignment. However, construction of the state machines can be a laborious task, automation of which would be time-saving and less error-prone. ResultsWe present Machine Boss, a software tool implementing not just inference and parameter-fitting algorithms, but also a set of operations for manipulating and combining automata. The aim is to make prototyping of bioinformatics HMMs as quick and easy as the construction of regular expressions, with one-line "recipes" for many common applications. We report data from several illustrative examples involving protein-to-DNA alignment, DNA data storage, and nanopore sequence analysis. Availability and ImplementationMachine Boss is released under the BSD-3 open source license and is available from http://machineboss.org/. ContactIan Holmes, ihh@berkeley.edu