Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Travis Gagie

dblp:00/3487 · DBLP profile ↗
← Back
161ranked-venue papers
68as first author
54since 2021 · last 2026
0000-0003-3689-327XORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 70 · 39 first-author · 18 since 2021Databases, data management, data science and information retrieval · 60 · 25 first-author · 21 since 2021Graphics, computer vision, multimedia, augmented reality and games · 43 · 15 first-author · 16 since 2021Applied, interdisciplinary, general and emerging computing · 18 · 3 first-author · 9 since 2021Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
11 papers
Algorithms and data structures · 80% Coding theory · 9% Graph algorithms and graph theory · 6%
Interdisciplinary, comprehensive, and emerging computing
10 papers
Bioinformatics and computational biology · 100%

Topics — the 30 heaviest of 39, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Bioinformatics and computational biology
genomics
2.032026
Response to: "best practices when benchmarking CATCH for the design of genome enrichment probes" · Bioinform. 2026
Syotti: scalable bait design for DNA enrichment · Bioinform. 2022
Efficient Construction of a Complete Index for Pan-Genomics Read Alignment · RECOMB 2019
Algorithms and data structures › sequence algorithms › string algorithms › string indexing
compressed index
1.942026
Fast and Small Subsampled R-indexes · ACM Trans. Algorithms 2026
Fully Functional Suffix Trees and Optimal Text Searching in BWT-Runs Bounded Space · J. ACM 2020
Optimal-Time Text Indexing in BWT-runs Bounded Space · SODA 2018
Bioinformatics and computational biology › sequence analysis
sequence indexing
1.722026
Movi 2: fast and space-efficient queries on pangenomes · Bioinform. 2026
μ- PBWT: a lightweight r-indexing of the PBWT for storing and querying UK Biobank data · Bioinform. 2023
Bioinformatics and computational biology
sequence alignment
1.632025
Columba: fast approximate pattern matching with optimized search schemes · Bioinform. 2025
Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019
Using Minimum Path Cover to Boost Dynamic Programming on DAGs: Co-linear Chaining Extended · RECOMB 2018
Algorithms and data structures › sequence algorithms › string algorithms › string indexing
suffix tree
1.422026
Compressing Suffix Trees by Path Decompositions · ICALP 2026
Fully Functional Suffix Trees and Optimal Text Searching in BWT-Runs Bounded Space · J. ACM 2020
Algorithms and data structures › sequence algorithms › string algorithms
string indexing
1.122026
Fast and Small Subsampled R-indexes · ACM Trans. Algorithms 2026
Efficient Construction of a Complete Index for Pan-Genomics Read Alignment · RECOMB 2019
Bioinformatics and computational biology › comparative genomics
pangenomics
1.012026
Movi 2: fast and space-efficient queries on pangenomes · Bioinform. 2026
Algorithms and data structures › sequence algorithms › string algorithms › string indexing › suffix tree
compressed suffix tree
1.012026
Compressing Suffix Trees by Path Decompositions · ICALP 2026
Algorithms and data structures › sequence algorithms › string algorithms
string matching
1.012026
Fast and Small Subsampled R-indexes · ACM Trans. Algorithms 2026
Algorithms and data structures › sequence algorithms › string algorithms › string indexing
suffix array
1.012026
Fast and Small Subsampled R-indexes · ACM Trans. Algorithms 2026
Algorithms and data structures › space-efficient algorithms
succinct data structures
0.922022
Syotti: scalable bait design for DNA enrichment · Bioinform. 2022
Optimal-Time Text Indexing in BWT-runs Bounded Space · SODA 2018
Bioinformatics and computational biology › sequence analysis
read mapping
0.912025
Columba: fast approximate pattern matching with optimized search schemes · Bioinform. 2025
Algorithms and data structures › data structure design › search structures › indexing
text indexing
0.822020
Fully Functional Suffix Trees and Optimal Text Searching in BWT-Runs Bounded Space · J. ACM 2020
Optimal-Time Text Indexing in BWT-runs Bounded Space · SODA 2018
Bioinformatics and computational biology › sequence alignment
co-linear chaining
0.722019
Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019
Using Minimum Path Cover to Boost Dynamic Programming on DAGs: Co-linear Chaining Extended · RECOMB 2018
Bioinformatics and computational biology › statistical genetics
haplotype analysis
0.712023
μ- PBWT: a lightweight r-indexing of the PBWT for storing and querying UK Biobank data · Bioinform. 2023
Bioinformatics and computational biology › genomics
positional burrows-wheeler transform
0.712023
μ- PBWT: a lightweight r-indexing of the PBWT for storing and querying UK Biobank data · Bioinform. 2023
Storage systems
data compression
0.612022
Improving Matrix-vector Multiplication via Lossless Grammar-Compressed Matrices · Proc. VLDB Endow. 2022
Computational complexity › algebraic complexity › matrix multiplication
matrix-vector multiplication
0.612022
Improving Matrix-vector Multiplication via Lossless Grammar-Compressed Matrices · Proc. VLDB Endow. 2022
Algorithms and data structures › sequence algorithms
string algorithms
0.612022
Syotti: scalable bait design for DNA enrichment · Bioinform. 2022
Coding theory › source coding
burrows-wheeler transform
0.412020
Fully Functional Suffix Trees and Optimal Text Searching in BWT-Runs Bounded Space · J. ACM 2020
Bioinformatics and computational biology › comparative genomics › pangenomics
pangenome indexing
0.412019
Efficient Construction of a Complete Index for Pan-Genomics Read Alignment · RECOMB 2019
Algorithms and data structures
dynamic programming
0.412019
Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019
Graph algorithms and graph theory › graph theory › graph covering › path cover
minimum path cover
0.412019
Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019
Graph algorithms and graph theory › graph theory › graph covering
path cover
0.412019
Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019
Algorithms and data structures › dynamic programming
sparse dynamic programming
0.412019
Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019
Bioinformatics and computational biology › sequence analysis › sequence assembly
de bruijn graph
0.312018
Practical dynamic de Bruijn graphs · Bioinform. 2018
Bioinformatics and computational biology › sequence analysis
sequence assembly
0.312018
Practical dynamic de Bruijn graphs · Bioinform. 2018
Coding theory
source coding
0.312018
Optimal-Time Text Indexing in BWT-runs Bounded Space · SODA 2018
Bioinformatics and computational biology
metagenomics
0.312026
Response to: "best practices when benchmarking CATCH for the design of genome enrichment probes" · Bioinform. 2026
Bioinformatics and computational biology
sequence analysis
0.312017
Succinct colored de Bruijn graphs · Bioinform. 2017

Methods — techniques the papers use, named apart from their topics

