REVIEW 2 major objections 5 minor 28 references
An Index for Sequencing Reads Based on The Colored de Bruijn Graph
T0 review · 2 major / 5 minor · reviewed 2026-08-14 · deepseek-v4-flash
Pith's one-line read A colored de Bruijn graph index stores massive read sets in about half the plain-text space and still reconstructs more than 99% of the reads.
desk verdict A real engineering contribution on compressing colored de Bruijn graphs that is worth a serious look, but the reconstruction guarantee is asserted rather than proven and the experiments are thin. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The machinery is a partial and greedy coloring scheme on a BOSS-encoded dBG, plus a succinct color matrix. A bitmap N marks the nodes that need colors; per colored node, an array stores its color list sorted and delta-encoded; concatenating the lists into $M'$ and marking boundaries with a bitmap $F$ yields the representation $C = N + F + M'$, from which getColors(v) retrieves a node's colors in $O(c)$ time. The coloring rule is the load-bearing mechanism: for each read, build the neighbor set $I_i$ of successors and predecessors touching branching nodes along the read's path, collect the colors already used there, and assign the smallest unused color. The claim is that this local conflict check suffices to keep every unambiguous read's path safe, so buildSeqs can walk deterministically at branching nodes.
What would settle it
Construct the four-string grid configuration used in the proof of Lemma 2—reads $R_i$, $R_j$, $R_x$, $R_y$ arranged so the paths cross—run greedyCol and then buildSeqs, and check whether any reported string is absent from the input; a chimeric output would disprove the local neighbor check. On the E. coli data, align every reconstructed read to the reference genome and count reads whose kmer path hits two distant loci.
Extended reading notes
Core claim
At the core of the paper is the observation that a read-colored de Bruijn graph does not need a color on every node: only starting, ending, and critical nodes—about 12.4% of the BOSS nodes in the experiments—must carry colors for paths to be safe. The greedy coloring then reuses the same color across many reads, shrinking the color set from millions of reads to a few thousand. The color information is stored as a compressed matrix C built from a bitmap of colored nodes, delta-encoded color lists, and a delimiter bitmap, giving a getColors(v) operation in time proportional to the number of colors of the node. On top of this, buildSeqs walks from each colored starting node, following the unique successor with the read's color at branching nodes, and reconstructs all unambiguous reads; a second procedure, contigAssm, assembles contigs by weighting outgoing edges according to the color overlap of active reads.
Load-bearing premise
The load-bearing assumption is that looking only at the immediate neighboring nodes of a read's path can completely rule out any later fork where two exits carry the same color; if a conflict slips past this local check, the reconstruction routine can output a wrong, chimeric sequence for a read that the paper calls unambiguous.
Editorial extensions
If this is right
- An 834 MB plain-text read set becomes an index of roughly 440 MB, and the same index answers navigation and reconstruction queries without decompressing the reads.
- Reconstruction is exact on unambiguous reads: the paper verifies every rebuilt sequence against an FM-index of $R'$, so the loss is confined to a small, identifiable ambiguous set.
- The number of colors needed falls to a few thousand even for 8.6 million reads, so per-color operations—such as deciding which reads share a kmer—become orders of magnitude cheaper.
- The same colored topology supports a contig-assembly heuristic, contigAssm, which extends a walk along successors carrying at least a threshold fraction of the active colors.
- Because the neighbor sets $W_i$ and $I_i$ are built independently per read, coloring parallelizes across threads, and the measured build time of roughly 5,000 seconds on eight threads shows the index is constructible on a single workstation.
Reading between the lines
- The partial-coloring principle should transfer to any collection of overlapping strings whose dBG has few branching nodes, not just DNA reads; metagenomic or RNA-seq read sets would test whether the 12.4% colored-node fraction is typical or E. coli-specific.
- The strong dependence of ambiguity on $k$ (1,904 at $k=25$ down to 176 at $k=50$) suggests $k$ can be used as a loss-versus-density dial: applications needing nearly every read should choose $k$ near 50, while assembly-oriented uses might accept smaller $k$ and denser graphs.
- Because colors are shared among reads that are locally context-compatible, the color matrix doubles as a read-clustering hint: reads carrying the same color through a region are candidates for originating from the same genomic locus, which could seed overlap detection without pairwise alignment.
- A natural next experiment is to align every reconstructed read to the reference genome and check that no read maps to two distant loci; the published validation verifies membership in the input set.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. This paper presents a compressed index for a large set of DNA sequencing reads based on a colored de Bruijn graph. The index uses the BOSS representation for the graph and a compressed color matrix C. The main novelties are an incomplete coloring scheme that colors only starting, ending, and critical nodes, and a greedy algorithm that reuses colors for different reads whenever the local neighbor sets do not already contain that color. The paper also defines two algorithms on top of the index: buildSeqs, which reconstructs reads from their colored paths, and contigAssm, a heuristic for assembling contigs. Experiments on a single E. coli read set (8.6M reads after preprocessing) show that the index uses about half the space of the plain read representation (compression ratio 1.86–1.92) and that more than 99% of the reads are reconstructed, with the number of ambiguous sequences ranging from 176 to 1,904 depending on k. The paper does not provide a formal proof that the greedy coloring guarantees safe reconstruction of all unambiguous reads; Lemma 1 gives only a necessary condition, and Lemma 2 warns of a failure mode.
Significance. If the reconstruction guarantee can be established, this paper would be a valuable contribution to compact read indexing: the partial coloring and greedy color reuse achieve a substantial reduction in the color matrix, the implementation is made available, and the reported compression ratios and reconstruction rates on a real dataset are encouraging. The idea of coloring only critical nodes to save space is sensible, and the empirical evaluation, though limited to one dataset, demonstrates practicality. The main weakness is that the central correctness claim is asserted rather than proven, which limits the usefulness of the reconstruction algorithm as a building block for other analyses. The single-dataset evaluation and the absence of a comparison with existing colored dBG indexes also temper the strength of the empirical claims.
major comments (2)
- [Section 4 (Safer and greedy coloring), Pseudocode 1, Algorithm 2] The central reconstruction claim relies on an unproven invariant of the greedy coloring. Lemma 1 states only necessary conditions for a safe path, and Lemma 2 gives a counterexample for a different recoloring scheme; no lemma or theorem shows that the colors assigned by greedyCol make every unambiguous path safe. The local check in Pseudocode 1 (lines 24–26) considers only the colors already present in I_i ∪ W_i when R_i is processed; a later read can, in principle, assign the same color to a successor of a branching node on R_i's path, and the paper does not prove that this successor necessarily belongs to the later read's I_j ∪ W_j. Because of this, buildSeqs may abort for an unambiguous read or reconstruct it as a different read, and the 'Ambiguous sequences' counts in Table 2 do not separate inherent ambiguity from coloring-induced conflicts. The FM-index verification checks that a reconstructed string occurs in R', not that it is the read that was walked from. A sufficiency proof (e.g., the two invariants mentioned by the reviewer) or an experimental test that distinguishes the two failure sources is needed before the central 99% reconstruction claim is established.
- [Section 3 (Definitions, unambiguous sequence)] The definition of an unambiguous sequence is not formally parseable. The clause 'if no pair of colored nodes in (u,v)∈P share a predecessor node v'∈P' mixes edges and nodes and does not express a clear condition. Since Table 2 reports counts of ambiguous sequences and Algorithm 2 is designed for unambiguous ones, this definition must be stated precisely, with explicit quantifiers over the path and the graph.
minor comments (5)
- [Algorithm 2, line 21] The reconstructed sequence is stored as S[2..|S|−1] rather than S'[2..|S'|−1]; as written, buildSeqs would store the prefix label rather than the full reconstructed read.
- [Pseudocode 3, line 8] When indegree(G,v)>1, only the first predecessor returned by backward_r is inspected, while the surrounding text says 'one of its predecessor nodes' should be checked; this inconsistency likely makes the contig assembly fail to register new reads unless the starting node happens to be the first predecessor.
- [Section 7 and 8] The contig assembly algorithm is not evaluated in the experiments; since the abstract lists it as a contribution, at least a basic experiment on the same dataset would be expected.
- [Section 8] The paper does not compare the index's space or reconstruction time to existing colored dBG indexes such as VARI, Mantis, or Rainbowfish; such a comparison would help contextualize the reported compression rates.
- [Introduction and Table 2] The introduction's claim that 'the percentage of nodes in BOSS that need to be colored is about 12.4%' is not directly derivable from Table 2; please state the computation or the averaging method.
Circularity Check
No significant circularity: the compression and reconstruction claims are measured outcomes validated against an external FM-index, not derived from fitted inputs.
full rationale
I examined the derivation chain of the paper. The central quantitative claims are the compression rate (index size relative to the plain read file) and the fraction of reads reconstructed by buildSeqs. Both are experimentally measured, and the reconstructed reads are checked against an independently built FM-index of R', so the reconstruction claim is externally grounded rather than being equivalent to the algorithm's own definitions. The space saving is a direct comparison of file sizes, not a parameter fitted to make a derivation work. The greedy coloring uses k as a user-chosen construction parameter, and the threshold x in contigAssm appears only in the assembly heuristic and does not enter the reconstruction or space claims. The paper's definition of unambiguous sequences is tied to the colored graph, and the greedy coloring's safety invariant is asserted through necessary conditions (Lemma 1) and a conflict check over I_i and W_i without a full sufficiency proof; this is a soundness gap that could affect the interpretation of the ambiguous-sequence counts, but it is not circularity because the reconstruction counts are empirical and externally validated. The paper also builds on previously published, independent work (BOSS, VARI, and Alipanahi et al.'s recoloring) rather than on a self-citation chain. No prediction reduces by construction to a fitted constant or to an input-defined quantity, so I find no significant circularity.
Assumptions & free parameters
free parameters (2)
- k (k-mer size) =
25, 30, 35, 40, 45, 50
- x (contig extension threshold) =
not reported (example figure uses 0.5)
assumptions (4)
- domain assumption The input reads are DNA strings over {a,c,g,t} after preprocessing removes reads containing N.
- domain assumption The read set is factor-free: no read is a substring of another.
- standard math BOSS and rank/select operations have the stated space and O(1)/O(log sigma) time bounds.
- domain assumption The dBG of order k built from R' (reads plus reverse complements) is the right object for read reconstruction.
Cite this review
Pith. "Pith review of An Index for Sequencing Reads Based on The Colored de Bruijn Graph." pith.science (2026). https://pith.science/paper/SD3SXTB6
@misc{pith2026190802211,
author = {Pith},
title = {Pith review of: An Index for Sequencing Reads Based on The Colored de Bruijn Graph},
year = {2026},
howpublished = {\url{https://pith.science/paper/SD3SXTB6}},
note = {Machine review of arXiv:1908.02211}
}
read the original abstract
In this article, we show how to transform a colored de Bruijn graph (dBG) into a practical index for processing massive sets of sequencing reads. Similar to previous works, we encode an instance of a colored dBG of the set using BOSS and a color matrix C. To reduce the space requirements, we devise an algorithm that produces a smaller and more sparse version of C. The novelties in this algorithm are (i) an incomplete coloring of the graph and (ii) a greedy coloring approach that tries to reuse the same colors for different strings when possible. We also propose two algorithms that work on top of the index; one is for reconstructing reads, and the other is for contig assembly. Experimental results show that our data structure uses about half the space of the plain representation of the set (1 Byte per DNA symbol) and that more than 99% of the reads can be reconstructed just from the index.
Figures
Reference graph
Works this paper leans on
- [1]
- [2]
-
[3]
Journal of Computational Biology 19(5), 455–477 (2012)
Bankevich, A., Nurk, S., Antipov, D., Gurevich, A.A., Dvorkin, M., Kulikov, A.S., Lesin, V.M., Nikolenko, S.I., Pham, S., Prjibelski, A.D., et al.: SPAdes: A new genome assembly algorithm and its applications to single-cell sequencing. Journal of Computational Biology 19(5), 455–477 (2012)
work page 2012
- [4]
- [5]
-
[6]
Nature Biotechnology 34(5), 525–527 (2016)
Bray, N., Pimentel, H., Melsted, P., Pachter, L.: Near-optimal probabilistic rna-seq quantification. Nature Biotechnology 34(5), 525–527 (2016)
work page 2016
-
[7]
Koninklijke Nederlandse Akademie v
de Bruijn, N.G.: A combinatorial problem. Koninklijke Nederlandse Akademie v. Wetenschappen 49(49), 758–764 (1946)
work page 1946
-
[8]
Burrows, M., Wheeler, D.: A block sorting lossless data compression algorithm. Tech. Rep. 124, Digital Equipment Corporation (1994)
1994
Show all 28 references
-
[9]
Clark, D.: Compact PAT Trees. Ph.D. thesis, University of Waterloo, Canada (1996)
1996
-
[10]
Journal of the ACM 21(2), 246–260 (1974)
Elias, P.: Efficient storage and retrieval by content and address of static files. Journal of the ACM 21(2), 246–260 (1974)
1974
-
[11]
Massachusetts Institute of Technology (1971)
Fano, R.M.: On the number of bits required to implement an associative memory. Massachusetts Institute of Technology (1971)
1971
-
[12]
In: Proc
Gog, S., Beller, T., Moffat, A., Petri, M.: From theory to practice: Plug and play with succinct data structures. In: Proc. 13th International Symposium on Experi- mental Algorithms (SEA). pp. 326–337 (2014)
2014
-
[13]
In: Proc
Holley, G., Wittler, R., Stoye, J.: Bloom filter trie – a data structure for pan-genome storage. In: Proc. 15th International Workshop on Algorithms in Bioinformatics (WABI). pp. 217–230 (2015)
2015
-
[14]
Jour- nal of Computational Biology 2(2), 291–306 (1995)
Idury, R.M., Waterman, M.S.: A new algorithm for DNA sequence assembly. Jour- nal of Computational Biology 2(2), 291–306 (1995)
1995
-
[15]
Nature Genetics 44(2), 226–232 (2012)
Iqbal, Z., Caccamo, M., Turner, I., Flicek, P., McVean, G.: De novo assembly and genotyping of variants using colored de Bruijn graphs. Nature Genetics 44(2), 226–232 (2012)
2012
-
[16]
Algorithmica 13(1), 7–51 (1995)
Kececioglu, J.D., Myers, E.W.: Combinatorial algorithms for DNA sequence as- sembly. Algorithmica 13(1), 7–51 (1995)
1995
-
[17]
Springer (2015)
Lewis, R.: A Guide to Graph Colouring. Springer (2015)
2015
-
[18]
Nordic Journal of Computing 12(1), 40–66 (2005)
M¨ akinen, V., Navarro, G.: Succinct suffix arrays based on run-length encoding. Nordic Journal of Computing 12(1), 40–66 (2005)
2005
-
[19]
In: Proc
Medvedev, P., Georgiou, K., Myers, G., Brudno, M.: Computability of models for sequence assembly. In: Proc. 7th International Workshop on Algorithms in Bioinformatics (WABI). pp. 289–301. Springer (2007) An Index for Sequencing Reads Based on The Colored de Bruijn Graph 15
2007
-
[20]
Journal of Computational Biology 18(11), 1625–1634 (2011)
Medvedev, P., Pham, S., Chaisson, M., Tesler, G., Pevzner, P.: Paired de bruijn graphs: a novel approach for incorporating mate pair information into genome assemblers. Journal of Computational Biology 18(11), 1625–1634 (2011)
2011
-
[21]
bioRxiv p
Mustafa, H., Kahles, A., Karasikov, M., Raetsch, G.: Metannot: A succinct data structure for compression of colors in dynamic de bruijn graphs. bioRxiv p. article 236711 (2017)
2017
-
[22]
Bioinformatics 35(3), 407–414 (2018)
Mustafa, H., Schilken, I., Karasikov, M., Eickhoff, C., R¨ atsch, G., Kahles, A.: Dynamic compression schemes for graph coloring. Bioinformatics 35(3), 407–414 (2018)
2018
-
[23]
Cambridge Univer- sity Press (2016)
Navarro, G.: Compact Data Structures: A Practical Approach. Cambridge Univer- sity Press (2016)
2016
-
[24]
In: Proc
Okanohara, D., Sadakane, K.: Practical entropy-compressed rank/select dictionary. In: Proc. 9th Workshop on Algorithm Engineering and Experiments (ALENEX). pp. 60–70 (2007)
2007
-
[25]
Cell Systems 7(2), 201–207 (2018)
Pandey, P., Almodaresi, F., Bender, M.A., Ferdman, M., Johnson, R., Patro, R.: Mantis: A fast, small, and exact large-scale sequence-search index. Cell Systems 7(2), 201–207 (2018)
2018
-
[26]
ACM Transactions on Algorithms 3(4), article 43 (2007)
Raman, R., Raman, V., Satti, S.R.: Succinct indexable dictionaries with applica- tions to encoding k-ary trees, prefix sums and multisets. ACM Transactions on Algorithms 3(4), article 43 (2007)
2007
-
[27]
Molecular Cell 58(4), 586–597 (2015)
Reuter, J., Spacek, D., Snyder, M.: High-throughput sequencing technologies. Molecular Cell 58(4), 586–597 (2015)
2015
-
[28]
Bioinformatics 33(6), 799–806 (2016) 16 D
Salmela, L., Walve, R., Rivals, E., Ukkonen, E.: Accurate self-correction of errors in long reads using de bruijn graphs. Bioinformatics 33(6), 799–806 (2016) 16 D. D´ ıaz-Dom´ ınguez 10 Appendix A Pseudocodes Algorithm 1 Function greedyCol 1: procedure greedyCol(G,N,Ri,M) ⊿ G...
2016
Reviewed August 14, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.