-
Notifications
You must be signed in to change notification settings - Fork 18
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
✨ Add simple decay megacomplexes #860
Conversation
Codecov Report
@@ Coverage Diff @@
## main #860 +/- ##
=======================================
+ Coverage 85.0% 85.4% +0.3%
=======================================
Files 85 87 +2
Lines 4802 4874 +72
Branches 923 921 -2
=======================================
+ Hits 4086 4163 +77
+ Misses 563 559 -4
+ Partials 153 152 -1
Continue to review full report at Codecov.
|
Benchmark is done. Checkout the benchmark result page. Benchmark diff v0.5.1 vs. mainParametrized benchmark signatures: BenchmarkOptimize.time_optimize(index_dependent, grouped, weight)
Benchmark diff main vs. PRParametrized benchmark signatures: BenchmarkOptimize.time_optimize(index_dependent, grouped, weight)
|
fed674d
to
aa23647
Compare
aa23647
to
81e8f3d
Compare
SonarCloud Quality Gate failed.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At a first glimpse (didn't look at implementation details with the debugger, see failing comparison tests) there are mostly nitpicky things.
81e8f3d
to
e692c4d
Compare
Codacy has valid complaints or is |
Still I should investigate if I cannot fix this complaints ;) |
Most duplications are in the testes which should be gone with #866 (Ref.: #860 (comment)). But I think something like this decay_megacomplexes = [
m
for m in dataset_model.megacomplex
if isinstance(
m, (DecayMegacomplex, DecayParallelMegacomplex, DecaySequentialMegacomplex)
)
] can be nicely factored out in a conveniences function |
This is not about the name Codacy correctly finds that: Just refactor it out or make it a staticmethod. |
The result consistency check is failing, with significant differences in a_matrix and decay_associated_spectra. This needs to be explained / investigated. If there was a (long standing) bug that was fixed then that bug must first be fixed independently on main. |
I created a hotifx PR to backport the fix to 0.5. |
glotaran/builtin/megacomplexes/decay/decay_sequential_megacomplex.py
Outdated
Show resolved
Hide resolved
Backport of bugfix glotaran#927 discovered in PR glotaran#860 It was [found](glotaran#860 (comment)) in glotaran#860 that the a_matrix when calculated for result saving was calculated without normalized initial_concentrations while the calculation for the optimization was (correctly) using the normalized version. Fixing this bug in glotaran#927 then breaks result consistency checking for some case studies, thus requiring backporting of this bugfix to the 0.4 maintenance branch which we continue to use for result/consistency checking.
- 🩹🚧 Backport of bugfix glotaran#927 discovered in PR glotaran#860 related to initial_concentration normalization when saving results (glotaran#934).
- 🩹🚧 Backport of bugfix glotaran#927 discovered in PR glotaran#860 related to initial_concentration normalization when saving results (glotaran#935).
…ncy checking purposes (#935) * 🩹🚧 Backport of bugfix Backport of bugfix #927 discovered in PR #860 It was [found](#860 (comment)) in #860 that the a_matrix when calculated for result saving was calculated without normalized initial_concentrations while the calculation for the optimization was (correctly) using the normalized version. Fixing this bug in #927 then breaks result consistency checking for some case studies, thus requiring backporting of this bugfix to the 0.4 maintenance branch which we continue to use for result/consistency checking. * 🚀🚧 v0.4.2 Maintenance release - 🩹🚧 Backport of bugfix #927 discovered in PR #860 related to initial_concentration normalization when saving results (#935). * 🚇🚧 Updated 'gold standard' result comparison reference Updated pyglotaran-examples result-comparison branch for pyglotaran v0.4.2 Note: comments in PR #936 provide explanation for a small test deviation in the results comparison check for this PR.
40edcf0
to
189df85
Compare
fa5cdc2
to
196e5a8
Compare
196e5a8
to
233108e
Compare
Sourcery Code Quality Report✅ Merging this PR will increase code quality in the affected files by 1.52%.
Here are some functions in these files that still need a tune-up:
Legend and ExplanationThe emojis denote the absolute quality of the code:
The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request. Please see our documentation here for details on how these metrics are calculated. We are actively working on this report - lots more documentation and extra metrics to come! Help us improve this quality report! |
SonarCloud Quality Gate failed.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the sake of getting on with the "merge train" I guess this is fine from my side.
Even so, I don't agree with the removing of DecayMegacomplexBase
which added useless code duplication and cyclic import workarounds, just because of a disagreement about using abstract base classes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed ok. Raised issue for the concerns voiced during review.
This PR adds megacomplexes for sequential and parallel decay.
Change summary
The new megacomplexes are essentially syntactic sugar to simplify standard models. They look like this
Checklist
Closes issues
closes #XXXX