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
{{ message }}
Repository navigation
[Sad Catapella N4][Scientific QC] per_time_point groups silently omit missing-condition warnings at each time point #41
Normalization Batch 4, main at f784c95e3049483f87466150ffc5764375fa631d. Confirmed code-path defect with a deterministic minimal example; repository tests not executed.
Evidence
group_key() lines 63–74 correctly splits biological-repeat groups into (repeat_label, t) when per_time_point=True.
scope_groups() lines 120–126 passes records and mapping to _incomplete_repeat_groups() but not settings/time-point grouping.
_incomplete_repeat_groups() lines 147–158 aggregates condition presence under only repeat_label, ignoring t. Thus its completeness calculation is inconsistent with the groups that actually get fitted.
With scope='biological_repeat', per_time_point=True, supply exactly two records: (control, r1, t=0) and (treated, r1, t=1). The function returns groups ('r1',0) and ('r1',1), each containing only one condition, yet the QC code unions both conditions for label r1 and returns no repeat_missing_conditions warning. This can hide incomplete treatment/control comparisons at specific time points.
Fix / acceptance
Compute completeness for the same resolved keys used for fitting, including time. Define the expected condition set for each time point explicitly (normally conditions observed at that time, optionally the confirmed experiment-wide condition set; see limitation below). Include the full group_name such as r1::t=0 in issue items. Add controls: complete same-time groups, staggered condition time points, missing entire t within a condition, repeat_groups renamed pairs, per_time_point=False unchanged. Avoid treating an absent condition across the entire provided dataset as verified present; if this must be caught, require explicit experiment-design expected conditions rather than guessing. Preserve deterministic ordering. No Numba role.
Activity