seqan3 icon indicating copy to clipboard operation
seqan3 copied to clipboard

[FEATURE] seqan3::align_multiple for MSA dependent on seqan2

Open smehringer opened this issue 4 years ago • 3 comments

Part of https://github.com/seqan/product_backlog/issues/104

Note: Changing the result type as discussed into a seqan3::multiple_sequence_alignment_result type that models a range over aligned sequences will follow in a separate PR.

smehringer avatar Jul 20 '20 12:07 smehringer

Codecov Report

Merging #1990 into master will increase coverage by 0.01%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1990      +/-   ##
==========================================
+ Coverage   97.86%   97.88%   +0.01%     
==========================================
  Files         267      269       +2     
  Lines       10055    10145      +90     
==========================================
+ Hits         9840     9930      +90     
  Misses        215      215              
Impacted Files Coverage Δ
...clude/seqan3/alignment/multiple/align_multiple.hpp 100.00% <100.00%> (ø)
...ltiple/detail/align_multiple_seqan2_adaptation.hpp 100.00% <100.00%> (ø)
include/seqan3/io/stream/iterator.hpp 98.52% <0.00%> (-0.03%) :arrow_down:
include/seqan3/search/search.hpp 100.00% <0.00%> (ø)
include/seqan3/range/views/detail.hpp 100.00% <0.00%> (ø)
include/seqan3/search/search_result.hpp 100.00% <0.00%> (ø)
include/seqan3/search/fm_index/fm_index_cursor.hpp 100.00% <0.00%> (ø)
...lude/seqan3/search/fm_index/bi_fm_index_cursor.hpp 100.00% <0.00%> (ø)
...de/seqan3/argument_parser/detail/version_check.hpp 92.74% <0.00%> (ø)
...qan3/alignment/pairwise/alignment_configurator.hpp 100.00% <0.00%> (ø)
... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0a02af9...f7e06a8. Read the comment docs.

codecov[bot] avatar Sep 01 '20 06:09 codecov[bot]

Can you go through the documentation and seqan2->SeqAn2, seqan3->SeqAn3, seqan->SeqAn, where not used as part of a type.

Done. (also not if used as a variable name etc. just docs)

I'm also pretty sure, that we don't want to explicitly say SeqAn3 because of semantic versioning, but I don't see how to omit the 3 and not get entirely confused :)

Well, in the public API I did not mention either SeqAn3 nor SeqAn2 but just in the detail documentation that actually uses both libraries. I think removing that would be too confusing and since it is hidden from the user I hope it is fine?

Also: msa->MSA

Done. (I think it was only once?)

smehringer avatar Sep 02 '20 09:09 smehringer

* Make the return type an actual alignment_result and store the alignment etc. inside of it.

Yes, already a follow up!

* We might be able to build the alignment graph over original sequences, since the gaps are merely stored as position offsets. Then we could avoid copying everything again.

I tried to use std::vectors and seqan3 alphabets but I could several deep down errors that I couldn't understand (although I did not put much effort into it). This would be a follow up that needs to be investigated also considering you suggestions to use a simple char type as adaptation.

* Make the input generic for ranges.

Yes.

smehringer avatar Oct 14 '20 09:10 smehringer

the MSA is not used right now. Before having an actual use case we will not pull in the MSA module

smehringer avatar Sep 16 '22 10:09 smehringer