pub fn run(
dir: &Path,
params: &NormalizeParams,
out: impl Write,
) -> Result<(usize, usize)>Expand description
End-to-end: read the 10x matrix from dir, normalize, write to out.
A NaN count survives normalization as NaN. Under log1p (the default)
scanpy’s pipeline then rejects it — sc.pp.log1p runs sklearn check_array,
which raises on NaN — so we fail loud rather than emit an all-NaN matrix with
a success exit. With --no-log the raw normalize_total result (all-NaN) is
returned, mirroring scanpy, which does not validate at that step.