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

[FEATURE] Alignment Configuration: put align_cfg::debug to align_cfg::detail::debug #2020

Conversation

Irallia
Copy link
Contributor

@Irallia Irallia commented Aug 10, 2020

Resolves seqan/product_backlog#181

Blocked by #2033

@Irallia Irallia self-assigned this Aug 10, 2020
@eseiler eseiler changed the base branch from master to release-3.0.2 August 10, 2020 14:47
@Irallia Irallia force-pushed the feature/alignment/configuration/put_align_cfg_debug_to_align_cfg_detail_debug branch 3 times, most recently from ae809ff to 190b214 Compare August 11, 2020 12:05
@Irallia
Copy link
Contributor Author

Irallia commented Aug 11, 2020

I get some documentation errors:

/Users/lydia/Repos/seqan3/include/seqan3/alignment/configuration/detail.hpp:29: warning: unable to resolve reference to 'seqan3::align_cfg::detail::debug' for \ref command
/Users/lydia/Repos/seqan3/include/seqan3/alignment/all.hpp:92: warning: unable to resolve reference to 'seqan3::align_cfg::detail::debug' for \ref command
/Users/lydia/Repos/seqan3/include/seqan3/alignment/configuration/detail.hpp:29: warning: unable to resolve reference to 'seqan3::align_cfg::detail::debug' for \ref command

Does someone know how to solve them? Do I need to add a config detail struct?

@Irallia Irallia requested review from a team and marehr and removed request for a team August 11, 2020 12:07
Copy link
Member

@marehr marehr left a comment

Choose a reason for hiding this comment

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

You have unrelated commits (see https://github.com/seqan/seqan3/pull/2020/commits) in your history, could you remove them?

git checkout feature/alignment/configuration/put_align_cfg_debug_to_align_cfg_detail_debug
git rebase -i upstream/release-3.0.2
# remove the commits that creeped in.
# and then force push
git push origin feature/alignment/configuration/put_align_cfg_debug_to_align_cfg_detail_debug -f

(This is not my complete review, please re-request review when done.)

CHANGELOG.md Outdated
Comment on lines 45 to 46
* We put some `align_cfg` elements into a subnamespace `align_cfg::detail`:
`align_cfg::detail::debug` ([\#2020](https://github.com/seqan/seqan3/pull/2020)).
Copy link
Member

Choose a reason for hiding this comment

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

@seqan/core Do we want to add a CHANGELOG entry for moved entities from seqan3::align_cfg namespace to seqan3::align_cfg::detail?

Copy link
Member

Choose a reason for hiding this comment

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

hm should the user know about the debug functionality at all? If not, I wouldn't put it into the changelog

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yesterday I discussed this with @joergi-w because he uses many of our detailed functions for his app. The debug_stream, for example, is very practical.

Copy link
Member

@marehr marehr Aug 13, 2020

Choose a reason for hiding this comment

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

The debug_stream is public API and should get a CHANGELOG entry if it changes API.

namespace seqan3::align_cfg
{
//!\cond DEV
/*!\brief Configuration element for debugging the alignment algorithm.
* \ingroup alignment_configuration
*
* \details
*
* Using this configuration allows to output the alignment matrices from the DP algorithm using the
* returned seqan3::alignment_result.
* The score matrix is always accessible, while the trace matrix can only be computed if an alignment was
* requested via the seqan3::align_cfg::result configuration.
*
* \note This configuration is only useful for debugging purposes as it can have a significant impact on the
* performance.
*/
inline constexpr detail::debug_mode<std::integral_constant<detail::align_config_id,
detail::align_config_id::debug>> debug{};
//!\endcond
} // namespace seqan3::align_cfg

seqan3::align_cfg::debug is semi-public and was only used within tests. If it is the only change, I wouldn't mention it. (I only cursorily looked over the PR)

EDIT:// after looking at the PR, I wouldn't mention this.

Copy link
Contributor

Choose a reason for hiding this comment

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

No the debug thing is developer API only. And as far as I know it was also only documented like so. Which means the regular user does not know about it. That's why we decided to put it into a specific detail sub namespace.

Yesterday I discussed this with @joergi-w because he uses many of our detailed functions for his app. The debug_stream, for example, is very practical.

That is the responsibility of the app developer. We don't give any guarantees about the detail namespace. That can change at any time without notice.

@Irallia Irallia force-pushed the feature/alignment/configuration/put_align_cfg_debug_to_align_cfg_detail_debug branch from 190b214 to f842c5c Compare August 13, 2020 09:57
@Irallia Irallia requested a review from marehr August 13, 2020 10:11
@marehr
Copy link
Member

marehr commented Aug 13, 2020

@Irallia I pushed directly i your branch to fix the last things. Can you rebase and re-order the history?

The name-clash commits changes should be before adding the namespace.

Copy link
Member

@marehr marehr left a comment

Choose a reason for hiding this comment

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

(See comment before)

@codecov
Copy link

codecov bot commented Aug 13, 2020

Codecov Report

Merging #2020 into release-3.0.2 will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@              Coverage Diff               @@
##           release-3.0.2    #2020   +/-   ##
==============================================
  Coverage          97.89%   97.89%           
==============================================
  Files                263      263           
  Lines               9879     9879           
==============================================
  Hits                9671     9671           
  Misses               208      208           
Impacted Files Coverage Δ
.../seqan3/alignment/pairwise/alignment_algorithm.hpp 98.50% <ø> (ø)
...qan3/alignment/pairwise/alignment_configurator.hpp 100.00% <ø> (ø)
...ude/seqan3/alignment/pairwise/alignment_result.hpp 100.00% <ø> (ø)

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 2ce0448...60eb66f. Read the comment docs.

@marehr
Copy link
Member

marehr commented Aug 14, 2020

@Irallia can you rebase?

@Irallia Irallia force-pushed the feature/alignment/configuration/put_align_cfg_debug_to_align_cfg_detail_debug branch from e731209 to 60eb66f Compare August 17, 2020 09:14
@Irallia Irallia requested a review from marehr August 17, 2020 21:33
Copy link
Member

@marehr marehr left a comment

Choose a reason for hiding this comment

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

thank you :)

@marehr marehr requested review from a team and smehringer and removed request for a team August 18, 2020 08:36
Copy link
Member

@smehringer smehringer left a comment

Choose a reason for hiding this comment

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

LGTM :)

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.

[Alignemnt Configuration] Put align_cfg::debug into align_cfg::detail::debug
4 participants