You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audit of the validation step (BLAST + minimap2) found bugs that silently broke
the Validation tab:
- parse_nanometanf_aggregate_json: a single JSON null on a numeric field made
None<=1.0 / float(None) raise, which the catch-all except swallowed, dropping
the WHOLE validation_results.json and blanking the Validation tab. Coerce
every numeric with `or 0`/`or 0.0` and clamp percent_validated to <=100
(covers both the blast and the expanded minimap2 result).
- determine_status: reads classified to an organism but 0 validated now reads as
LOW_CONFIDENCE (examined-and-negative), not NO_DATA -- "checked, not confirmed"
must not look identical to "not yet checked".
- _validation_dir_fingerprint: validation_dir resolves to validation/blast, but
the authoritative aggregate JSON is one level up at
validation/validation_results.json; fold its mtime in so realtime rewrites
invalidate the cache instead of serving stale results.
- update_coverage_plots: the no-PAF branch returned the warning Alert into
coverage-stats-container while hiding its parent coverage-plots-section,
blanking the tab; keep the section visible so the warning shows.
Tests: null-safety, hit-rate clamp, examined-but-0-hits, cache-fingerprint-
tracks-aggregate, no-PAF-shows-warning-visible; four tests that encoded the old
behaviour updated. Full suite 2622 passed; verified live in the browser with
zero callback 500s.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments