A parallel graph decomposition algorithm for DNA sequencing with nanopores.
BACKGROUND
With the potential availability of nanopore devices that can sense the bases of translocating single-stranded DNA (ssDNA), it is likely that 'reads' of length approximately 10(5) will be available in large numbers and at high speed. We address the problem of complete DNA sequencing using such reads. We assume that approximately 10(2) copies of a DNA sequence are split into single strands that break into randomly sized pieces as they translocate the nanopore in arbitrary orientations. The nanopore senses and reports each individual base that passes through, but all information about orientation and complementarity of the ssDNA subsequences is lost. Random errors (both biological and transduction) in the reads create further complications.


RESULTS
We have developed an algorithm that addresses these issues. It can be considered an extreme variation of the well-known Eulerian path approach. It searches over a space of de Bruijn graphs until it finds one in which (a) the impact of errors is eliminated and (b) both possible orientations of the two ssDNA sequences can be identified separately and unambiguously. Our algorithm is able to correctly reconstruct real DNA sequences of the order of 10(6) bases (e.g. the bacterium Mycoplasma pneumoniae) from simulated erroneous reads on a modest workstation in about 1 h. We describe, and give measured timings of, a parallel implementation of this algorithm on the Cray Multithreaded Architecture (MTA-2) supercomputer, whose architecture is ideally suited to this 'unstructured' problem. Our parallel implementation is crucial to the problem of rapidly sequencing long DNA sequences and also to the situation where multiple nanopores are used to obtain a high-bandwidth stream of reads.
Bokhari
Shahid H
SH
Department of Electrical Engineering, UET Lahore-54890, Pakistan. shb@acm.org
Sauer
Jon R
JR
D000465:Algorithms; D001483:Base Sequence; D002874:Chromosome Mapping / Q000379:methods*; D003205:Computing Methodologies; D004269:DNA, Bacterial / Q000032:analysis / Q000235:genetics; D016680:Genome, Bacterial; D008969:Molecular Sequence Data; D009177:Mycoplasma pneumoniae / Q000235:genetics*; D036103:Nanotechnology / Q000379:methods*; D009716:Numerical Analysis, Computer-Assisted; D020411:Oligonucleotide Array Sequence Analysis / Q000379:methods*; D016415:Sequence Alignment / Q000379:methods*; D017422:Sequence Analysis, DNA / Q000379:methods*
D004269:DNA, Bacterial