torchcell.sga.recommend_volume

recommend_volume(metrics: DataFrame) → tuple[float, str][source]

Pick the best volume for a fitness screen.

RELIABILITY dominates: a plating volume is only useful if colonies grow and are reproducibly measured. So missing rate and wild-type CV carry the most weight (0.35 each), within-strain CV less (0.15), and the Z’-factor only counts when POSITIVE (0.15) – when the assay separates no strains at either volume (both Z’<0, e.g. near-neutral knockouts), it must not decide the call.

Returns (volume, human-readable rationale).