This release of the library features a restructured public API for the dictionary and its supported queries.
- "Advanced" lookup queries now include, besides the usual absolute
kmer_id
: contig information (contig_id
andcontig_size
of the contig where the k-mer lies in), the relative (within the contig) identifier of the k-mer (namedkmer_id_in_contig
), and the orientation of the k-mer in the contig. For any positive query,0 <= kmer_id_in_contig < contig_size
holds true. - Streaming queries are now general, not just streaming membership queries as they were in the previous releases, and return advanced lookup information by default.
- Support for Navigational queries has been added. Given a k-mer g[1..k], a navigational query determines if g[2..k]+x is present (forward neighbourhood) and if x+g[1..k-1] is present (backward neighbourhood) in the dictionary, for x = A, C, G, T ('+' here means string concatenation).
If a contig identifier is specified for a navigational query (rather than a k-mer), then the backward neighbourhood of the first k-mer and the forward neighbourhood of the last k-mer in the contig are returned.