• Home
  • Search
  • A memory-efficient data structure representing exact-match overlap graphs with application for next-generation DNA assembly
  • Open Access IconOpen Access
  • Cite Icon16
  • https://doi.org/10.1093/bioinformatics/btr321Copy DOI Icon

A memory-efficient data structure representing exact-match overlap graphs with application for next-generation DNA assembly

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Exact-match overlap graphs have been broadly used in the context of DNA assembly and the shortest super string problem where the number of strings n ranges from thousands to billions. The length ℓ of the strings is from 25 to 1000, depending on the DNA sequencing technologies. However, many DNA assemblers using overlap graphs suffer from the need for too much time and space in constructing the graphs. It is nearly impossible for these DNA assemblers to handle the huge amount of data produced by the next-generation sequencing technologies where the number n of strings could be several billions. If the overlap graph is explicitly stored, it would require Ω(n(2)) memory, which could be prohibitive in practice when n is greater than a hundred million. In this article, we propose a novel data structure using which the overlap graph can be compactly stored. This data structure requires only linear time to construct and and linear memory to store. For a given set of input strings (also called reads), we can informally define an exact-match overlap graph as follows. Each read is represented as a node in the graph and there is an edge between two nodes if the corresponding reads overlap sufficiently. A formal description follows. The maximal exact-match overlap of two strings x and y, denoted by ov(max)(x, y), is the longest string which is a suffix of x and a prefix of y. The exact-match overlap graph of n given strings of length ℓ is an edge-weighted graph in which each vertex is associated with a string and there is an edge (x, y) of weight ω=ℓ-|ov(max)(x, y)| if and only if ω ≤ λ, where |ov(max)(x, y)| is the length of ov(max)(x, y) and λ is a given threshold. In this article, we show that the exact-match overlap graphs can be represented by a compact data structure that can be stored using at most (2λ-1)(2⌈logn⌉+⌈logλ⌉)n bits with a guarantee that the basic operation of accessing an edge takes O(log λ) time. We also propose two algorithms for constructing the data structure for the exact-match overlap graph. The first algorithm runs in O(λℓnlogn) worse-case time and requires O(λ) extra memory. The second one runs in O(λℓn) time and requires O(n) extra memory. Our experimental results on a huge amount of simulated data from sequence assembly show that the data structure can be constructed efficiently in time and memory. Our DNA sequence assembler that incorporates the data structure is freely available on the web at http://www.engr.uconn.edu/~htd06001/assembler/leap.zip

Similar Papers
  • Research Article
  • Citations13

Packed Compact Tries: A Fast and Efficient Data Structure for Online String Processing

  • Jan 01, 2017
  • IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
  • Takuya Takagi +3
  • Research Article
  • Citations8

A Deamortization Approach for Dynamic Spanner and Dynamic Maximal Matching

  • Oct 04, 2021
  • ACM Transactions on Algorithms
  • Aaron Bernstein +2
  • Research Article
  • Citations36

Scalable and queryable compressed storage structure for raster data

  • Oct 18, 2017
  • Information Systems
  • Susana Ladra +2
  • Research Article
  • Citations113

De novo assembly of viral quasispecies using overlap graphs.

  • Apr 10, 2017
  • Genome Research
  • Jasmijn A Baaijens +3
  • PDF
  • Research Article
  • Citations84

Assembly of chromosome-scale contigs by efficiently resolving repetitive sequences with long reads

  • Nov 25, 2019
  • Nature communications
  • Huilong Du +1
  • PDF
  • Conference Article
  • Citations5

CSR++: A Fast, Scalable, Update-Friendly Graph Data Structure

  • Dec 13, 2020
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Soukaina Firmli +7
  • Research Article

VISUALIZING GRAPH DATA STRUCTURES: ENHANCING UNDERSTANDING IN DATA STRUCTURES EDUCATION

  • Jan 01, 2024
  • Transactions of Kremenchuk Mykhailo Ostrohradskyi National University
  • Valeriy Kolesnikov
  • Conference Article
  • Citations7

Enforcing Crash Consistency of Evolving Network Analytics in Non-Volatile Main Memory Systems

  • Sep 01, 2019
  • Soklong Lim +3
  • Research Article
  • Citations7

Data structures for computer graphics

  • Feb 01, 1971
  • ACM SIGPLAN Notices
  • Marshall D Abrams
  • Book Chapter
  • Citations14

A Compact Topological DBMS Data Structure For 3D Topography

  • Jan 01, 2007
  • Friso Penninga +1
  • Supplementary Content

Architecting Query Compilers for Diverse Workloads

  • Jun 10, 2019
  • Figshare
  • Ruby Y Tahboub
  • Conference Article

Graph Processing with Different Data Structures

  • Nov 01, 2019
  • Mikhail Chernoskutov
  • Conference Article
  • Citations11

A performance analysis of hierarchical shortest path algorithms

  • Nov 03, 1997
  • A Fetterer +1
  • Conference Article
  • Citations2

Latest Advances in Solving the All-Pairs Suffix Prefix Problem

  • Jan 01, 2019
  • Maan Rachid
  • Book Chapter
  • Citations3

A Practical Succinct Data Structure for Tree-Like Graphs

  • Jan 01, 2015
  • Johannes Fischer +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.