seqan3
seqan3 copied to clipboard
wip traceback alignment
The draft PR for the traceback computation in the new alignment. solves seqan/product_backlog#74
Changes
- Adds a trace matrix that stores the entire trace column
- Adds a pairwise_alignment matrix which combines the score matrix and the trace matrix
- Adds special functions for the affine recursion policy to also compute the traceback
- Allows Uses the aligned_seuqence_builder to construct the traceback
Open changes/design discussions:
- [x] Configure the alignment matrix in the configurator and pass the type to the algorithm using the configuration with an extra configuration tag (similar to the result type).
- [ ] Evaluate actual performance after the simd part has been merged and integrated.
- [x] Remove trace_cell_proxy and only combine the trace and score version inside of the affine_cell_proxy (make it dependent on how it is created and enable certain conversions and functions only if they offer the values using requires clauses).
- [x] Do not use extra zip in combined pairwise alignment matrix (we could directly work on the two stored matrices since the zipping only saves one additional increment and I do not see that there will be variable many matrices, which could be solved with a zip)
- [x] move the result creation stuff actually into the policy for building the result.
- [x] Make the currently fixed cell types in the affine_gap policy dependent on the configuration.
- [x] Reenable the debug mode to check if the complete matrices were filled correctly. So far the tested alignments worked.
This seems still in a pretty rough state (only a single commit), I remove my review request for now. Please assign me again if I should start reviewing this. Thank you!
Sorry, I didn't know you were requested 😱 . This was the original work. All the PRs you just reviewed are extracts of this PR. So this will be closed in the end. I first thought I can discuss certain designs with you before.
Outdated, waiting for Renes return.