Improve prioritization log readability per-vartype#140
Conversation
Three changes to BindingAffinities.start / collect_binding_affinities in workflow/scripts/prioritization/prediction.py: - print a banner-bar + vartype name at the start of every vartype so per-vartype boundaries are unmistakable - throttle the per-unit `[k/N] completed` line to ~10 progress messages per vartype (step = max(1, total // 10)); always emits the final `[total/total]` line - replace bare `Done` with a per-vartype closing summary line that includes the vartype name and the wall-clock elapsed minutes, plus a blank line for visual spacing between vartype blocks Closes #121.
|
Warning Review limit reached
More reviews will be available in 58 minutes and 59 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ 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 |
Review (Claude)Re-read the 3 logical edits + the Verified locally
FindingsNone. No bugs, no guideline violations. Label The remaining QC item is "Eye the actual log on the next real run" — that's a real-data confirmation only you can do; the cadence and banner placement should look right but the proof is in the file. |
Summary
Changed
The prioritization step's log (
logs/{sample}/prioritization/prioritization.log) previously emitted one[k/N] completedline per pool task (~672 per vartype onhlatest), with thin per-vartype boundaries that made it hard to spot where each vartype's work begins and ends. Three changes inworkflow/scripts/prioritization/prediction.py:BindingAffinities.start():step = max(1, total // 10); always emits the final[total/total]line. Cadence verified at several unit counts: 5→5 lines, 12→12, 100→10, 672→11, 21504→11.Done:Combined, the prioritization log goes from ~2000 lines (672 × 3 vartypes) of progress noise to ~30 progress lines plus 3 clean section headers and 3 timing summaries.
Closes #121.
QC
python -m py_compile workflow/scripts/prioritization/prediction.pysucceeds (verified)snakemake --lint --configfile config/config.yamlexits 0 (verified)