Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The idea of this change is to keep the alignment separate from search (query).
The query mode will perform operations that return annotation labels with counts for the sequences queried (e.g. via k-mer matching).
The align mode will align to a graph and return alignments with their scores. The reference graph can be a single graph, a subgraph of an annotated graph, or an entire annotated graph. For an annotated graph, this would perform alignment to separate columns and return the alignments (as BLAST).
Any combinations of query and align, such as the current strategy of search with alignment performed against the joint graph followed by querying annotations for the aligned paths, can be done externally in two steps: first run align and pick top alignments and then run query to retrieve the labels for the top alignments.
They don't require the complicated merged interface and can be implemented on the highest level, like Python API.
TODO: implement search(..., align=True) in Python API, as there is no such routine in the core engine anymore.