Demo Data from SIGIR 2026 / reviewers in the wild / expert
Travis Gagie
dblp:00/3487
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Bioinformatics and computational biology
genomics |
2.0 | 3 | 2026 | 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.9 | 4 | 2026 | 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.7 | 2 | 2026 | 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.6 | 3 | 2025 | 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.4 | 2 | 2026 | 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.1 | 2 | 2026 | 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.0 | 1 | 2026 | 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.0 | 1 | 2026 | Compressing Suffix Trees by Path Decompositions · ICALP 2026 |
Algorithms and data structures › sequence algorithms › string algorithms
string matching |
1.0 | 1 | 2026 | Fast and Small Subsampled R-indexes · ACM Trans. Algorithms 2026 |
Algorithms and data structures › sequence algorithms › string algorithms › string indexing
suffix array |
1.0 | 1 | 2026 | Fast and Small Subsampled R-indexes · ACM Trans. Algorithms 2026 |
Algorithms and data structures › space-efficient algorithms
succinct data structures |
0.9 | 2 | 2022 | 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.9 | 1 | 2025 | Columba: fast approximate pattern matching with optimized search schemes · Bioinform. 2025 |
Algorithms and data structures › data structure design › search structures › indexing
text indexing |
0.8 | 2 | 2020 | 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.7 | 2 | 2019 | 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.7 | 1 | 2023 | μ- 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.7 | 1 | 2023 | μ- PBWT: a lightweight r-indexing of the PBWT for storing and querying UK Biobank data · Bioinform. 2023 |
Storage systems
data compression |
0.6 | 1 | 2022 | Improving Matrix-vector Multiplication via Lossless Grammar-Compressed Matrices · Proc. VLDB Endow. 2022 |
Computational complexity › algebraic complexity › matrix multiplication
matrix-vector multiplication |
0.6 | 1 | 2022 | Improving Matrix-vector Multiplication via Lossless Grammar-Compressed Matrices · Proc. VLDB Endow. 2022 |
Algorithms and data structures › sequence algorithms
string algorithms |
0.6 | 1 | 2022 | Syotti: scalable bait design for DNA enrichment · Bioinform. 2022 |
Coding theory › source coding
burrows-wheeler transform |
0.4 | 1 | 2020 | 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.4 | 1 | 2019 | Efficient Construction of a Complete Index for Pan-Genomics Read Alignment · RECOMB 2019 |
Algorithms and data structures
dynamic programming |
0.4 | 1 | 2019 | 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.4 | 1 | 2019 | Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019 |
Graph algorithms and graph theory › graph theory › graph covering
path cover |
0.4 | 1 | 2019 | Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019 |
Algorithms and data structures › dynamic programming
sparse dynamic programming |
0.4 | 1 | 2019 | Sparse Dynamic Programming on DAGs with Small Width · ACM Trans. Algorithms 2019 |
Bioinformatics and computational biology › sequence analysis › sequence assembly
de bruijn graph |
0.3 | 1 | 2018 | Practical dynamic de Bruijn graphs · Bioinform. 2018 |
Bioinformatics and computational biology › sequence analysis
sequence assembly |
0.3 | 1 | 2018 | Practical dynamic de Bruijn graphs · Bioinform. 2018 |
Coding theory
source coding |
0.3 | 1 | 2018 | Optimal-Time Text Indexing in BWT-runs Bounded Space · SODA 2018 |
Bioinformatics and computational biology
metagenomics |
0.3 | 1 | 2026 | Response to: "best practices when benchmarking CATCH for the design of genome enrichment probes" · Bioinform. 2026 |
Bioinformatics and computational biology
sequence analysis |
0.3 | 1 | 2017 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Merging RLBWTs AdaptivelyabstractWe 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 |
CPM | 1 |
| 2026 | Efficient Grammar Compression via RLZ-Based RePairabstractAmong 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 |
CPM | 2 |
| 2026 | Incongruity-Sensitive Access to Highly Compressed StringsabstractRandom 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 |
ESA | 2 |
| 2026 | Compressing Suffix Trees by Path Decompositions
Ruben Becker, Davide Cenzato, Travis Gagie, Ragnar Groot Koerkamp, Giovanni Manzini, Nicola Prezza |
ICALP | 3 |
| 2026 | Response to: "best practices when benchmarking CATCH for the design of genome enrichment probes"abstractWe 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 pangenomesabstractSUMMARY: 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-indexesabstractThe 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. Algorithms | 2 |
| 2025 | The Trie Measure, RevisitedabstractIn 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 |
CPM | 4 |
| 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 |
SPIRE | 10 |
| 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 |
SPIRE | 2 |
| 2025 | Columba: fast approximate pattern matching with optimized search schemesabstractMOTIVATION: 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 |
CPM | 4 |
| 2024 | Faster Maximal Exact Matches with Lazy LCP Evaluationabstract2022) 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 |
DCC | 5 |
| 2024 | Another virtue of wavelet forestsabstractThe 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 |
DCC | 3 |
| 2024 | How to Find Long Maximal Exact Matches and Ignore Short Ones
Travis Gagie |
DLT | 1 |
| 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 |
SPIRE | 3 |
| 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 |
WABI | 5 |
| 2024 | Taxonomic Classification with Maximal Exact Matches in KATKA Kernels and Minimizer Digestsabstract; 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 |
SEA | 3 |
| 2024 | Two-Dimensional Block TreesabstractAbstract 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-MEMsabstractFM-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 |
CPM | 4 |
| 2023 | Computing matching statistics on Wheeler DFAsabstractMatching 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 |
DCC | 3 |
| 2023 | Augmented Thresholds for MONIabstractMONI (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 |
DCC | 5 |
| 2023 | Recursive Prefix-Free Parsing for Building Big BWTs
Marco Oliva, Travis Gagie, Christina Boucher 0001 |
DCC | 2 |
| 2023 | Data Structures for SMEM-Finding in the PBWT
Paola Bonizzoni, Christina Boucher 0001, Davide Cozzi, Travis Gagie, Dominik Köppl, Massimiliano Rossi 0001 |
SPIRE | 4 |
| 2023 | Space-Time Trade-Offs for the LCP Array of Wheeler DFAs
Nicola Cotumaccio, Travis Gagie, Dominik Köppl, Nicola Prezza |
SPIRE | 2 |
| 2023 | Dynamic Compact Planar Embeddings
Travis Gagie, Meng He 0001, Michael St Denis |
SPIRE | 1 |
| 2023 | A Simple Grammar-Based Index for Finding Approximately Longest Common Substrings
Travis Gagie, Sana Kashgouli, Gonzalo Navarro 0001 |
SPIRE | 1 |
| 2023 | Acceleration of FM-Index Queries Through Prefix-Free ParsingabstractFM-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 |
WABI | 6 |
| 2023 | μ- PBWT: a lightweight r-indexing of the PBWT for storing and querying UK Biobank dataabstractMOTIVATION: 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 TricksabstractUntil 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 |
DCC | 2 |
| 2022 | Simple Worst-Case Optimal Adaptive Prefix-Free CodingabstractSuppose 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 |
DCC | 1 |
| 2022 | CSTs for Terabyte-Sized DataabstractGenerating 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 |
DCC | 5 |
| 2022 | Simple Worst-Case Optimal Adaptive Prefix-Free Coding
Travis Gagie |
ESA | 1 |
| 2022 | On Representing the Degree Sequences of Sublogarithmic-Degree Wheeler Graphs
Travis Gagie |
SPIRE | 1 |
| 2022 | KATKA: A KRAKEN-Like Tool with k Given at Query Time
Travis Gagie, Sana Kashgouli, Ben Langmead |
SPIRE | 1 |
| 2022 | RLBWT TricksabstractUntil 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 |
SEA | 2 |
| 2022 | Syotti: scalable bait design for DNA enrichmentabstractMOTIVATION: 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 MatricesabstractAs 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 TreesabstractPrefix-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 |
ALENEX | 3 |
| 2021 | A Fast and Small Subsampled R-IndexabstractCompressed 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 |
CPM | 2 |
| 2021 | PHONI: Streamed Matching Statistics with Multi-Genome ReferencesabstractComputing 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 |
DCC | 2 |
| 2021 | Efficiently Merging r-indexesabstractLarge 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 |
DCC | 6 |
| 2021 | Compressing and Indexing Aligned ReadsetsabstractCompressed 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 |
WABI | 1 |
| 2021 | Range Majorities and Minorities in Arrays
Djamal Belazzougui, Travis Gagie, J. Ian Munro, Gonzalo Navarro 0001, Yakov Nekrich |
Algorithmica | 2 |
| 2021 | An index for moving objects with constant-time access to their compressed trajectoriesabstractAs 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 TextabstractWe 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 |
DCC | 3 |
| 2020 | Practical Random Access to SLP-Compressed Texts
Travis Gagie, Tomohiro I, Giovanni Manzini, Gonzalo Navarro 0001, Hiroshi Sakamoto, Louisa Seelbach Benkner, Yoshimasa Takabatake |
SPIRE | 1 |
| 2020 | Compressed Dynamic Range Majority and Minority Data Structures
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001 |
Algorithmica | 1 |
| 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 SpaceabstractIndexing 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. ACM | 1 |
| 2020 | Refining the r-index
Hideo Bannai, Travis Gagie, Tomohiro I |
Theor. Comput. Sci. | 2 |
| 2020 | Tree path majority data structuresabstractWe 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 SpaceabstractConverting 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 |
CPM | 2 |
| 2019 | Tunneling on Wheeler GraphsabstractBaier (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 |
DCC | 2 |
| 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 |
RECOMB | 4 |
| 2019 | Faster Dynamic Compressed d-ary Relations
Diego Arroyuelo, Guillermo de Bernardo, Travis Gagie, Gonzalo Navarro 0001 |
SPIRE | 3 |
| 2019 | Rpair: Rescaling RePair with Rsync
Travis Gagie, Tomohiro I, Giovanni Manzini, Gonzalo Navarro 0001, Hiroshi Sakamoto, Yoshimasa Takabatake |
SPIRE | 1 |
| 2019 | A compact index for order-preserving pattern matchingabstractSummary 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 WidthabstractThe 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. Algorithms | 5 |
| 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 RLBWTsabstractLempel-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 |
CPM | 2 |
| 2018 | Two-Dimensional Block TreesabstractThe 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 |
DCC | 2 |
| 2018 | Exploiting Computation-Friendly Graph Compression Methods for Adjacency-Matrix MultiplicationabstractComputing 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 |
DCC | 2 |
| 2018 | Tree Path Majority Data Structures
Travis Gagie, Meng He 0001, Gonzalo Navarro 0001 |
ISAAC | 1 |
| 2018 | On the Approximation Ratio of Lempel-Ziv Parsing
Travis Gagie, Gonzalo Navarro 0001, Nicola Prezza |
LATIN | 1 |
| 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 |
RECOMB | 3 |
| 2018 | Optimal-Time Text Indexing in BWT-runs Bounded SpaceabstractIndexing 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 |
SODA | 1 |
| 2018 | Prefix-Free Parsing for Building Big BWTs
Christina Boucher 0001, Travis Gagie, Alan Kuhnle, Giovanni Manzini |
WABI | 2 |
| 2018 | Guest Editorial: Special Issue on Compact Data Structures
Travis Gagie, Gonzalo Navarro 0001 |
Algorithmica | 1 |
| 2018 | Practical dynamic de Bruijn graphsabstractMotivation: 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 TreesabstractSuffix 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 |
CiE | 3 |
| 2017 | Fast and Simple Jumbled Indexing for Binary Run-Length Encoded StringsabstractImportant 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 |
CPM | 3 |
| 2017 | Path Queries on FunctionsabstractLet 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 |
CPM | 1 |
| 2017 | A Compact Index for Order-Preserving Pattern MatchingabstractOrder-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 |
DCC | 2 |
| 2017 | Compressed Dynamic Range Majority Data StructuresabstractIn 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 |
DCC | 1 |
| 2017 | An Encoding for Order-Preserving MatchingabstractEncoding 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 |
ESA | 1 |
| 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 |
SPIRE | 2 |
| 2017 | Efficient Compression and Indexing of Trajectories
Nieves R. Brisaboa, Travis Gagie, Adrián Gómez-Brandón, Gonzalo Navarro 0001, José R. Paramá |
SPIRE | 2 |
| 2017 | Fast and Compact Planar Embeddings
Leo Ferres, José Fuentes-Sepúlveda, Travis Gagie, Meng He 0001, Gonzalo Navarro 0001 |
WADS | 3 |
| 2017 | Succinct colored de Bruijn graphsabstractMOTIVATION: 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 collectionsabstractMost 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 structuresabstractThe 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 |
LATIN | 2 |
| 2016 | Longest Common Abelian Factors and Large Alphabets
Golnaz Badkobeh, Travis Gagie, Szymon Grabowski, Yuto Nakashima 0001, Simon J. Puglisi, Shiho Sugimoto |
SPIRE | 2 |
| 2016 | Fully Dynamic de Bruijn Graphs
Djamal Belazzougui, Travis Gagie, Veli Mäkinen, Marco Previtali |
SPIRE | 2 |
| 2016 | RLZAP: Relative Lempel-Ziv with Adaptive Pointers
Anthony J. Cox, Andrea Farruggia, Travis Gagie, Simon J. Puglisi, Jouni Sirén |
SPIRE | 3 |
| 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 |
SPIRE | 2 |
| 2016 | Analyzing Relative Lempel-Ziv Reference Construction
Travis Gagie, Simon J. Puglisi, Daniel Valenzuela 0001 |
SPIRE | 1 |
| 2015 | Composite Repetition-Aware Data Structures
Djamal Belazzougui, Fabio Cunial, Travis Gagie, Nicola Prezza, Mathieu Raffinot |
CPM | 3 |
| 2015 | Queries on LZ-Bounded EncodingsabstractWe 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 |
DCC | 2 |
| 2015 | Variable-Order de Bruijn GraphsabstractThe 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 |
DCC | 3 |
| 2015 | Faster Compressed QuadtreesabstractReal-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 |
DCC | 1 |
| 2015 | Document Counting in Compressed SpaceabstractWe 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 |
DCC | 1 |
| 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 |
DLT | 2 |
| 2015 | Approximating LZ77 via Small-Space Multiple-Pattern Matching
Johannes Fischer 0001, Travis Gagie, Pawel Gawrychowski, Tomasz Kociumaka |
ESA | 2 |
| 2015 | Relative Select
Christina Boucher 0001, Alexander Bowe, Travis Gagie, Giovanni Manzini, Jouni Sirén |
SPIRE | 3 |
| 2015 | Binary Jumbled Pattern Matching on Trees and Tree-Like Structures
Travis Gagie, Danny Hermelin, Gad M. Landau, Oren Weimann |
Algorithmica | 1 |
| 2015 | Explaining a Weighted DAG with Few Paths for Solving Genome-Guided Multi-AssemblyabstractRNA-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 CodesabstractMost 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. Theory | 1 |
| 2014 | Indexed Geometric Jumbled Pattern Matching
Stephane Durocher, Robert Fraser, Travis Gagie, Debajyoti Mondal, Matthew Skala, Sharma V. Thankachan |
CPM | 3 |
| 2014 | Relative Lempel-Ziv with Constant-Time Random AccessabstractRelative 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 |
DCC | 1 |
| 2014 | LZ77-Based Self-indexing with Faster Pattern Matching
Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Yakov Nekrich, Simon J. Puglisi |
LATIN | 1 |
| 2014 | Relative FM-Indexes
Djamal Belazzougui, Travis Gagie, Simon Gog, Giovanni Manzini, Jouni Sirén |
SPIRE | 2 |
| 2014 | Relative Lempel-Ziv with Constant-Time Random Access
Héctor Ferrada, Travis Gagie, Simon Gog, Simon J. Puglisi |
SPIRE | 2 |
| 2014 | Efficient Fully-Compressed Sequence Representations
Jérémy Barbay, Francisco Claude, Travis Gagie, Gonzalo Navarro 0001, Yakov Nekrich |
Algorithmica | 3 |
| 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 |
CPM | 1 |
| 2013 | Document Listing on Repetitive Collections
Travis Gagie, Kalle Karhu, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén |
CPM | 1 |
| 2013 | Binary Jumbled Pattern Matching on Trees and Tree-Like Structures
Travis Gagie, Danny Hermelin, Gad M. Landau, Oren Weimann |
ESA | 1 |
| 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 |
SPIRE | 2 |
| 2013 | Better Space Bounds for Parameterized Range Majority and Minority
Djamal Belazzougui, Travis Gagie, Gonzalo Navarro 0001 |
WADS | 2 |
| 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 |
LATA | 1 |
| 2012 | Forbidden Patterns
Johannes Fischer 0001, Travis Gagie, Tsvi Kopelowitz, Moshe Lewenstein, Veli Mäkinen, Leena Salmela, Niko Välimäki |
LATIN | 2 |
| 2012 | Indexed Multi-pattern Matching
Travis Gagie, Kalle Karhu, Juha Kärkkäinen, Veli Mäkinen, Leena Salmela, Jorma Tarhio |
LATIN | 1 |
| 2012 | Lightweight Data Indexing and Compression in External Memory
Paolo Ferragina, Travis Gagie, Giovanni Manzini |
Algorithmica | 2 |
| 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 |
CPM | 1 |
| 2011 | Faster Approximate Pattern Matching in Compressed Repetitive Texts
Travis Gagie, Pawel Gawrychowski, Simon J. Puglisi |
ISAAC | 1 |
| 2011 | Finding Frequent Elements in Compressed 2D Arrays and Strings
Travis Gagie, Meng He 0001, J. Ian Munro, Patrick K. Nicholson |
SPIRE | 1 |
| 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 |
LATA | 1 |
| 2010 | Lightweight Data Indexing and Compression in External Memory
Paolo Ferragina, Travis Gagie, Giovanni Manzini |
LATIN | 2 |
| 2010 | Fast and Compact Prefix Codes
Travis Gagie, Gonzalo Navarro 0001, Yakov Nekrich |
SOFSEM | 1 |
| 2010 | Colored Range Queries and Document Retrieval
Travis Gagie, Gonzalo Navarro 0001, Simon J. Puglisi |
SPIRE | 1 |
| 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 |
CPM | 1 |
| 2009 | Low-Memory Adaptive Prefix CodingabstractIn 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 |
DCC | 1 |
| 2009 | Minimax Trees in Linear Time with Applications
Pawel Gawrychowski, Travis Gagie |
IWOCA | 2 |
| 2009 | Range Quantile Queries: Another Virtue of Wavelet Trees
Travis Gagie, Simon J. Puglisi, Andrew Turpin |
SPIRE | 1 |
| 2009 | Worst-Case Optimal Adaptive Prefix Coding
Travis Gagie, Yakov Nekrich |
WADS | 1 |
| 2009 | A New Algorithm for Building Alphabetic Minimax TreesabstractWe 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. Informaticae | 1 |
| 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 |
CPM | 1 |
| 2007 | Space-Conscious Compression
Travis Gagie, Giovanni Manzini |
MFCS | 1 |
| 2007 | Dynamic Shannon coding
Travis Gagie |
Inf. Process. Lett. | 1 |
| 2006 | Dynamic Asymmetric CommunicationabstractSummary 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 |
DCC | 1 |
| 2006 | Dynamic Asymmetric Communication
Travis Gagie |
SIROCCO | 1 |
| 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 CodingabstractThis 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 Conference | 1 |
| 2004 | Dynamic Shannon Coding
Travis Gagie |
ESA | 1 |
| 2003 | New Ways to Construct Binary Search Trees
Travis Gagie |
ISAAC | 1 |