bioRxiv ScienceSearch

Biology subjects

Silvestre-Ryan, J.

Publications and source records attributed to Silvestre-Ryan, J..

2 recordsLinked to original sources

Pair consensus decoding improves accuracy of neural network basecallers for nanopore sequencing

Nanopore technology allows for direct sequencing of individual DNA duplexes. However, its higher error rate compared to other sequencing methods has limited its application in situations where deep coverage is unavailable, such as detection of rare variants or characterization of highly polymorphic samples. In principle, 2X coverage is available even for single duplexes, using Oxford Nanopore Technologies 1D2 protocol or related methods which sequence both strands of the duplex consecutively. Using both strands should improve accuracy; however, most neural network basecaller architectures are designed to operate on single strands. We have developed a general approach for improving accuracy of 1D2 and related protocols by finding the consensus of two neural network basecallers, by combining a constrained profile-profile alignment with a heuristic variant of beam search. When run on a basecalling neural network we trained, our consensus algorithm improves median basecall accuracy from 86.2% (for single-read decoding) to 92.1% (for pair decoding). Our software can readily be adapted to work with the output of other basecallers, such as the recently released Bonito basecaller. Although Bonito operates only on individual strands and was not designed to leverage the 1D2 protocol, our method lifts its median accuracy from 93.3% to 97.7%, more than halving the median error rate. This surpasses the maximum accuracy achievable with Guppy, an alternate basecaller which was designed to include pair decoding of 1D2 reads. Our software PoreOver, including both our neural network basecaller and our consensus pair decoder (which can be separably applied to improve other basecallers), is implemented in Python 3 and C++11 and is freely available at https://github.com/jordisr/poreover.

bioinformatics

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

bioinformatics