-
Notifications
You must be signed in to change notification settings - Fork 73
Investigate CI failure in pyopenms-docs PR #489
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
Conversation
The CI failure in PR #480 was caused by broken indentation in interactive_plots.rst. The hd.dynspread(...) block was at column 0 instead of being indented with 4 spaces, placing it outside the RST code-block directive. When notebooks are generated from this RST file, the unindented code becomes markdown text instead of Python code, causing notebook execution to fail. This commit applies the PR #480 changes (PeptideIdentificationList, get2DPeakDataLong 5th arg, refactored opts) with correct indentation.
WalkthroughDocumentation example updated: removed Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The DRange1 API changed in pyopenms 3.5.0 and no longer accepts DPosition1 objects in its constructor. The setIntensityRange call was causing a runtime error: Exception: can not handle type of (DPosition1, DPosition1) Since intensity range filtering is optional for this visualization, the simplest fix is to remove the call entirely. This also removes the now-unused 'import sys' statement.
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.
Nope. Removing intensity cutoff is not an option.
|
why? size in memory? too slow? looks bad? |
The DRange1(DPosition1, DPosition1) constructor is broken in pyopenms 3.5.0, causing setIntensityRange to fail with: Exception: can not handle type of (DPosition1, DPosition1) This is a workaround that uses ThresholdMower to filter peaks with intensity < 5000 after loading, achieving the same effect as the original setIntensityRange call.
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.
[blacken-docs] reported by reviewdog 🐶
pyopenms-docs/docs/source/user_guide/interactive_plots.rst
Lines 74 to 84 in 94824c8
| raster = ( | |
| hd.rasterize( | |
| points, | |
| cmap=process_cmap("blues", provider="bokeh"), | |
| aggregator=ds.sum("inty"), | |
| cnorm="log", | |
| alpha=10, | |
| min_alpha=0, | |
| ) | |
| .opts(active_tools=["box_zoom"], tools=["hover"], hooks=[new_bounds_hook]) | |
| ) |
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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
docs/source/user_guide/interactive_plots.rst (2)
34-39: ThresholdMower usage looks good; consider briefly documenting the rationaleThe filtering logic is fine and follows typical
ThresholdMowerusage (get defaults, set"threshold", apply in-place). Given prior questions in the PR about “why”, it might be worth adding a short comment or one sentence in the surrounding text explaining the motivation (e.g., reduce points for performance/memory, improve visual clarity of the plot).
43-45: Clarify the meaning of the new1argument toget2DPeakDataLongThe additional fifth argument may be correct for the updated API, but as a bare literal its intent isn’t obvious. Consider either:
- assigning it to a clearly named variable (e.g.
ms_level = 1) and passing that, or- adding a brief comment indicating what this parameter controls.
This will make the example more self-explanatory for readers not familiar with the full signature.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/source/user_guide/interactive_plots.rst(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build-test
🔇 Additional comments (1)
docs/source/user_guide/interactive_plots.rst (1)
86-91: Indentation and.optschaining onhd.dynspreadlook correctHaving
hd.dynspread(...)indented inside the code block resolves the previous RST/notebook generation issue, and attachingwidth/height/xlabel/ylabelvia.opts(...)on the final element is idiomatic holoviews usage. Nothing blocking here.
|
It can't be that this functionality was removed! |
|
Loading is the bottleneck of this whole applet. |
|
with BSA1.mzML ??? |
The CI failure in PR #480 was caused by broken indentation in interactive_plots.rst. The hd.dynspread(...) block was at column 0 instead of being indented with 4 spaces, placing it outside the RST code-block directive.
When notebooks are generated from this RST file, the unindented code becomes markdown text instead of Python code, causing notebook execution to fail.
This commit applies the PR #480 changes (PeptideIdentificationList, get2DPeakDataLong 5th arg, refactored opts) with correct indentation.
Summary by CodeRabbit
Documentation
Refactor
✏️ Tip: You can customize this high-level summary in your review settings.