Blood manifest: 88 samples Loaded 41,569,968 rows from 88 blood samples in 50.2s GC reference: 472,386 probes Sex chrom homology mask: 1494 probes Pass 1: 4-feat blood GAM (16 workers)... 20/88 blood samples, 25s, R²=0.4293 40/88 blood samples, 38s, R²=0.4231 60/88 blood samples, 52s, R²=0.4083 80/88 blood samples, 65s, R²=0.4827 88/88 blood samples, 71s, R²=0.4224 Sex: 49 female, 39 male, 0 unknown /usr/local/bin/build_norm_reference.py:247: RuntimeWarning: All-NaN slice encountered probe_coverage_median = np.nanmedian(blood_matrix, axis=1) /usr/local/lib/python3.12/site-packages/numpy/lib/_nanfunctions_impl.py:1593: RuntimeWarning: All-NaN slice encountered return fnb._ureduce(a, Probe coverage: 471,842/472,386 valid probes Preliminary 5-feat GAM on blood (16 workers)... 20/88 blood prelim 5-feat, 35s, R²=0.9241 40/88 blood prelim 5-feat, 53s, R²=0.9246 60/88 blood prelim 5-feat, 71s, R²=0.9254 80/88 blood prelim 5-feat, 91s, R²=0.9211 88/88 blood prelim 5-feat, 101s, R²=0.9092 /usr/local/bin/build_norm_reference.py:335: RuntimeWarning: All-NaN slice encountered prelim_median = np.nanmedian(prelim_matrix, axis=1) /usr/local/lib/python3.12/site-packages/numpy/lib/_nanfunctions_impl.py:1593: RuntimeWarning: All-NaN slice encountered return fnb._ureduce(a, Probe mask: 17,944 masked (3.8%) — 10,666 low cov, 10,739 high var, 4,821 extreme Wrote batch_reference.parquet (472,386 probes) to ./batch_reference.parquet Wrote sex_calls.csv (88 samples) to ./sex_calls.csv Wrote feature_stats.csv (88 samples) to ./feature_stats.csv Build reference complete in 473.8s total