Blood manifest: 183 samples
Loaded 86,446,638 rows from 183 blood samples in 108.2s
GC reference: 472,386 probes
Sex chrom homology mask: 1494 probes
Pass 1: 4-feat blood GAM (16 workers)...
20/183 blood samples, 27s, R²=0.4570
40/183 blood samples, 40s, R²=0.4652
60/183 blood samples, 54s, R²=0.4771
80/183 blood samples, 68s, R²=0.4639
100/183 blood samples, 83s, R²=0.4516
120/183 blood samples, 95s, R²=0.4208
140/183 blood samples, 112s, R²=0.4831
160/183 blood samples, 127s, R²=0.4769
180/183 blood samples, 138s, R²=0.5122
183/183 blood samples, 140s, R²=0.4682
Sex: 94 female, 89 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: 472,051/472,386 valid probes
Preliminary 5-feat GAM on blood (16 workers)...
20/183 blood prelim 5-feat, 39s, R²=0.9388
40/183 blood prelim 5-feat, 57s, R²=0.9365
60/183 blood prelim 5-feat, 77s, R²=0.9473
80/183 blood prelim 5-feat, 96s, R²=0.9450
100/183 blood prelim 5-feat, 119s, R²=0.9342
120/183 blood prelim 5-feat, 143s, R²=0.9372
140/183 blood prelim 5-feat, 162s, R²=0.9361
160/183 blood prelim 5-feat, 183s, R²=0.9536
180/183 blood prelim 5-feat, 201s, R²=0.9291
183/183 blood prelim 5-feat, 206s, R²=0.9458
/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: 25,527 masked (5.4%) — 12,266 low cov, 20,394 high var, 4,604 extreme
Wrote batch_reference.parquet (472,386 probes) to ./batch_reference.parquet
Wrote sex_calls.csv (183 samples) to ./sex_calls.csv
Wrote feature_stats.csv (183 samples) to ./feature_stats.csv
Build reference complete in 1735.2s total