Blood manifest: 182 samples
Loaded 85,974,252 rows from 182 blood samples in 109.5s
GC reference: 472,386 probes
Sex chrom homology mask: 1494 probes
Pass 1: 4-feat blood GAM (16 workers)...
20/182 blood samples, 26s, R²=0.3801
40/182 blood samples, 39s, R²=0.4652
60/182 blood samples, 55s, R²=0.4642
80/182 blood samples, 69s, R²=0.4792
100/182 blood samples, 82s, R²=0.4092
120/182 blood samples, 95s, R²=0.4168
140/182 blood samples, 113s, R²=0.4561
160/182 blood samples, 128s, R²=0.4870
180/182 blood samples, 140s, R²=0.4156
182/182 blood samples, 140s, R²=0.4589
Sex: 103 female, 79 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,938/472,386 valid probes
Preliminary 5-feat GAM on blood (16 workers)...
20/182 blood prelim 5-feat, 40s, R²=0.9432
40/182 blood prelim 5-feat, 59s, R²=0.9408
60/182 blood prelim 5-feat, 80s, R²=0.9309
80/182 blood prelim 5-feat, 101s, R²=0.9548
100/182 blood prelim 5-feat, 124s, R²=0.9505
120/182 blood prelim 5-feat, 149s, R²=0.9383
140/182 blood prelim 5-feat, 169s, R²=0.9500
160/182 blood prelim 5-feat, 189s, R²=0.9566
180/182 blood prelim 5-feat, 206s, R²=0.9494
182/182 blood prelim 5-feat, 207s, R²=0.9422
/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: 21,946 masked (4.6%) — 10,943 low cov, 16,810 high var, 3,441 extreme
Wrote batch_reference.parquet (472,386 probes) to ./batch_reference.parquet
Wrote sex_calls.csv (182 samples) to ./sex_calls.csv
Wrote feature_stats.csv (182 samples) to ./feature_stats.csv
Build reference complete in 1734.2s total