Blood manifest: 176 samples
Loaded 83,139,936 rows from 176 blood samples in 102.9s
GC reference: 472,386 probes
Sex chrom homology mask: 1494 probes
Pass 1: 4-feat blood GAM (16 workers)...
20/176 blood samples, 24s, R²=0.6466
40/176 blood samples, 43s, R²=0.4613
60/176 blood samples, 61s, R²=0.4571
80/176 blood samples, 76s, R²=0.5385
100/176 blood samples, 91s, R²=0.5160
120/176 blood samples, 106s, R²=0.4116
140/176 blood samples, 124s, R²=0.5097
160/176 blood samples, 142s, R²=0.6216
176/176 blood samples, 157s, R²=0.4767
Sex: 121 female, 55 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,838/472,386 valid probes
Preliminary 5-feat GAM on blood (16 workers)...
20/176 blood prelim 5-feat, 40s, R²=0.9313
40/176 blood prelim 5-feat, 59s, R²=0.9432
60/176 blood prelim 5-feat, 78s, R²=0.9228
80/176 blood prelim 5-feat, 100s, R²=0.9370
100/176 blood prelim 5-feat, 120s, R²=0.9375
120/176 blood prelim 5-feat, 141s, R²=0.9389
140/176 blood prelim 5-feat, 165s, R²=0.9353
160/176 blood prelim 5-feat, 193s, R²=0.9234
176/176 blood prelim 5-feat, 207s, R²=0.9366
/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: 26,352 masked (5.6%) — 10,620 low cov, 21,387 high var, 4,634 extreme
Wrote batch_reference.parquet (472,386 probes) to ./batch_reference.parquet
Wrote sex_calls.csv (176 samples) to ./sex_calls.csv
Wrote feature_stats.csv (176 samples) to ./feature_stats.csv
Build reference complete in 1684.5s total