cuttlefish
cuttlefish copied to clipboard
Cuttlefish as C++ API / header library?
I am very interested in using cuttlefish from within C++ code and was wondering if it would be possible for you to provide some kind of C++ API / header library? I'd be particularly interested in functionality like
Minimal:
- building a colored and compacted de Bruijn Graph
- query kmers
- iterate over unitigs
- inspect colors per kmer (ideally associated with identifiers of the input samples)
For convenience:
- determine neighbors of a unitig u (likely be a query of 2*4 kmers that eventually border u)
- graph simplification (delete tips and singletons of length smaller than a threshold)
- annotate nodes with custom data (there might be no need for it in case the graph provides a deterministic way of iterating over the unitigs)
PS: Great talk and contribution to DSB2021! Glad I could learn more about cuttlefish there.
inspect colors per kmer
This would also help with mine and the question of @jamshed-k #3 : "to know if some segment with id x is shared among multiple references or not ". While this information is in the GFA output it gets computational expensive to figure out for each of the nodes in what references is was present when the graph gets large
Hello @Krannich479, glad to know your interest in using cuttlefish (and thanks for attending the DSB'21 talk)!
The functionalities that you proposed to include looks great. We certainly have these issues (and more) in the roadmap for the cuttlefish-expansion process; but these are presently prioritized after some current development milestones that we've been working on. Right now I'm short on work-cycles to put into the expansion. But you (and @rickbeeloo!) can rest assured that relevant functionalities will be supported soon—it may take a few months.
Also, let us know if we can help with any of the currently supported features!
Regards.