Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MISC] Update to seqan 3.0.3 #173

Merged
merged 5 commits into from
Jun 22, 2021
Merged

[MISC] Update to seqan 3.0.3 #173

merged 5 commits into from
Jun 22, 2021

Conversation

eseiler
Copy link
Member

@eseiler eseiler commented Jun 18, 2021

  • Update seqan2 to newest develop
  • Update seqan3 to 3.0.3
  • Add GCC11 support
  • Update CI scripts

The checksums for the tests changed because of some fixed bugs/new features:

Regarding CI updates:
In SeqAn3, we put most of the bash scripts into .sh files. This also means we can use those scripts whenever we have seqan3 as submodule. The scripts take care of ubuntu/macOS differences and try to be relatively fail-safe.

@sarahet sarahet requested review from sarahet and h-2 June 18, 2021 13:47
Copy link
Member

@h-2 h-2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the two small comments, this all looks good! Thank you for working on this!

Before we merge, we need to compare the performance. If the results of the search are changed, it would also be good to know how they changed exactly (minor difference in few results or larger changes).

// The return type of views::pos_transform
template <std::ranges::view urng_t, typename pos_transform_t, typename size_transform_t>
class view_pos_transform : public ranges::view_base
class view_pos_transform : public std::ranges::view_interface<view_pos_transform<urng_t, pos_transform_t, size_transform_t>> //public ranges::view_base
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not against this change, but why was it necessary?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this was from trying stuff out, I can probably just revert (or use std::ranges::view_base). Will check

template <typename t, bool b1, bool b2>
inline constexpr bool is_new_range<seqan3::detail::view_take<t, b1, b2>> = true;
template <typename t>
inline constexpr bool is_new_range<std::ranges::take_view<t>> = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This means is_new_range is specialised for the the standard take_view but not anymore for SeqAn's take_view. Shouldn't we have both?

Copy link
Member Author

@eseiler eseiler Jun 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can have both, but as far as I remember this is important because seqan3::views::slice is used somewhere. In seqan3 we now use the std views for slice, so we technically don't need the specialisation for seqan3.

@eseiler
Copy link
Member Author

eseiler commented Jun 21, 2021

If the results of the search are changed, it would also be good to know how they changed exactly (minor difference in few results or larger changes).

Differences in few results, and only in the SIMD tests, Serial stayed the same. SIMD changes are due to fixes in SIMD alignment seqan/seqan#2417

@sarahet
Copy link
Member

sarahet commented Jun 21, 2021

If the results of the search are changed, it would also be good to know how they changed exactly (minor difference in few results or larger changes).

Differences in few results, and only in the SIMD tests, Serial stayed the same. SIMD changes are due to fixes in SIMD alignment seqan/seqan#2417

Minor differences: 2% of the hits change, the new hit is always longer than previously reported with slightly lower percent identity. The end of the query/subject stay always the same, only the start changes. This matches the expectation we had from the problem we reported last year for SIMD which as been fixed in this PR I think.

@h-2 h-2 merged commit d14cc60 into seqan:lambda3 Jun 22, 2021
@h-2
Copy link
Member

h-2 commented Jun 22, 2021

Merged this, thank you! Any necessary changes will be performed in our branch.

@eseiler eseiler deleted the misc/new_seqan3 branch June 23, 2021 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants