Safe and Complete Contig Assembly Through Omnitigs

J Comput Biol. 2017 Jun;24(6):590-602. doi: 10.1089/cmb.2016.0141. Epub 2016 Oct 17.

Abstract

Contig assembly is the first stage that most assemblers solve when reconstructing a genome from a set of reads. Its output consists of contigs-a set of strings that are promised to appear in any genome that could have generated the reads. From the introduction of contigs 20 years ago, assemblers have tried to obtain longer and longer contigs, but the following question remains: given a genome graph G (e.g., a de Bruijn, or a string graph), what are all the strings that can be safely reported from G as contigs? In this article, we answer this question using a model in which the genome is a circular covering walk. We also give a polynomial-time algorithm to find such strings, which we call omnitigs. Our experiments show that omnitigs are 66%-82% longer on average than the popular unitigs, and 29% of dbSNP locations have more neighbors in omnitigs than in unitigs.

Keywords: contig assembly; genome assembly; graph algorithm; omnitig; safe and complete algorithm.

MeSH terms

  • Algorithms*
  • Contig Mapping / methods*
  • Genome, Human
  • High-Throughput Nucleotide Sequencing / methods*
  • Humans
  • Models, Genetic*
  • Sequence Analysis, DNA / methods*