succinct data structures · 1.8grammar-based compression · 1.7column reordering · 1.7burrows-wheeler transform · 1.7FM-index · 1.2heuristic algorithm · 1.1run-length encoding · 1.1subsampling · 1.0sampling · 1.0benchmarking · 1.0run-length compression · 0.9bit-parallel alignment · 0.9bidirectional FM-index · 0.9range search tree · 0.8dynamic programming · 0.5
YearPublicationVenuePosition
2026 Merging RLBWTs Adaptively
abstract
We show how to merge two run-length compressed Burrows-Wheeler Transforms (RLBWTs) into a run-length compressed extended Burrows-Wheeler Transform (eBWT) in $O (r)$ space and $O ((r + L) \log (m + n))$ time, where $m$ and $n$ are the lengths of the uncompressed strings, $r$ is the number of runs in the final eBWT and $L$ is the sum of its irreducible LCP values.
Travis Gagie
CPM1
2026 Efficient Grammar Compression via RLZ-Based RePair
abstract
Among grammar-based compression techniques, RePair is a notable offline encoding scheme known for its simplicity and powerful combinatorial properties, producing compact grammars by repeatedly replacing the most frequent adjacent pairs of symbols, known as bigrams. However, RePair’s memory usage scales poorly with input size, as it loads the entire text into memory. In contrast, Relative Lempel-Ziv (RLZ) parsing offers a scalable and lightweight online encoding scheme that losslessly represents a text in terms of phrases that refer to a reference string, but it often fails to expose deeper structural patterns. We introduce an algorithm that produces a RePair grammar from the RLZ parse of the input, leveraging the strengths of both methods. Our method, RLZ-RePair, performs bigram replacements systematically, preserving the integrity of the RLZ phrases throughout the RePair iterations. When the reference is well chosen, our method achieves the same grammar as standard RePair while significantly reducing both memory usage and the number of bigram replacements. In particular, we show that RLZ-RePair can reduce memory usage by more than 80% while incurring only a modest runtime increase compared to RePair. To our knowledge, RLZ-RePair is one of the first scalable methods that constructs exact RePair grammars, resulting in a grammar-based compressor that is both practical for large datasets and faithful to the theoretical elegance of RePair.
Rahul Varki, Travis Gagie, Christina Boucher 0001
CPM2
2026 Incongruity-Sensitive Access to Highly Compressed Strings
abstract
Random access to highly compressed strings - represented by straight-line programs or Lempel-Ziv parses, for example - is a well-studied topic. Random access to such strings in strongly sublogarithmic time is impossible in the worst case, but previous authors have shown how to support faster access to specific characters and their neighbourhoods. In this paper we explore whether, since better compression can impede access, we can support faster access to less compressible substrings of highly compressed strings. We first show how, given a run-length compressed straight-line program (RLSLP) of size g_{rl} or a block tree of size L, we can build an O (g_{rl})-space or an O (L)-space data structure, respectively, that supports access to any character in time logarithmic in the length of the longest repeated substring containing that character. That is, the more "incongruous" a character is with respect to the characters around, the faster we can support access to it. We then prove a similar but more powerful and sophisticated result for parsings in which phrases' sources do not overlap much larger phrases, with the query time depending also on the number of phrases we must copy from their sources to obtain the queried character.
Ferdinando Cicalese, Travis Gagie, Zsuzsanna Lipták, Gonzalo Navarro 0001, Nicola Prezza, Cristian Urbina
ESA2
2026 Compressing Suffix Trees by Path Decompositions
Ruben Becker, Davide Cenzato, Travis Gagie, Ragnar Groot Koerkamp, Giovanni Manzini, Nicola Prezza
ICALP3
2026 Response to: "best practices when benchmarking CATCH for the design of genome enrichment probes"
abstract
We clarify the design principles and evaluation choices underlying Syotti, a robust and scalable probe-design tool developed to support large, heterogeneous bacterial datasets with minimal parameter tuning. We highlight Syotti's ability to perform simultaneous large-scale designs and its effectiveness as a reliable alternative when existing tools such as CATCH are not well suited to the problem setting.
Jarno Alanko, Ilya B. Slizovskiy, Daniel Lokshtanov, Travis Gagie, Noelle R. Noyes, Christina Boucher 0001
Bioinform.4
2026 Movi 2: fast and space-efficient queries on pangenomes
abstract
SUMMARY: Space-efficient compressed indexing methods are critical for pangenomics and for avoiding reference bias. In the Movi study, we implemented the move-structure index, highlighting its locality-of-reference and speed. However, Movi had a high memory footprint compared to other compressed indexes. Here, we introduce Movi 2 and describe new methods that greatly reduce size and memory footprint of move structure-based indexes. The most compressed version of Movi 2 reduces the Movi index's space footprint more than five-fold. We also introduce sampling approaches that enable trade-offs between query and space efficiency. To demonstrate, we show that Movi 2 achieves advantageous time and space tradeoffs when applied to large pangenome collections, including both the first and second releases of the Human Pangenome Reference Consortium (HPRC) collection, the latter of which spans over 460 human haplotypes. We show that Movi 2 dominates prior methods on both speed and memory footprint, including both r-index-based and our previous move-structure-based method. AVAILABILITY AND IMPLEMENTATION: The methods we developed for Movi 2 are publicly available at https://github.com/mohsenzakeri/Movi.
Mohsen Zakeri, Nathaniel K. Brown, Travis Gagie, Ben Langmead
Bioinform.3
2026 Fast and Small Subsampled R-indexes
abstract
The r -index (Gagie et al., JACM 2020) represented a breakthrough in compressed indexing of repetitive text collections, outperforming its alternatives by orders of magnitude in query time. Its space usage, \(\mathcal{O}(r)\) where \( r \) is the number of runs in the Burrows–Wheeler Transform of the text, is however higher than Lempel–Ziv and grammar-based indexes and makes it uninteresting in various real-life scenarios of milder repetitiveness. In this article, we introduce the sr -index , a variant that limits a large fraction of the space to \({\mathcal{O}}(\min(r,n/s))\) for a text of length \( n \) and a given parameter \( s \) , at the expense of multiplying by \( s \) the time per occurrence reported. The sr -index is obtained by carefully subsampling the text positions indexed by the r -index , in a way that we prove is still able to support pattern matching with guaranteed performance. Our experiments demonstrate that the theoretical analysis falls short in describing the practical advantages of the sr -index , because it performs much better on real texts than on synthetic ones: the sr -index retains the performance of the r -index while using 1.5–4.0 times less space, sharply outperforming virtually every other compressed index on repetitive texts in both time and space. Only a particular Lempel–Ziv-based index uses less space—about half—than the sr -index , but it is an order of magnitude slower. Our second contribution are the r -csa and sr -csa indexes. Just like the r -index adapts the well-known FM-Index to repetitive texts, the r -csa adapts Sadakane’s Compressed Suffix Array (CSA) to this case. We show that the principles used on the r -index turn out to fit naturally and efficiently in the CSA framework. The sr -csa is the corresponding subsampled version of the r -csa . While the CSA performs better than the FM-Index on classic texts with alphabets larger than DNA, our experiments show that the sr -csa outperforms the sr -index on repetitive texts not only over those larger alphabets, but on some DNA texts as well. Overall, our new subsampled indexes sweep the table of the existing indexes for highly repetitive text collection, by combining the exceptional speed of the r -index with drastically reduced storage use.
Dustin Cobas, Travis Gagie, Gonzalo Navarro 0001
ACM Trans. Algorithms2
2025 The Trie Measure, Revisited
abstract
In this paper, we study the following problem: given n subsets S₁, … , S_n of an integer universe U = {0,… , u-1}, having total cardinality N = ∑_{i = 1}ⁿ |S_i|, find a prefix-free encoding enc : U → {0,1}^+ minimizing the so-called trie measure, i.e., the total number of edges in the n binary tries T₁, … , T_n, where T_i is the trie packing the encoded integers {enc(x):x ∈ S_i}. We first observe that this problem is equivalent to that of merging u sets with the cheapest sequence of binary unions, a problem which in [Ghosh et al., ICDCS 2015] is shown to be NP-hard. Motivated by the hardness of the general problem, we focus on particular families of prefix-free encodings. We start by studying the fixed-length shifted encoding of [Gupta et al., Theoretical Computer Science 2007]. Given a parameter 0 ≤ a < u, this encoding sends each x ∈ U to (x + a) mod u, interpreted as a bit-string of log u bits. We develop the first efficient algorithms that find the value of a minimizing the trie measure when this encoding is used. Our two algorithms run in O(u + Nlog u) and O(Nlog² u) time, respectively. We proceed by studying ordered encodings (a.k.a. monotone or alphabetic), and describe an algorithm finding the optimal such encoding in O(N+u³) time. Within the same running time, we show how to compute the best shifted ordered encoding, provably no worse than both the optimal shifted and optimal ordered encodings. We provide implementations of our algorithms and discuss how these encodings perform in practice.
Jarno Alanko, Ruben Becker, Davide Cenzato, Travis Gagie, Bojana Kodric, Nicola Prezza
CPM4
2025 KeBaB: k-mer Based Breaking for Finding Long MEMs
Nathaniel K. Brown, Lore Depuydt, Mohsen Zakeri, Anas Alhadi, Nour Allam, Dove Begleiter, Nithin Bharathi Kabilan Karpagavalli, Suchith Sridhar Khajjayam, Hamza Wahed, Travis Gagie, Ben Langmead
SPIRE10
2025 Prefix-Free Parsing for Merging Big BWTs
Diego Díaz-Domínguez, Travis Gagie, Veronica Guerrini, Ben Langmead, Zsuzsanna Lipták, Giovanni Manzini, Francesco Masillo, Vikram Shivakumar
SPIRE2
2025 Columba: fast approximate pattern matching with optimized search schemes
abstract
MOTIVATION: Aligning sequencing reads to reference genomes is a fundamental task in bioinformatics. Aligners can be classified as lossy or lossless: lossy aligners prioritize speed by reporting only one or a few high-scoring alignments, whereas lossless aligners output all optimal alignments, ensuring completeness and sensitivity. RESULTS: This paper introduces Columba, a high-performance lossless aligner tailored for Illumina sequencing data. Columba processes single or paired-end reads in FASTQ format and outputs alignments in SAM format. By utilizing advanced search schemes and bit-parallel alignment techniques, Columba achieves exceptional speed. Columba is available in two variants. The first, based on the bidirectional FM-index, prioritizes speed. The second, Columba RLC, uses run-length compression using a bidirectional move structure, significantly reducing memory usage for large, repetitive datasets like pan-genomes. Benchmarks on the human genome, as well as bacterial and human pan-genome datasets, demonstrate that Columba is much faster than existing lossless aligners and even competitive with lossy tools. We integrated Columba into the OptiType HLA genotyping pipeline, where it substantially reduced computational time while maintaining accuracy. These results position Columba as a versatile, state-of-the-art tool for high-sensitivity genomic analyses. AVAILABILITY AND IMPLEMENTATION: The source code of Columba is available at https://github.com/biointec/columba under AGPL license. Scripts to reproduce the benchmarks and analyses are available at https://doi.org/10.5281/zenodo.15849246.
Luca Renders, Lore Depuydt, Travis Gagie, Jan Fostier
Bioinform.3
2025 Preface to "Computation over Compressed Data" at DCC 2022
Travis Gagie, Nicola Prezza
Inf. Comput.1
2024 Solving the Minimal Positional Substring Cover Problem in Sublinear Space
Paola Bonizzoni, Christina Boucher 0001, Davide Cozzi, Travis Gagie, Yuri Pirola
CPM4
2024 Faster Maximal Exact Matches with Lazy LCP Evaluation
abstract
2022) is a BWT-based compressed index for computing the matching statistics and maximal exact matches (MEMs) of a pattern (usually a DNA read) with respect to a highly repetitive text (usually a database of genomes) using two operations: LF-steps and longest common extension (LCE) queries on a grammar-compressed representation of the text. In practice, most of the operations are constant-time LF-steps but most of the time is spent evaluating LCE queries. In this paper we show how (a variant of) the latter can be evaluated lazily, so as to bound the total time MONI needs to process the pattern in terms of the number of MEMs between the pattern and the text, while maintaining logarithmic latency.
Adrián Goga, Lore Depuydt, Nathaniel K. Brown, Jan Fostier, Travis Gagie, Gonzalo Navarro 0001
DCC5
2024 Another virtue of wavelet forests
abstract
The FM-index is one of the main success stories of the field of compact data structures and is a key part of many important tools in bioinformatics. Its primary weakness is a lack of access locality, with each step in a backward search typically causing several cache misses. If the indexed text is more than about lg σ times the size of cache, where σ is the size of the alphabet, then the bitvector at each level of the wavelet tree over the Burrows-Wheeler Transform (BWT) of the text may by itself be larger than cache — causing a cache miss as we descend from each level of the wavelet tree to the next. The resulting slowdown can be enough to cause practitioners to switch from FM-indexes to compressed suffix arrays, which have somewhat better locality.
Aaron Hong, Christina Boucher 0001, Travis Gagie, Norbert Zeh
DCC3
2024 How to Find Long Maximal Exact Matches and Ignore Short Ones
Travis Gagie
DLT1
2024 Wheeler Maps
Andrej Baláz, Travis Gagie, Adrián Goga, Simon Heumos, Gonzalo Navarro 0001, Alessia Petescia, Jouni Sirén
LATIN (1)2
2024 Space-Efficient Conversions from SLPs
Travis Gagie, Adrián Goga, Artur Jez, Gonzalo Navarro 0001
LATIN (1)1
2024 Another Virtue of Wavelet Forests
Aaron Hong, Christina Boucher 0001, Travis Gagie, Norbert Zeh
SPIRE3
2024 b-move: Faster Bidirectional Character Extensions in a Run-Length Compressed Index
Lore Depuydt, Luca Renders, Simon Van de Vyver, Lennart Veys, Travis Gagie, Jan Fostier
WABI5
2024 Taxonomic Classification with Maximal Exact Matches in KATKA Kernels and Minimizer Digests
abstract
; a minimizer digest; ■ a KATKA kernel of a minimizer digest. With a test dataset and these three representations of it, simulated reads and various parameter settings, we checked how many reads' longest MEMs occurred only in the sequences from which those reads were generated ("true positive" reads). For some parameter settings we achieved significant compression while only slightly decreasing the true-positive rate.
Dominika Draesslerová, Omar Y. Ahmed, Travis Gagie, Jan Holub 0001, Ben Langmead, Giovanni Manzini, Gonzalo Navarro 0001
SEA3
2024 Two-Dimensional Block Trees
abstract
Abstract The Block Tree is a data structure for representing repetitive sequences in compressed space, which reaches space comparable with that of Lempel–Ziv compression while retaining fast direct access to any position in the sequence. In this paper, we generalize Block Trees to two dimensions, in order to exploit repetitive patterns in the representation of images, matrices and other kinds of bidimensional data. We demonstrate the practicality of the two-dimensional Block Trees (2D-BTs) in representing the adjacency matrices of Web graphs, and raster images in GIS applications. For this purpose, we integrate our 2D-BT with the $k^2$-tree—an efficient structure that exploits clustering and sparseness to compress adjacency matrices—so that it also exploits repetitive patterns. Our experiments show that this structure uses 60–80% of the space of the original $k^2$-tree, while being 30% faster to three times slower when accessing cells.
Nieves R. Brisaboa, Travis Gagie, Adrián Gómez-Brandón, Gonzalo Navarro 0001
Comput. J.2
2023 Sum-of-Local-Effects Data Structures for Separable Graphs
Xing Lyu, Travis Gagie, Meng He 0001, Yakov Nekrich, Norbert Zeh
COCOON (1)2
2023 MONI Can Find k-MEMs
abstract
FM-indexes are a crucial data structure in DNA alignment, but searching with them usually takes at least one random access per character in the query pattern. Ferragina and Fischer [Ferragina and Fischer, 2007] observed in 2007 that word-based indexes often use fewer random accesses than character-based indexes, and thus support faster searches. Since DNA lacks natural word-boundaries, however, it is necessary to parse it somehow before applying word-based FM-indexing. Last year, Deng et al. [Deng et al., 2022] proposed parsing genomic data by induced suffix sorting, and showed the resulting word-based FM-indexes support faster counting queries than standard FM-indexes when patterns are a few thousand characters or longer. In this paper we show that using prefix-free parsing - which takes parameters that let us tune the average length of the phrases - instead of induced suffix sorting, gives a significant speedup for patterns of only a few hundred characters. We implement our method and demonstrate it is between 3 and 18 times faster than competing methods on queries to GRCh38. And was consistently faster on queries made to 25,000, 50,000 and 100,000 SARS-CoV-2 genomes. Hence, it is very clear that our method accelerates the performance of count over all state-of-the-art methods with a minor increase in the memory.
Igor Tatarnikov, Ardavan Shahrabi Farahani, Sana Kashgouli, Travis Gagie
CPM4
2023 Computing matching statistics on Wheeler DFAs
abstract
Matching statistics were introduced to solve the approximate string matching problem, which is a recurrent subroutine in bioinformatics applications. In 2010, Ohlebusch et al. [SPIRE 2010] proposed a time and space efficient algorithm for computing matching statistics which relies on some components of a compressed suffix tree - notably, the longest common prefix (LCP) array. In this paper, we show how their algorithm can be generalized from strings to Wheeler deterministic finite automata. Most importantly, we introduce a notion of LCP array for Wheeler automata, thus establishing a first clear step towards extending (compressed) suffix tree functionalities to labeled graphs.
Alessio Conte, Nicola Cotumaccio, Travis Gagie, Giovanni Manzini, Nicola Prezza, Marinella Sciortino
DCC3
2023 Augmented Thresholds for MONI
abstract
MONI (Rossi et al., 2022) can store a pangenomic dataset T in small space and later, given a pattern P, quickly find the maximal exact matches (MEMs) of P with respect to T. In this paper we consider its one-pass version (Boucher et al., 2021), whose query times are dominated in our experiments by longest common extension (LCE) queries. We show how a small modification lets us avoid most of these queries which significantly speeds up MONI in practice while only slightly increasing its size.
César Martínez-Guardiola, Nathaniel K. Brown, Fernando Silva-Coira, Dominik Köppl, Travis Gagie, Susana Ladra
DCC5
2023 Recursive Prefix-Free Parsing for Building Big BWTs
Marco Oliva, Travis Gagie, Christina Boucher 0001
DCC2
2023 Data Structures for SMEM-Finding in the PBWT
Paola Bonizzoni, Christina Boucher 0001, Davide Cozzi, Travis Gagie, Dominik Köppl, Massimiliano Rossi 0001
SPIRE4
2023 Space-Time Trade-Offs for the LCP Array of Wheeler DFAs
Nicola Cotumaccio, Travis Gagie, Dominik Köppl, Nicola Prezza
SPIRE2
2023 Dynamic Compact Planar Embeddings
Travis Gagie, Meng He 0001, Michael St Denis
SPIRE1
2023 A Simple Grammar-Based Index for Finding Approximately Longest Common Substrings
Travis Gagie, Sana Kashgouli, Gonzalo Navarro 0001
SPIRE1
2023 Acceleration of FM-Index Queries Through Prefix-Free Parsing
abstract
FM-indexes are a crucial data structure in DNA alignment, for example, but searching with them usually takes at least one random access per character in the query pattern. Ferragina and Fischer [5] observed in 2007 that word-based indexes often use fewer random accesses than character-based indexes, and thus support faster searches. Since DNA lacks natural word-boundaries, however, it is necessary to parse it somehow before applying word-based FM-indexing. Last year, Deng et al. [3] proposed parsing genomic data by induced suffix sorting, and showed the resulting word-based FM-indexes support faster counting queries than standard FM-indexes when patterns are a few thousand characters or longer. In this paper we show that using prefix-free parsing-which takes parameters that let us tune the average length of the phrases-instead of induced suffix sorting, gives a significant speedup for patterns of only a few hundred characters. We implement our method and demonstrate it is between 3 and 18 times faster than competing methods on queries to GRCh38. And was consistently faster on queries made to 25,000, 50,000 and 100,000 SARS-CoV-2 genomes. Hence, it is very clear that our method accelerates the performance of count over all state-of-the-art methods with a minor increase in the memory. The source code for PFP-FM is available at https://github.com/marco-oliva/afm.
Aaron Hong, Marco Oliva, Dominik Köppl, Hideo Bannai, Christina Boucher 0001, Travis Gagie
WABI6
2023 μ- PBWT: a lightweight r-indexing of the PBWT for storing and querying UK Biobank data
abstract
MOTIVATION: The Positional Burrows-Wheeler Transform (PBWT) is a data structure that indexes haplotype sequences in a manner that enables finding maximal haplotype matches in h sequences containing w variation sites in O(hw) time. This represents a significant improvement over classical quadratic-time approaches. However, the original PBWT data structure does not allow for queries over Biobank panels that consist of several millions of haplotypes, if an index of the haplotypes must be kept entirely in memory. RESULTS: In this article, we leverage the notion of r-index proposed for the BWT to present a memory-efficient method for constructing and storing the run-length encoded PBWT, and computing set maximal matches (SMEMs) queries in haplotype sequences. We implement our method, which we refer to as μ-PBWT, and evaluate it on datasets of 1000 Genome Project and UK Biobank data. Our experiments demonstrate that the μ-PBWT reduces the memory usage up to a factor of 20% compared to the best current PBWT-based indexing. In particular, μ-PBWT produces an index that stores high-coverage whole genome sequencing data of chromosome 20 in about a third of the space of its BCF file. μ-PBWT is an adaptation of techniques for the run-length compressed BWT for the PBWT (RLPBWT) and it is based on keeping in memory only a succinct representation of the RLPBWT that still allows the efficient computation of set maximal matches (SMEMs) over the original panel. AVAILABILITY AND IMPLEMENTATION: Our implementation is open source and available at https://github.com/dlcgold/muPBWT. The binary is available at https://bioconda.github.io/recipes/mupbwt/README.html.
Davide Cozzi, Massimiliano Rossi 0001, Simone Rubinacci, Travis Gagie, Dominik Köppl, Christina Boucher 0001, Paola Bonizzoni
Bioinform.4
2023 Faster compressed quadtrees
Guillermo de Bernardo, Travis Gagie, Susana Ladra, Gonzalo Navarro 0001, Diego Seco Naveiras
J. Comput. Syst. Sci.2
2022 RLBWT Tricks
abstract
Until recently, most experts would probably have said we cannot backwards-step in constant time with a run-length compressed Burrows-Wheeler Transform (RLBWT), since doing so relies on rank queries on sparse bitvectors and those inherit lower bounds from predecessor queries. At ICALP'21, however, Nishimoto and Tabei [1] described a new, simple and constant-time implementation.
Nathaniel K. Brown, Travis Gagie, Massimiliano Rossi 0001
DCC2
2022 Simple Worst-Case Optimal Adaptive Prefix-Free Coding
abstract
Suppose we want to store a string$S[1..n]$over an alphabet of size$\sigma$using adaptive prefix-free coding with fast encoding and decoding. If we are not too concerned about compression, we can process$/\mathrm{S}$in blocks of$\sigma$characters as follows: we encode or decode the first block with a Shannon code for the uniform distribution; to encode or decode the$ith$block, for$i > 1$, we build a Shannon code for the average of the distribution of characters we have seen so far and of the uniform distribution; since this averaged distribution assigns each character probability at least$1/(2\sigma)$(even when we have not seen it), the code-tree has height at most$[\text{lg}(2\sigma)] < \text{lg}\sigma+2$and can be represented with an$O(\sigma)$-space table that takes$O(\sigma)$time to build and allows constant-time encoding and decoding of characters - so we process the block in constant time per character. We store the first$\sigma$copies of each distinct character using fewer than$\text{lg}\sigma+2$bits each and, for$j > \sigma$, we store the$j\text{th}$copy$S[k]$using at most$\left[\text{lg}(\frac{1}{2}(\frac{j-\sigma+1}{\sigma\lfloor(k-1)/\sigma\rfloor}+\frac{1}{\sigma}))^{-1}\right]< \text{lg}\frac{k}{j-\sigma+1}+2$bits. Fairly straight forward calculation shows that when$\sigma\ll n$, we store at most$n(H+2)+o(n)$bits overall, where$H$is the entropy of the distribution of characters in$S$.
Travis Gagie
DCC1
2022 CSTs for Terabyte-Sized Data
abstract
Generating pangenomic datasets is becoming increasingly common but there are still few tools able to handle them and even fewer accessible to non-specialists. Building compressed suffix trees (CSTs) for pangenomic datasets is still a major challenge but could be enormously beneficial to the community. In this paper, we present a method, which we refer to as RePFP-CST, for building CSTs in a manner that is scalable. To accomplish this, we show how to build a CST directly from VCF files without decompressing them, and to prune from the prefix-free parse (PFP) phrase boundaries whose removal reduces the total size of the dictionary and the parse. We show that these improvements reduce the time and space required for the construction of the CST, and the memory footprint of the finished CST, enabling us to build a CST for a terabyte of DNA for the first time in the literature.
Marco Oliva, Davide Cenzato, Massimiliano Rossi 0001, Zsuzsanna Lipták, Travis Gagie, Christina Boucher 0001
DCC5
2022 Simple Worst-Case Optimal Adaptive Prefix-Free Coding
Travis Gagie
ESA1
2022 On Representing the Degree Sequences of Sublogarithmic-Degree Wheeler Graphs
Travis Gagie
SPIRE1
2022 KATKA: A KRAKEN-Like Tool with k Given at Query Time
Travis Gagie, Sana Kashgouli, Ben Langmead
SPIRE1
2022 RLBWT Tricks
abstract
Until recently, most experts would probably have agreed we cannot backwards-step in constant time with a run-length compressed Burrows-Wheeler Transform (RLBWT), since doing so relies on rank queries on sparse bitvectors and those inherit lower bounds from predecessor queries. At ICALP '21, however, Nishimoto and Tabei described a new, simple and constant-time implementation. For a permutation $π$, it stores an $O (r)$-space table -- where $r$ is the number of positions $i$ where either $i = 0$ or $π(i + 1) \neq π(i) + 1$ -- that enables the computation of successive values of $π(i)$ by table look-ups and linear scans. Nishimoto and Tabei showed how to increase the number of rows in the table to bound the length of the linear scans such that the query time for computing $π(i)$ is constant while maintaining $O (r)$-space. In this paper we refine Nishimoto and Tabei's approach, including a time-space tradeoff, and experimentally evaluate different implementations demonstrating the practicality of part of their result. We show that even without adding rows to the table, in practice we almost always scan only a few entries during queries. We propose a decomposition scheme of the permutation $π$ corresponding to the LF-mapping that allows an improved compression of the data structure, while limiting the query time. We tested our implementation on real-world genomic datasets and found that without compression of the table, backward-stepping is drastically faster than with sparse bitvector implementations but, unfortunately, also uses drastically more space. After compression, backward-stepping is competitive both in time and space with the best existing implementations.
Nathaniel K. Brown, Travis Gagie, Massimiliano Rossi 0001
SEA2
2022 Syotti: scalable bait design for DNA enrichment
abstract
MOTIVATION: Bait enrichment is a protocol that is becoming increasingly ubiquitous as it has been shown to successfully amplify regions of interest in metagenomic samples. In this method, a set of synthetic probes ('baits') are designed, manufactured and applied to fragmented metagenomic DNA. The probes bind to the fragmented DNA and any unbound DNA is rinsed away, leaving the bound fragments to be amplified for sequencing. Metsky et al. demonstrated that bait-enrichment is capable of detecting a large number of human viral pathogens within metagenomic samples. RESULTS: We formalize the problem of designing baits by defining the Minimum Bait Cover problem, show that the problem is NP-hard even under very restrictive assumptions, and design an efficient heuristic that takes advantage of succinct data structures. We refer to our method as Syotti. The running time of Syotti shows linear scaling in practice, running at least an order of magnitude faster than state-of-the-art methods, including the method of Metsky et al. At the same time, our method produces bait sets that are smaller than the ones produced by the competing methods, while also leaving fewer positions uncovered. Lastly, we show that Syotti requires only 25 min to design baits for a dataset comprised of 3 billion nucleotides from 1000 related bacterial substrains, whereas the method of Metsky et al. shows clearly super-linear running time and fails to process even a subset of 17% of the data in 72 h. AVAILABILITY AND IMPLEMENTATION: https://github.com/jnalanko/syotti. SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.
Jarno Alanko, Ilya B. Slizovskiy, Daniel Lokshtanov, Travis Gagie, Noelle R. Noyes, Christina Boucher 0001
Bioinform.4
2022 Preface to Special Issue for DCC 2020
Travis Gagie
Inf. Comput.1
2022 Improving Matrix-vector Multiplication via Lossless Grammar-Compressed Matrices
abstract
As nowadays Machine Learning (ML) techniques are generating huge data collections, the problem of how to efficiently engineer their storage and operations is becoming of paramount importance. In this article we propose a new lossless compression scheme for real-valued matrices which achieves efficient performance in terms of compression ratio and time for linear-algebra operations. Experiments show that, as a compressor, our tool is clearly superior to gzip and it is usually within 20% of xz in terms of compression ratio. In addition, our compressed format supports matrix-vector multiplications in time and space proportional to the size of the compressed representation, unlike gzip and xz that require the full decompression of the compressed matrix. To our knowledge our lossless compressor is the first one achieving time and space complexities which match the theoretical limit expressed by the k -th order statistical entropy of the input. To achieve further time/space reductions, we propose column-reordering algorithms hinging on a novel column-similarity score. Our experiments on various data sets of ML matrices show that our column reordering can yield a further reduction of up to 16% in the peak memory usage during matrix-vector multiplication. Finally, we compare our proposal against the state-of-the-art Compressed Linear Algebra (CLA) approach showing that ours runs always at least twice faster (in a multi-thread setting), and achieves better compressed space occupancy and peak memory usage. This experimentally confirms the provably effective theoretical bounds we show for our compressed-matrix approach.
Paolo Ferragina, Giovanni Manzini, Travis Gagie, Dominik Köppl, Gonzalo Navarro 0001, Manuel Striani, Francesco Tosoni 0001
Proc. VLDB Endow.3
2022 Efficient and compact representations of some non-canonical prefix-free codes
Antonio Fariña, Travis Gagie, Szymon Grabowski, Giovanni Manzini, Gonzalo Navarro 0001, Alberto Ordóñez Pereira
Theor. Comput. Sci.2
2021 PFP Compressed Suffix Trees
abstract
Prefix-free parsing (PFP) was introduced by Boucher et al. (2019) as a preprocessing step to ease the computation of Burrows-Wheeler Transforms (BWTs) of genomic databases. Given a string S, it produces a dictionary D and a parse P of overlapping phrases such that BWT(S) can be computed from D and P in time and workspace bounded in terms of their combined size |PFP(S)|. In practice D and P are significantly smaller than S and computing BWT(S) from them is more efficient than computing it from S directly, at least when S is the concatenation of many genomes. In this paper, we consider PFP(S) as a data structure and show how it can be augmented to support full suffix tree functionality, still built and fitting within O(|PFP(S)|) space. This entails the efficient computation of various primitives to simulate the suffix tree: computing a longest common extension (LCE) of two positions in S; reading any cell of its suffix array (SA), of its inverse (ISA), of its BWT, and of its longest common prefix array (LCP); and computing minima over ranges and next/previous smaller value queries over the LCP. Our experimental results show that the PFP suffix tree can be efficiently constructed for very large repetitive datasets and that its operations perform competitively with other compressed suffix trees that can only handle much smaller datasets.
Christina Boucher 0001, Ondrej Cvacho, Travis Gagie, Jan Holub 0001, Giovanni Manzini, Gonzalo Navarro 0001, Massimiliano Rossi 0001
ALENEX3
2021 A Fast and Small Subsampled R-Index
abstract
Compressed full-text indexes are one of the main success stories of bioinformatics data structures but even they struggle to handle some DNA readsets. This may seem surprising since, at least when dealing with short reads from the same individual, the readset will be highly repetitive and, thus, highly compressible. If we are not careful, however, this advantage can be more than offset by two disadvantages: first, since most base pairs are included in at least tens reads each, the uncompressed readset is likely to be at least an order of magnitude larger than the individual’s uncompressed genome; second, these indexes usually pay some space overhead for each string they store, and the total overhead can be substantial when dealing with millions of reads. The most successful compressed full-text indexes for readsets so far are based on the Extended Burrows-Wheeler Transform (EBWT) and use a sorting heuristic to try to reduce the space overhead per read, but they still treat the reads as separate strings and thus may not take full advantage of the readset’s structure. For example, if we have already assembled an individual’s genome from the readset, then we can usually use it to compress the readset well: e.g., we store the gap-coded list of reads' starting positions; we store the list of their lengths, which is often highly compressible; and we store information about the sequencing errors, which are rare with short reads. There is nowhere, however, where we can plug an assembled genome into the EBWT. In this paper we show how to use one or more assembled or partially assembled genome as the basis for a compressed full-text index of its readset. Specifically, we build a labelled tree by taking the assembled genome as a trunk and grafting onto it the reads that align to it, at the starting positions of their alignments. Next, we compute the eXtended Burrows-Wheeler Transform (XBWT) of the resulting labelled tree and build a compressed full-text index on that. Although this index can occasionally return false positives, it is usually much more compact than the alternatives. Following the established practice for datasets with many repetitions, we compare different full-text indices by looking at the number of runs in the transformed strings. For a human Chr19 readset our preliminary experiments show that eliminating separators characters from the EBWT reduces the number of runs by 19%, from 220 million to 178 million, and using the XBWT reduces it by a further 15%, to 150 million.
Dustin Cobas, Travis Gagie, Gonzalo Navarro 0001
CPM2
2021 PHONI: Streamed Matching Statistics with Multi-Genome References
abstract
Computing the matching statistics of patterns with respect to a text is a fundamental task in bioinformatics, but a formidable one when the text is a highly compressed genomic database. Bannai et al. gave an efficient solution for this case, which Rossi et al. recently implemented, but it uses two passes over the patterns and buffers a pointer for each character during the first pass. In this paper, we simplify their solution and make it streaming, at the cost of slowing it down slightly. This means that, first, we can compute the matching statistics of several long patterns (such as whole human chromosomes) in parallel while still using a reasonable amount of RAM; second, we can compute matching statistics online with low latency and thus quickly recognize when a pattern becomes incompressible relative to the database. Our code is available at https://github.com/koeppl/phoni.
Christina Boucher 0001, Travis Gagie, Tomohiro I, Dominik Köppl, Ben Langmead, Giovanni Manzini, Gonzalo Navarro 0001, Alejandro Pacheco, Massimiliano Rossi 0001
DCC2
2021 Efficiently Merging r-indexes
abstract
Large sequencing projects, such as GenomeTrakr and MetaSub, are updated frequently (sometimes daily, in the case of GenomeTrakr) with new data. Therefore, it is imperative that any data structure indexing such data supports efficient updates. Toward this goal, Bannai et al. (TCS, 2020) proposed a data structure named dynamic r-index which is suitable for large genome collections and supports incremental construction; however, it is still not powerful enough to support substantial updates. Here, we develop a novel algorithm for updating the r-index, which we refer to as RIMERGE. Fundamental to our algorithm is the combination of the basics of the dynamic r-index with a known algorithm for merging Burrows-Wheeler Transforms (BWTs). As a result, RIMERGE is capable of performing batch updates in a manner that exploits parallelism while keeping the memory overhead small. We compare our method to the dynamic r-index of Bannai et al. using two different datasets, and show that RIMERGE is between 1.88 to 5.34 times faster on reasonably large inputs.
Marco Oliva, Massimiliano Rossi 0001, Jouni Sirén, Giovanni Manzini, Tamer Kahveci, Travis Gagie, Christina Boucher 0001
DCC6
2021 Compressing and Indexing Aligned Readsets
abstract
Compressed full-text indexes are one of the main success stories of bioinformatics data structures but even they struggle to handle some DNA readsets. This may seem surprising since, at least when dealing with short reads from the same individual, the readset will be highly repetitive and, thus, highly compressible. If we are not careful, however, this advantage can be more than offset by two disadvantages: first, since most base pairs are included in at least tens reads each, the uncompressed readset is likely to be at least an order of magnitude larger than the individual's uncompressed genome; second, these indexes usually pay some space overhead for each string they store, and the total overhead can be substantial when dealing with millions of reads. The most successful compressed full-text indexes for readsets so far are based on the Extended Burrows-Wheeler Transform (EBWT) and use a sorting heuristic to try to reduce the space overhead per read, but they still treat the reads as separate strings and thus may not take full advantage of the readset's structure. For example, if we have already assembled an individual's genome from the readset, then we can usually use it to compress the readset well: e.g., we store the gap-coded list of reads' starting positions; we store the list of their lengths, which is often highly compressible; and we store information about the sequencing errors, which are rare with short reads. There is nowhere, however, where we can plug an assembled genome into the EBWT. In this paper we show how to use one or more assembled or partially assembled genome as the basis for a compressed full-text index of its readset. Specifically, we build a labelled tree by taking the assembled genome as a trunk and grafting onto it the reads that align to it, at the starting positions of their alignments. Next, we compute the eXtended Burrows-Wheeler Transform (XBWT) of the resulting labelled tree and build a compressed full-text index on that. Although this index can occasionally return false positives, it is usually much more compact than the alternatives. Following the established practice for datasets with many repetitions, we compare different full-text indices by looking at the number of runs in the transformed strings. For a human Chr19 readset our preliminary experiments show that eliminating separators characters from the EBWT reduces the number of runs by 19%, from 220 million to 178 million, and using the XBWT reduces it by a further 15%, to 150 million.
Travis Gagie, Garance Gourdel, Giovanni Manzini
WABI1
2021 Range Majorities and Minorities in Arrays
Djamal Belazzougui, Travis Gagie, J. Ian Munro, Gonzalo Navarro 0001, Yakov Nekrich
Algorithmica2
2021 An index for moving objects with constant-time access to their compressed trajectories
abstract
As the number of vehicles and devices equipped with GPS technology has grown explosively, an urgent need has arisen for time- and space-efficient data structures to represent their trajectories. The most commonly desired queries are the following: queries about an object’s trajectory, range queries, and nearest neighbor queries. In this paper, we consider that the objects can move freely and we present a new compressed data structure for storing their trajectories, based on a combination of logs and snapshots, with the logs storing sequences of the objects’ relative movements and the snapshots storing their absolute positions sampled at regular time intervals. We call our data structure ContaCT because it provides Constant- time access to Compressed Trajectories. Its logs are based on a compact partial-sums data structure that returns cumulative displacement in constant time, and allows us to compute in constant time any object’s position at any instant, enabling a speedup when processing several other queries. We have compared ContaCT experimentally with another compact data structure for trajectories, called GraCT, and with a classic spatio-temporal index, the MVR-tree. Our results show that ContaCT outperforms the MVR-tree by orders of magnitude in space and also outperforms the compressed representation in time performance.
Nieves R. Brisaboa, Travis Gagie, Adrián Gómez-Brandón, Gonzalo Navarro 0001, José R. Paramá
Int. J. Geogr. Inf. Sci.2
2021 Block trees
Djamal Belazzougui, Manuel Cáceres, Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Gonzalo Navarro 0001, Alberto Ordóñez Pereira, Simon J. Puglisi, Yasuo Tabei
J. Comput. Syst. Sci.3
2021 Maximal unbordered factors of random strings
Patrick Hagge Cording, Travis Gagie, Mathias Bæk Tejs Knudsen, Tomasz Kociumaka
Theor. Comput. Sci.2
2020 Decompressing Lempel-Ziv Compressed Text
abstract
We consider the problem of decompressing the Lempel-Ziv 77 representation of a string S of length n using a working space as close as possible to the size z of the input. The folklore solution for the problem runs in O(n) time but requires random access to the whole decompressed text. Another folklore solution is to convert LZ77 into a grammar of size O(z log(n/z)) and then stream S in linear time. In this paper, we show that O(n) time and O(z) working space can be achieved for constant-size alphabets. On general alphabets of size σ, we describe (i) a trade-off achieving O(n logδσ) time and O(z log1-δσ) space for any 0≤ δ≤ 1, and (ii) a solution achieving O(n) time and O(z log log (n/z)) space. The latter solution, in particular, dominates both folklore algorithms for the problem. Our solutions can, more generally, extract any specified subsequence of S with little overheads on top of the linear running time and working space. As an immediate corollary, we show that our techniques yield improved results for pattern matching problems on LZ77-compressed text.
Philip Bille, Mikko Berggren Ettienne, Travis Gagie, Inge Li Gørtz, Nicola Prezza
DCC3
2020 Practical Random Access to SLP-Compressed Texts
Travis Gagie, Tomohiro I, Giovanni Manzini, Gonzalo Navarro 0001, Hiroshi Sakamoto, Louisa Seelbach Benkner, Yoshimasa Takabatake
SPIRE1
2020 Compressed Dynamic Range Majority and Minority Data Structures
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
Algorithmica1
2020 Fast and compact planar embeddings
Leo Ferres, José Fuentes-Sepúlveda, Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
Comput. Geom.3
2020 Computation over compressed data
Travis Gagie, Gonzalo Navarro 0001
Inf. Comput.1
2020 Fully Functional Suffix Trees and Optimal Text Searching in BWT-Runs Bounded Space
abstract
Indexing highly repetitive texts—such as genomic databases, software repositories and versioned text collections—has become an important problem since the turn of the millennium. A relevant compressibility measure for repetitive texts is r , the number of runs in their Burrows-Wheeler Transforms (BWTs). One of the earliest indexes for repetitive collections, the Run-Length FM-index, used O ( r ) space and was able to efficiently count the number of occurrences of a pattern of length m in a text of length n (in O ( m log log n ) time, with current techniques). However, it was unable to locate the positions of those occurrences efficiently within a space bounded in terms of r . In this article, we close this long-standing problem, showing how to extend the Run-Length FM-index so that it can locate the occ occurrences efficiently (in O ( occ log log n ) time) within O ( r ) space. By raising the space to O ( r log log n ), our index counts the occurrences in optimal time, O ( m ), and locates them in optimal time as well, O ( m + occ ). By further raising the space by an O ( w / log σ) factor, where σ is the alphabet size and w = Ω (log n ) is the RAM machine size in bits, we support count and locate in O (⌈ m log (σ)/ w ⌉) and O (⌈ m log (σ)/ w ⌉ + occ ) time, which is optimal in the packed setting and had not been obtained before in compressed space. We also describe a structure using O ( r log ( n / r )) space that replaces the text and extracts any text substring of length ℓ in the almost-optimal time O (log ( n / r )+ℓ log (σ)/ w ). Within that space, we similarly provide access to arbitrary suffix array, inverse suffix array, and longest common prefix array cells in time O (log ( n / r )), and extend these capabilities to full suffix tree functionality, typically in O (log ( n / r )) time per operation. Our experiments show that our O ( r )-space index outperforms the space-competitive alternatives by 1--2 orders of magnitude in time. Competitive implementations of the original FM-index are outperformed by 1--2 orders of magnitude in space and/or 2--3 in time.
Travis Gagie, Gonzalo Navarro 0001, Nicola Prezza
J. ACM1
2020 Refining the r-index
Hideo Bannai, Travis Gagie, Tomohiro I
Theor. Comput. Sci.2
2020 Tree path majority data structures
abstract
We present the first solution to finding τ -majorities on tree paths. Given a tree of n nodes, each with a label from [ 1 . . σ ] , and a fixed threshold 0 < τ < 1 , such a query gives two nodes u and v and asks for all the labels that appear more than τ ⋅ | P u v | times in the path P u v from u to v , where | P u v | denotes the number of nodes in P u v . Note that the answer to any query is of size up to 1 / τ . On a w -bit RAM, we obtain a linear-space data structure with O ( ( 1 / τ ) lg ⁡ lg w ⁡ σ ) query time, which is worst-case optimal for polylogarithmic-sized alphabets. We also describe two succinct-space solutions with query time O ( ( 1 / τ ) lg ⁎ ⁡ n lg ⁡ lg w ⁡ σ ) . One uses 2 n H + 4 n + o ( n ) ( H + 1 ) bits, where H ≤ lg ⁡ σ is the entropy of the label distribution; the other uses n H + O ( n ) + o ( n H ) bits. By using just o ( n lg ⁡ σ ) extra bits, our succinct structures allow τ to be specified at query time. We obtain analogous results to find a τ -minority, that is, an element that appears between 1 and τ ⋅ | P u v | times in P u v .
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001, Carlos Ochoa
Theor. Comput. Sci.1
2019 Simulating the DNA Overlap Graph in Succinct Space
abstract
Converting a set of sequencing reads into a lossless compact data structure that encodes all the relevant biological information is a major challenge. The classical approaches are to build the string graph or the de Bruijn graph (dBG) of some order k. Each has advantages over the other depending on the application. Still, the ideal setting would be to have an index of the reads that is easy to build and can be adapted to any type of biological analysis. In this paper we propose rBOSS, a new data structure based on the Burrows-Wheeler Transform (BWT), which gets close to that ideal. Our rBOSS simultaneously encodes all the dBGs of a set of sequencing reads up to some order k, and for any dBG node v, it can compute in O(k) time all the other nodes whose labels have an overlap of at least m characters with the label of v, with m being a parameter. If we choose the parameter k equal to the size of the reads (assuming that all have equal length), then we can simulate the overlap graph of the read set. Instead of storing the edges of this graph explicitly, rBOSS computes them on the fly as we traverse the graph. As most BWT-based structures, rBOSS is unidirectional, meaning that we can retrieve only the suffix overlaps of the nodes. However, we exploit the property of the DNA reverse complements to simulate bi-directionality. We implemented a genome assembler on top of rBOSS to demonstrate its usefulness. The experimental results show that, using k=100, our rBOSS-based assembler can process ~500K reads of 150 characters long each (a FASTQ file of 185 MB) in less than 15 minutes and using 110 MB in total. It produces contigs of mean sizes over 10,000, which is twice the size obtained by using a pure de Bruijn graph of fixed length k.
Diego Díaz-Domínguez, Travis Gagie, Gonzalo Navarro 0001
CPM2
2019 Tunneling on Wheeler Graphs
abstract
Baier (CPM 2018) describes tunneling as a technique to further exploit redundancies in the Burrows-Wheeler Transform. In this paper we show how to retain indexed text searching on the resulting structure and generalize the concept to Wheeler graphs.
Jarno Alanko, Travis Gagie, Gonzalo Navarro 0001, Louisa Seelbach Benkner
DCC2
2019 Efficient Construction of a Complete Index for Pan-Genomics Read Alignment
Alan Kuhnle, Taher Mun, Christina Boucher 0001, Travis Gagie, Ben Langmead, Giovanni Manzini
RECOMB4
2019 Faster Dynamic Compressed d-ary Relations
Diego Arroyuelo, Guillermo de Bernardo, Travis Gagie, Gonzalo Navarro 0001
SPIRE3
2019 Rpair: Rescaling RePair with Rsync
Travis Gagie, Tomohiro I, Giovanni Manzini, Gonzalo Navarro 0001, Hiroshi Sakamoto, Yoshimasa Takabatake
SPIRE1
2019 A compact index for order-preserving pattern matching
abstract
Summary Order‐preserving pattern matching has been introduced recently, but it has already attracted much attention. Given a reference sequence and a pattern, we want to locate all substrings of the reference sequence whose elements have the same relative order as the pattern elements. For this problem, we consider the offline version in which we build an index for the reference sequence so that subsequent searches can be completed very efficiently. We propose a space‐efficient index that works well in practice despite its lack of good worst‐case time bounds. Our solution is based on the new approach of decomposing the indexed sequence into an order component, containing ordering information, and a δ component, containing information on the absolute values. Experiments show that this approach is viable, is faster than the available alternatives, and is the first one offering simultaneously small space usage and fast retrieval.
Gianni Decaroli, Travis Gagie, Giovanni Manzini
Softw. Pract. Exp.2
2019 Sparse Dynamic Programming on DAGs with Small Width
abstract
The minimum path cover problem asks us to find a minimum-cardinality set of paths that cover all the nodes of a directed acyclic graph (DAG). We study the case when the size k of a minimum path cover is small, that is, when the DAG has a small width . This case is motivated by applications in pan-genomics , where the genomic variation of a population is expressed as a DAG. We observe that classical alignment algorithms exploiting sparse dynamic programming can be extended to the sequence-against-DAG case by mimicking the algorithm for sequences on each path of a minimum path cover and handling an evaluation order anomaly with reachability queries . Namely, we introduce a general framework for DAG-extensions of sparse dynamic programming. This framework produces algorithms that are slower than their counterparts on sequences only by a factor k . We illustrate this on two classical problems extended to DAGs: longest increasing subsequence and longest common subsequence . For the former, we obtain an algorithm with running time O ( k | E |log | V |). This matches the optimal solution to the classical problem variant when the input sequence is modeled as a path. We obtain an analogous result for the longest common subsequence problem. We then apply this technique to the co-linear chaining problem, which is a generalization of the above two problems. The algorithm for this problem turns out to be more involved, needing further ingredients, such as an FM-index tailored for large alphabets and a two-dimensional range search tree modified to support range maximum queries. We also study a general sequence-to-DAG alignment formulation that allows affine gap costs in the sequence. The main ingredient of the proposed framework is a new algorithm for finding a minimum path cover of a DAG ( V , E ) in O ( k | E |log | V |) time, improving all known time-bounds when k is small and the DAG is not too dense. In addition to boosting the sparse dynamic programming framework, an immediate consequence of this new minimum path cover algorithm is an improved space/time tradeoff for reachability queries in arbitrary directed graphs.
Veli Mäkinen, Alexandru I. Tomescu, Anna Kuosmanen, Topi Paavilainen, Travis Gagie, Rayan Chikhi
ACM Trans. Algorithms5
2019 Path queries on functions
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
Theor. Comput. Sci.1
2018 Online LZ77 Parsing and Matching Statistics with RLBWTs
abstract
Lempel-Ziv 1977 (LZ77) parsing, matching statistics and the Burrows-Wheeler Transform (BWT) are all fundamental elements of stringology. In a series of recent papers, Policriti and Prezza (DCC 2016 and Algorithmica, CPM 2017) showed how we can use an augmented run-length compressed BWT (RLBWT) of the reverse T^R of a text T, to compute offline the LZ77 parse of T in O(n log r) time and O(r) space, where n is the length of T and r is the number of runs in the BWT of T^R. In this paper we first extend a well-known technique for updating an unaugmented RLBWT when a character is prepended to a text, to work with Policriti and Prezza's augmented RLBWT. This immediately implies that we can build online the LZ77 parse of T while still using O(n log r) time and O(r) space; it also seems likely to be of independent interest. Our experiments, using an extension of Ohno, Takabatake, I and Sakamoto's (IWOCA 2017) implementation of updating, show our approach is both time- and space-efficient for repetitive strings. We then show how to augment the RLBWT further - albeit making it static again and increasing its space by a factor proportional to the size of the alphabet - such that later, given another string S and O(log log n)-time random access to T, we can compute the matching statistics of S with respect to T in O(|S| log log n) time.
Hideo Bannai, Travis Gagie, Tomohiro I
CPM2
2018 Two-Dimensional Block Trees
abstract
The Block Tree (BT) is a novel compact data structure designed to compress sequence collections. It obtains compression ratios close to Lempel-Ziv and supports efficient direct access to any substring. The BT divides the text recursively into fixed-size blocks and those appearing earlier are represented with pointers. On repetitive collections, a few blocks can represent all the others, and thus the BT reduces the size by orders of magnitude. In this paper we extend the BT to two dimensions, to exploit repetitiveness in collections of images, graphs, and maps. This two-dimensional Block Tree divides the image regularly into subimages and replaces some of them by pointers to other occurrences thereof. We develop a specific variant aimed at compressing the adjacency matrices of Web graphs, obtaining space reductions of up to 50% compared with the k2-tree, which is the best alternative supporting direct and reverse navigation in the graph.
Nieves R. Brisaboa, Travis Gagie, Adrián Gómez-Brandón, Gonzalo Navarro 0001
DCC2
2018 Exploiting Computation-Friendly Graph Compression Methods for Adjacency-Matrix Multiplication
abstract
Computing the product of the (binary) adjacency matrix of a large graph with a real-valued vector is an important operation that lies at the heart of various graph analysis tasks, such as computing PageRank. In this paper we show that some well-known Web and social graph compression formats are computation-friendly, in the sense that they allow boosting the computation. In particular, we show that the format of Boldi and Vigna allows computing the product in time proportional to the compressed graph size. Our experimental results show speedups of at least 2 on graphs that were compressed at least 5 times with respect to the original. We show that other successful graph compression formats enjoy this property as well.
Alexandre P. Francisco, Travis Gagie, Susana Ladra, Gonzalo Navarro 0001
DCC2
2018 Tree Path Majority Data Structures
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
ISAAC1
2018 On the Approximation Ratio of Lempel-Ziv Parsing
Travis Gagie, Gonzalo Navarro 0001, Nicola Prezza
LATIN1
2018 Using Minimum Path Cover to Boost Dynamic Programming on DAGs: Co-linear Chaining Extended
Anna Kuosmanen, Topi Paavilainen, Travis Gagie, Rayan Chikhi, Alexandru I. Tomescu, Veli Mäkinen
RECOMB3
2018 Optimal-Time Text Indexing in BWT-runs Bounded Space
abstract
Indexing highly repetitive texts — such as genomic databases, software repositories and versioned text collections — has become an important problem since the turn of the millennium. A relevant compressibility measure for repetitive texts is r, the number of runs in their Burrows-Wheeler Transform (BWT). One of the earliest indexes for repetitive collections, the Run-Length FM-index, used O(r) space and was able to efficiently count the number of occurrences of a pattern of length m in the text (in loglogarithmic time per pattern symbol, with current techniques). However, it was unable to locate the positions of those occurrences efficiently within a space bounded in terms of r. Since then, a number of other indexes with space bounded by other measures of repetitiveness — the number of phrases in the Lempel-Ziv parse, the size of the smallest grammar generating the text, the size of the smallest automaton recognizing the text factors — have been proposed for efficiently locating, but not directly counting, the occurrences of a pattern. In this paper we close this long-standing problem, showing how to extend the Run-Length FM-index so that it can locate the occ occurrences efficiently within O(r) space (in loglogarithmic time each), and reaching optimal time O(m + occ) within O(r log(n/r)) space, on a RAM machine with words of w = Ω(log n) bits. Raising the space to O(rw logσ(n/r)), we support locate in O(m log(σ)/w + occ) time, which is optimal in the packed setting and had not been obtained before in compressed space. We also describe a structure using O(r log(n/r)) space that replaces the text and efficiently extracts any text substring, with an O(log(n/r)) additive time penalty over the optimum. Preliminary experiments show that our new structure outperforms the alternatives by orders of magnitude in the space/time tradeoff map.
Travis Gagie, Gonzalo Navarro 0001, Nicola Prezza
SODA1
2018 Prefix-Free Parsing for Building Big BWTs
Christina Boucher 0001, Travis Gagie, Alan Kuhnle, Giovanni Manzini
WABI2
2018 Guest Editorial: Special Issue on Compact Data Structures
Travis Gagie, Gonzalo Navarro 0001
Algorithmica1
2018 Practical dynamic de Bruijn graphs
abstract
Motivation: The de Bruijn graph is fundamental to the analysis of next generation sequencing data and so, as datasets of DNA reads grow rapidly, it becomes more important to represent de Bruijn graphs compactly while still supporting fast assembly. Previous implementations of compact de Bruijn graphs have not supported node or edge deletion, however, which is important for pruning spurious elements from the graph. Results: Belazzougui et al. (2016b) recently proposed a compact and fully dynamic representation, which supports exact membership queries and insertions and deletions of both nodes and edges. In this paper, we give a practical implementation of their data structure, supporting exact membership queries and fully dynamic edge operations, as well as limited support for dynamic node operations. We demonstrate experimentally that its performance is comparable to that of state-of-the-art implementations based on Bloom filters. Availability and implementation: Our source-code is publicly available at https://github.com/csirac/dynamicDBG under an open-source license.
Victoria G. Crawford, Alan Kuhnle, Christina Boucher 0001, Rayan Chikhi, Travis Gagie
Bioinform.5
2018 Relative Suffix Trees
abstract
Suffix trees are one of the most versatile data structures in stringology, with many applications in bioinformatics. Their main drawback is their size, which can be tens of times larger than the input sequence. Much effort has been put into reducing the space usage, leading ultimately to compressed suffix trees. These compressed data structures can efficiently simulate the suffix tree, while using space proportional to a compressed representation of the sequence. In this work, we take a new approach to compressed suffix trees for repetitive sequence collections, such as collections of individual genomes. We compress the suffix trees of individual sequences relative to the suffix tree of a reference sequence. These relative data structures provide competitive time/space trade-offs, being almost as small as the smallest compressed suffix trees for repetitive collections, and competitive in time with the largest and fastest compressed suffix trees.
Andrea Farruggia, Travis Gagie, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén
Comput. J.2
2017 Flexible Indexing of Repetitive Collections
Djamal Belazzougui, Fabio Cunial, Travis Gagie, Nicola Prezza, Mathieu Raffinot
CiE3
2017 Fast and Simple Jumbled Indexing for Binary Run-Length Encoded Strings
abstract
Important papers have appeared recently on the problem of indexing binary strings for jumbled pattern matching, and further lowering the time bounds in terms of the input size would now be a breakthrough with broad implications. We can still make progress on the problem, however, by considering other natural parameters. Badkobeh et al. (IPL, 2013) and Amir et al. (TCS, 2016) gave algorithms that index a binary string in O(n + r^2 log r) time, where n is the length and r is the number of runs, and Giaquinta and Grabowski (IPL, 2013) gave one that runs in O(n + r^2) time. In this paper we propose a new and very simple algorithm that also runs in O(n + r^2) time and can be extended either so that the index returns the position of a match (if there is one), or so that the algorithm uses only O(n) bits of space instead of O(n) words.
Luís Cunha 0001, Simone Dantas, Travis Gagie, Roland Wittler, Luis A. B. Kowada, Jens Stoye
CPM3
2017 Path Queries on Functions
abstract
Let f : [1..n] -> [1..n] be a function, and l : [1..n] -> [1..s] indicate a label assigned to each element of the domain. We design several compact data structures that answer various queries on the labels of paths in f. For example, we can find the minimum label in f^k (i) for a given i and any k >= 0 in a given range [k1..k2], using n lg n + O(n) bits, or the minimum label in f^(-k) (i) for a given i and k > 0, using 2n lg n + O(n) bits, both in time O(lg n/ lg lg n). By using n lg s + o(n lg s) further bits, we can also count, within the same time, the number of elements within a range of labels, and report each such element in O(1 + lg s / lg lg n) additional time. Several other possible queries are considered, such as top-t queries and t-majorities.
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
CPM1
2017 A Compact Index for Order-Preserving Pattern Matching
abstract
Order-preserving pattern matching was first studied surprisingly recently buthas already attracted much attention. For this problem we propose aspace-efficient index that works well in practice despite its lack of goodworst-case time bounds. Our solution is based on the new approach ofdecomposing the indexed sequence into an em order component, containingordering information, and a δ component, containing informationon the absolute values. Experiments show that this approach is viable and itis the first one offering simultaneously small space usage and fast retrieval.
Gianni Decaroli, Travis Gagie, Giovanni Manzini
DCC2
2017 Compressed Dynamic Range Majority Data Structures
abstract
In the range α-majority query problem, we preprocess a given sequence S[1..n] for a fixed threshold α ∈ (0, 1], such that given a query range [i..j], the symbols that occur more than α (j-i+1) times in S[i..j] can be reported efficiently. We design the first compressed solution to this problem in dynamic settings. Our data structure represents S using nHko(nlg σ) bits for any k = o(log σ n), where σ is the alphabet size and Hkis the k-th order empirical entropy of S. It answers range α-majority queries in O((lg n)/(α lg lgn)) time, and supports insertions and deletions in O(lg n/α) amortized time. The best previous solution [1] has the same query and update times, but uses O(n) words.
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
DCC1
2017 An Encoding for Order-Preserving Matching
abstract
Encoding data structures store enough information to answer the queries they are meant to support but not enough to recover their underlying datasets. In this paper we give the first encoding data structure for the challenging problem of order-preserving pattern matching. This problem was introduced only a few years ago but has already attracted significant attention because of its applications in data analysis. Two strings are said to be an order-preserving match if the relative order of their characters is the same: e.g., (4, 1, 3, 2) and (10, 3, 7, 5) are an order-preserving match. We show how, given a string S[1..n] over an arbitrary alphabet of size sigma and a constant c >=1, we can build an O(n log log n)-bit encoding such that later, given a pattern P[1..m] with m >= log^c n, we can return the number of order-preserving occurrences of P in S in O(m) time. Within the same time bound we can also return the starting position of some order-preserving match for P in S (if such a match exists). We prove that our space bound is within a constant factor of optimal if log(sigma) = Omega(log log n); our query time is optimal if log(sigma) = Omega(log n). Our space bound contrasts with the Omega(n log n) bits needed in the worst case to store S itself, an index for order-preserving pattern matching with no restrictions on the pattern length, or an index for standard pattern matching even with restrictions on the pattern length. Moreover, we can build our encoding knowing only how each character compares to O(log^c n) neighbouring characters.
Travis Gagie, Giovanni Manzini, Rossano Venturini
ESA1
2017 On Two LZ78-style Grammars: Compression Bounds and Compressed-Space Computation
Golnaz Badkobeh, Travis Gagie, Shunsuke Inenaga, Tomasz Kociumaka, Dmitry Kosolobov, Simon J. Puglisi
SPIRE2
2017 Efficient Compression and Indexing of Trajectories
Nieves R. Brisaboa, Travis Gagie, Adrián Gómez-Brandón, Gonzalo Navarro 0001, José R. Paramá
SPIRE2
2017 Fast and Compact Planar Embeddings
Leo Ferres, José Fuentes-Sepúlveda, Travis Gagie, Meng He 0001, Gonzalo Navarro 0001
WADS3
2017 Succinct colored de Bruijn graphs
abstract
MOTIVATION: In 2012, Iqbal et al. introduced the colored de Bruijn graph, a variant of the classic de Bruijn graph, which is aimed at 'detecting and genotyping simple and complex genetic variants in an individual or population'. Because they are intended to be applied to massive population level data, it is essential that the graphs be represented efficiently. Unfortunately, current succinct de Bruijn graph representations are not directly applicable to the colored de Bruijn graph, which requires additional information to be succinctly encoded as well as support for non-standard traversal operations. RESULTS: Our data structure dramatically reduces the amount of memory required to store and use the colored de Bruijn graph, with some penalty to runtime, allowing it to be applied in much larger and more ambitious sequence projects than was previously possible. AVAILABILITY AND IMPLEMENTATION: https://github.com/cosmo-team/cosmo/tree/VARI. CONTACT: [email protected]. SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.
Martin D. Muggli, Alexander Bowe, Noelle R. Noyes, Paul S. Morley, Keith E. Belk, Robert Raymond, Travis Gagie, Simon J. Puglisi, Christina Boucher 0001
Bioinform.7
2017 Document retrieval on repetitive string collections
abstract
Most of the fastest-growing string collections today are repetitive, that is, most of the constituent documents are similar to many others. As these collections keep growing, a key approach to handling them is to exploit their repetitiveness, which can reduce their space usage by orders of magnitude. We study the problem of indexing repetitive string collections in order to perform efficient document retrieval operations on them. Document retrieval problems are routinely solved by search engines on large natural language collections, but the techniques are less developed on generic string collections. The case of repetitive string collections is even less understood, and there are very few existing solutions. We develop two novel ideas, interleaved LCPs and precomputed document lists, that yield highly compressed indexes solving the problem of document listing (find all the documents where a string appears), top-k document retrieval (find the k documents where a string appears most often), and document counting (count the number of documents where a string appears). We also show that a classical data structure supporting the latter query becomes highly compressible on repetitive data. Finally, we show how the tools we developed can be combined to solve ranked conjunctive and disjunctive multi-term queries under the simple $${\textsf{tf}}{\textsf{-}}{\textsf{idf}}$$ model of relevance. We thoroughly evaluate the resulting techniques in various real-life repetitiveness scenarios, and recommend the best choices for each case.
Travis Gagie, Aleksi Hartikainen, Kalle Karhu, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén
Inf. Retr. J.1
2017 String cadences
Amihood Amir, Alberto Apostolico, Travis Gagie, Gad M. Landau
Theor. Comput. Sci.3
2017 Wheeler graphs: A framework for BWT-based data structures
abstract
The famous Burrows–Wheeler Transform (BWT) was originally defined for a single string but variations have been developed for sets of strings, labeled trees, de Bruijn graphs, etc. In this paper we propose a framework that includes many of these variations and that we hope will simplify the search for more. We first define Wheeler graphs and show they have a property we call path coherence. We show that if the state diagram of a finite-state automaton is a Wheeler graph then, by its path coherence, we can order the nodes such that, for any string, the nodes reachable from the initial state or states by processing that string are consecutive. This means that even if the automaton is non-deterministic, we can still store it compactly and process strings with it quickly. We then rederive several variations of the BWT by designing straightforward finite-state automata for the relevant problems and showing that their state diagrams are Wheeler graphs.
Travis Gagie, Giovanni Manzini, Jouni Sirén
Theor. Comput. Sci.1
2016 Bidirectional Variable-Order de Bruijn Graphs
Djamal Belazzougui, Travis Gagie, Veli Mäkinen, Marco Previtali, Simon J. Puglisi
LATIN2
2016 Longest Common Abelian Factors and Large Alphabets
Golnaz Badkobeh, Travis Gagie, Szymon Grabowski, Yuto Nakashima 0001, Simon J. Puglisi, Shiho Sugimoto
SPIRE2
2016 Fully Dynamic de Bruijn Graphs
Djamal Belazzougui, Travis Gagie, Veli Mäkinen, Marco Previtali
SPIRE2
2016 RLZAP: Relative Lempel-Ziv with Adaptive Pointers
Anthony J. Cox, Andrea Farruggia, Travis Gagie, Simon J. Puglisi, Jouni Sirén
SPIRE3
2016 Efficient and Compact Representations of Some Non-canonical Prefix-Free Codes
Antonio Fariña, Travis Gagie, Giovanni Manzini, Gonzalo Navarro 0001, Alberto Ordóñez Pereira
SPIRE2
2016 Analyzing Relative Lempel-Ziv Reference Construction
Travis Gagie, Simon J. Puglisi, Daniel Valenzuela 0001
SPIRE1
2015 Composite Repetition-Aware Data Structures
Djamal Belazzougui, Fabio Cunial, Travis Gagie, Nicola Prezza, Mathieu Raffinot
CPM3
2015 Queries on LZ-Bounded Encodings
abstract
We describe a data structure that stores a strings in space similar to that of its Lempel-Ziv encoding and efficiently supports access, rank and select queries. These queries are fundamental for implementing succinct and compressed data structures, such as compressed trees and graphs. We show that our data structure can be built in a scalable manner and is both small and fast in practice compared to other data structures supporting such queries.
Djamal Belazzougui, Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Alberto Ordóñez Pereira, Simon J. Puglisi, Yasuo Tabei
DCC2
2015 Variable-Order de Bruijn Graphs
abstract
The de Bruijn graph GK of a set of strings Sis a key data structure in genome assembly that represents overlaps between all the K-length substrings of S. Construction and navigation of the graph is a space and time bottleneck in practice and the main hurdle for assembling large genomes. This problem is compounded because state-of-the-art assemblers do not build the de Bruijn graph for a single order (value of K) but for multiple values of K: they builddde Bruijn graphs, each with a specific order, i.e., GK1, GK2, GKd. Al-though, this paradigm increases the quality of the assembly produce but it greatly increases runtime, because of the need to construct graphs instead of one. In this paper, we show how to augment a succinct de Bruijn graph representation by Bowe et al. (Proc. WABI, 2012) to support new operations that let us change order on the fly, effectively representing all de Bruijn graphs of order up to some maximum Kin a single data structure. Our experiments show our variable-order de Bruijn graph only modestly increases space usage, construction time, and navigation time compared to a single order graph.
Christina Boucher 0001, Alexander Bowe, Travis Gagie, Simon J. Puglisi, Kunihiko Sadakane
DCC3
2015 Faster Compressed Quadtrees
abstract
Real-world point sets tend to be clustered, so using a machine word for each point is wasteful. In this paper we first bound the number of nodes in the quad tree for a point set in terms of the points' clustering. We then describe aqua tree data structure that uses O (1) bits per node and supports faster queries than previous structures with this property. Finally, we present experimental evidence that our structure is practical.
Travis Gagie, Javier I. González-Nova, Susana Ladra, Gonzalo Navarro 0001, Diego Seco Naveiras
DCC1
2015 Document Counting in Compressed Space
abstract
We address the problem of counting the number of strings in a collection where a given pattern appears, which has applications in information retrieval and data mining. Existing solutions are in a theoretical stage. In this pa-per we implement these solutions and explore compressed variants, aiming to reduce data structure size. Our main result is to uncover some unexpected compressibility properties of the fastest known data structure for the problem. By taking advantage of these properties, we can reduce the size of the structure by a factor of 5-400, depending on the dataset.
Travis Gagie, Aleksi Hartikainen, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén
DCC1
2015 Diverse Palindromic Factorization Is NP-complete
Hideo Bannai, Travis Gagie, Shunsuke Inenaga, Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski, Simon J. Puglisi, Shiho Sugimoto
DLT2
2015 Approximating LZ77 via Small-Space Multiple-Pattern Matching
Johannes Fischer 0001, Travis Gagie, Pawel Gawrychowski, Tomasz Kociumaka
ESA2
2015 Relative Select
Christina Boucher 0001, Alexander Bowe, Travis Gagie, Giovanni Manzini, Jouni Sirén
SPIRE3
2015 Binary Jumbled Pattern Matching on Trees and Tree-Like Structures
Travis Gagie, Danny Hermelin, Gad M. Landau, Oren Weimann
Algorithmica1
2015 Explaining a Weighted DAG with Few Paths for Solving Genome-Guided Multi-Assembly
abstract
RNA-Seq technology offers new high-throughput ways for transcript identification and quantification based on short reads, and has recently attracted great interest. This is achieved by constructing a weighted DAG whose vertices stand for exons, and whose arcs stand for split alignments of the RNA-Seq reads to the exons. The task consists of finding a number of paths, together with their expression levels, which optimally explain the weights of the graph under various fitting functions, such as least sum of squared residuals. In (Tomescu et al. BMC Bioinformatics, 2013) we studied this genome-guided multi-assembly problem when the number of allowed solution paths was linear in the number of arcs. In this paper, we further refine this problem by asking for a bounded number k of solution paths, which is the setting of most practical interest. We formulate this problem in very broad terms, and show that for many choices of the fitting function it becomes NP-hard. Nevertheless, we identify a natural graph parameter of a DAG G, which we call arc-width and denote ⟨G⟩, and give a dynamic programming algorithm running in time O(W(k)⟨G⟩(k)(⟨G⟩+ k)n) , where n is the number of vertices and W is the maximum weight of G. This implies that the problem is fixed-parameter tractable (FPT) in the parameters W, ⟨G⟩, and k. We also show that the arc-width of DAGs constructed from simulated and real RNA-Seq reads is small in practice. Finally, we study the approximability of this problem, and, in particular, give a fully polynomial-time approximation scheme (FPTAS) for the case when the fitting function penalizes the maximum ratio between the weights of the arcs and their predicted coverage.
Alexandru I. Tomescu, Travis Gagie, Alexandru Popa 0001, Romeo Rizzi, Anna Kuosmanen, Veli Mäkinen
IEEE ACM Trans. Comput. Biol. Bioinform.2
2015 Efficient and Compact Representations of Prefix Codes
abstract
Most of the attention in statistical compression is given to the space used by the compressed sequence, a problem completely solved with optimal prefix codes. However, in many applications, the storage space used to represent the prefix code itself can be an issue. In this paper, we introduce and compare several techniques to store prefix codes. Let N be the sequence length and n be the alphabet size. Then, a naive storage of an optimal prefix code uses O(n log n) bits. Our first technique shows how to use O(n log log(N/n)) bits to store the optimal prefix code. Then, we introduce an approximate technique that, for any 01, O(n1/clog n) bits to store a prefix code with an average codeword length at most c times the minimum. In all cases, our data structures allow encoding and decoding of any symbol in O(1) time. We experimentally compare our new techniques with the state of the art, showing that we achieve sixfold-to-eightfold space reductions, at the price of a slower encoding (2.5-8 times slower) and decoding (12-24 times slower). The approximations further reduce this space and improve the time significantly, up to recovering the speed of classical implementations, for a moderate penalty in the average code length. As a byproduct, we compare various heuristic, approximate, and optimal algorithms to generate length-restricted codes, showing that the optimal ones are clearly superior and practical enough to be implemented.
Travis Gagie, Gonzalo Navarro 0001, Yakov Nekrich, Alberto Ordóñez Pereira
IEEE Trans. Inf. Theory1
2014 Indexed Geometric Jumbled Pattern Matching
Stephane Durocher, Robert Fraser, Travis Gagie, Debajyoti Mondal, Matthew Skala, Sharma V. Thankachan
CPM3
2014 Relative Lempel-Ziv with Constant-Time Random Access
abstract
Relative Lempel-Ziv [1] (RLZ) is a variant of LZ77 that can compress collections of similar genomes well, while still allowing fast random access to them. We implemented RLZ using compressed bit vectors to support constant-time random access at the cost of sublinear extra space. We compared our implementation of RLZ to Deorowicz and Grabowski's GDC [11] scheme and achieved comparable compression and much smaller access times for short substrings.
Travis Gagie, Simon J. Puglisi
DCC1
2014 LZ77-Based Self-indexing with Faster Pattern Matching
Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Yakov Nekrich, Simon J. Puglisi
LATIN1
2014 Relative FM-Indexes
Djamal Belazzougui, Travis Gagie, Simon Gog, Giovanni Manzini, Jouni Sirén
SPIRE2
2014 Relative Lempel-Ziv with Constant-Time Random Access
Héctor Ferrada, Travis Gagie, Simon Gog, Simon J. Puglisi
SPIRE2
2014 Efficient Fully-Compressed Sequence Representations
Jérémy Barbay, Francisco Claude, Travis Gagie, Gonzalo Navarro 0001, Yakov Nekrich
Algorithmica3
2014 Entropy-bounded representation of point grids
Arash Farzan, Travis Gagie, Gonzalo Navarro 0001
Comput. Geom.2
2013 New Algorithms for Position Heaps
Travis Gagie, Wing-Kai Hon, Tsung-Han Ku
CPM1
2013 Document Listing on Repetitive Collections
Travis Gagie, Kalle Karhu, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén
CPM1
2013 Binary Jumbled Pattern Matching on Trees and Tree-Like Structures
Travis Gagie, Danny Hermelin, Gad M. Landau, Oren Weimann
ESA1
2013 Indexes for Jumbled Pattern Matching in Strings, Trees and Graphs
Ferdinando Cicalese, Travis Gagie, Emanuele Giaquinta, Eduardo Sany Laber, Zsuzsanna Lipták, Romeo Rizzi, Alexandru I. Tomescu
SPIRE2
2013 Better Space Bounds for Parameterized Range Majority and Minority
Djamal Belazzougui, Travis Gagie, Gonzalo Navarro 0001
WADS2
2013 Colored range queries and document retrieval
Travis Gagie, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi
Theor. Comput. Sci.1
2012 A Faster Grammar-Based Self-index
Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Yakov Nekrich, Simon J. Puglisi
LATA1
2012 Forbidden Patterns
Johannes Fischer 0001, Travis Gagie, Tsvi Kopelowitz, Moshe Lewenstein, Veli Mäkinen, Leena Salmela, Niko Välimäki
LATIN2
2012 Indexed Multi-pattern Matching
Travis Gagie, Kalle Karhu, Juha Kärkkäinen, Veli Mäkinen, Leena Salmela, Jorma Tarhio
LATIN1
2012 Lightweight Data Indexing and Compression in External Memory
Paolo Ferragina, Travis Gagie, Giovanni Manzini
Algorithmica2
2012 An efficient algorithm to test square-freeness of strings compressed by straight-line programs
Hideo Bannai, Travis Gagie, Tomohiro I, Shunsuke Inenaga, Gad M. Landau, Moshe Lewenstein
Inf. Process. Lett.2
2012 New algorithms on wavelet trees and applications to information retrieval
Travis Gagie, Gonzalo Navarro 0001, Simon J. Puglisi
Theor. Comput. Sci.1
2011 Counting Colours in Compressed Strings
Travis Gagie, Juha Kärkkäinen
CPM1
2011 Faster Approximate Pattern Matching in Compressed Repetitive Texts
Travis Gagie, Pawel Gawrychowski, Simon J. Puglisi
ISAAC1
2011 Finding Frequent Elements in Compressed 2D Arrays and Strings
Travis Gagie, Meng He 0001, J. Ian Munro, Patrick K. Nicholson
SPIRE1
2011 Competitive Boolean function evaluation: Beyond monotonicity, and the symmetric case
Ferdinando Cicalese, Travis Gagie, Eduardo Sany Laber, Martin Milanic
Discret. Appl. Math.2
2010 Alphabet Partitioning for Compressed Rank/Select and Applications
Jérémy Barbay, Travis Gagie, Gonzalo Navarro 0001, Yakov Nekrich
ISAAC (2)2
2010 Entropy-Bounded Representation of Point Grids
Arash Farzan, Travis Gagie, Gonzalo Navarro 0001
ISAAC (2)2
2010 Grammar-Based Compression in a Streaming Model
Travis Gagie, Pawel Gawrychowski
LATA1
2010 Lightweight Data Indexing and Compression in External Memory
Paolo Ferragina, Travis Gagie, Giovanni Manzini
LATIN2
2010 Fast and Compact Prefix Codes
Travis Gagie, Gonzalo Navarro 0001, Yakov Nekrich
SOFSEM1
2010 Colored Range Queries and Document Retrieval
Travis Gagie, Gonzalo Navarro 0001, Simon J. Puglisi
SPIRE1
2010 Move-to-Front, Distance Coding, and Inversion Frequencies revisited
Travis Gagie, Giovanni Manzini
Theor. Comput. Sci.1
2009 On the Value of Multiple Read/Write Streams for Data Compression
Travis Gagie
CPM1
2009 Low-Memory Adaptive Prefix Coding
abstract
In this paper we study the adaptive prefix coding problem in cases where the size of the input alphabet is large. We present an online prefix coding algorithm that uses O(sigma1/lambda+epsiv) bits of space for any constants epsiv > 0, > 1, and encodes the string of symbols in O(loglog sigma) time per symbol in the worst case, where sigma is the size of the alphabet. The upper bound on the encoding length is lambdanH(s) + (lambda/ ln 2 + 2 + epsiv)n + O(sigma1/lambdalog2sigma) bits.
Travis Gagie, Marek Karpinski, Yakov Nekrich
DCC1
2009 Minimax Trees in Linear Time with Applications
Pawel Gawrychowski, Travis Gagie
IWOCA2
2009 Range Quantile Queries: Another Virtue of Wavelet Trees
Travis Gagie, Simon J. Puglisi, Andrew Turpin
SPIRE1
2009 Worst-Case Optimal Adaptive Prefix Coding
Travis Gagie, Yakov Nekrich
WADS1
2009 A New Algorithm for Building Alphabetic Minimax Trees
abstract
We show how to build an alphabetic minimax tree for a sequence W = w, …, w of real weights in O(nd log log n) time, where d is the number of distinct integers ⌈wi⌉. We apply this algorithm to building an alphabetic prefix code given a sample.
Travis Gagie
Fundam. Informaticae1
2009 Compressed depth sequences
Travis Gagie
Theor. Comput. Sci.1
2008 Dynamic asymmetric communication
Travis Gagie
Inf. Process. Lett.1
2008 Sorting streamed multisets
Travis Gagie
Inf. Process. Lett.1
2007 Move-to-Front, Distance Coding, and Inversion Frequencies Revisited
Travis Gagie, Giovanni Manzini
CPM1
2007 Space-Conscious Compression
Travis Gagie, Giovanni Manzini
MFCS1
2007 Dynamic Shannon coding
Travis Gagie
Inf. Process. Lett.1
2006 Dynamic Asymmetric Communication
abstract
Summary form only given. Internet users usually download more than they upload and many technologies have asymmetric bandwidth. Suppose some clients want to send messages to a server. At any point, the server knows all the messages it has received so far; each client only knows its own message or messages and does not overhear communication between other clients and the server. Thus, the server may be able to compress the messages but the clients individually cannot. By assuming the server, after receiving a sample of messages, can accurately estimate the distribution of all the messages, a multi-round asymmetric communication protocol can be provided in which the server uses its greater bandwidth to help a single client send a message drawn from a distribution known to the server. The server can just repeat their protocol to help any number of clients, provided it starts with a representative sample. This paper propose a new protocol inspired by an everyday act: placing a call on a cell phone. While the protocol needs no assumptions and is nearly optimal with respect to the number of bits the clients send, the server sends a relatively large number of bits, which is necessary in order to use only one round of communication for each message
Travis Gagie
DCC1
2006 Dynamic Asymmetric Communication
Travis Gagie
SIROCCO1
2006 Compressing probability distributions
Travis Gagie
Inf. Process. Lett.1
2006 Large alphabets and incompressibility
Travis Gagie
Inf. Process. Lett.1
2005 Restructuring binary search trees revisited
Travis Gagie
Inf. Process. Lett.1
2004 Dynamic Shannon Coding
abstract
This paper presents a new algorithm, called dynamic Shannon coding, that uses at most (H + 1)m + O(nlogm) bits to encode string S. The key idea is to smooth the relative frequencies of characters when computing their weights. It also shows that dynamic Shannon coding can be easily modified to restrict the maximum length of any codeword in the encoding produced. The analysis of dynamic Shannon coding is much simpler than the analysis of dynamic Huffman coding.
Travis Gagie
Data Compression Conference1
2004 Dynamic Shannon Coding
Travis Gagie
ESA1
2003 New Ways to Construct Binary Search Trees
Travis Gagie
ISAAC1