Blood manifest: 183 samples
Loaded 86,446,638 rows from 183 blood samples in 105.1s
GC reference: 472,386 probes
Sex chrom homology mask: 1494 probes
Pass 1: 4-feat blood GAM (16 workers)...
20/183 blood samples, 26s, R²=0.3977
40/183 blood samples, 38s, R²=0.4066
60/183 blood samples, 53s, R²=0.3969
80/183 blood samples, 67s, R²=0.4162
100/183 blood samples, 80s, R²=0.3802
120/183 blood samples, 93s, R²=0.3524
140/183 blood samples, 106s, R²=0.4565
160/183 blood samples, 119s, R²=0.4248
180/183 blood samples, 132s, R²=0.4078
183/183 blood samples, 134s, R²=0.4765
Sex: 99 female, 84 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,145/472,386 valid probes
Preliminary 5-feat GAM on blood (16 workers)...
20/183 blood prelim 5-feat, 38s, R²=0.9405
40/183 blood prelim 5-feat, 57s, R²=0.9420
60/183 blood prelim 5-feat, 79s, R²=0.9443
80/183 blood prelim 5-feat, 98s, R²=0.9519
100/183 blood prelim 5-feat, 118s, R²=0.9408
120/183 blood prelim 5-feat, 144s, R²=0.9480
140/183 blood prelim 5-feat, 163s, R²=0.9492
160/183 blood prelim 5-feat, 183s, R²=0.9476
180/183 blood prelim 5-feat, 202s, R²=0.9456
183/183 blood prelim 5-feat, 205s, R²=0.9404
/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,250 masked (5.3%) — 13,323 low cov, 19,231 high var, 4,214 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 1666.4s total