Blood manifest: 176 samples
Loaded 83,139,936 rows from 176 blood samples in 105.4s
GC reference: 472,386 probes
Sex chrom homology mask: 1494 probes
Pass 1: 4-feat blood GAM (16 workers)...
20/176 blood samples, 28s, R²=0.4708
40/176 blood samples, 40s, R²=0.5449
60/176 blood samples, 53s, R²=0.4668
80/176 blood samples, 66s, R²=0.5110
100/176 blood samples, 80s, R²=0.4766
120/176 blood samples, 94s, R²=0.4797
140/176 blood samples, 108s, R²=0.5575
160/176 blood samples, 122s, R²=0.4377
176/176 blood samples, 132s, R²=0.5602
Sex: 119 female, 57 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,131/472,386 valid probes
Preliminary 5-feat GAM on blood (16 workers)...
20/176 blood prelim 5-feat, 41s, R²=0.9257
40/176 blood prelim 5-feat, 60s, R²=0.9516
60/176 blood prelim 5-feat, 77s, R²=0.9392
80/176 blood prelim 5-feat, 98s, R²=0.9379
100/176 blood prelim 5-feat, 119s, R²=0.9423
120/176 blood prelim 5-feat, 142s, R²=0.9441
140/176 blood prelim 5-feat, 163s, R²=0.9303
160/176 blood prelim 5-feat, 181s, R²=0.9155
176/176 blood prelim 5-feat, 196s, R²=0.9383
/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: 34,685 masked (7.3%) — 9,844 low cov, 29,981 high var, 5,291 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 1547.8s total