ruvector/npm/packages/rvdna/tests
Claude e6cf2ec1b1 perf(rvdna): optimize hot paths and add real-data integration tests
Optimizations (1.7-2x speedup across all hot paths):
- biomarker.js: Replace O(n) findIndex with pre-built RSID_INDEX Map
  for O(1) SNP lookups; cache LPA SNP references to avoid repeated
  array iteration in vector encoding and population generation
- stream.js: Add RingBuffer.pushPop() returning evicted value;
  replace O(n) windowMeanStd buffer scan with O(1) incremental
  windowed Welford algorithm in StreamProcessor

Benchmark improvements (before → after):
  computeRiskScores: 7.33 → 3.70 us/op (1.98x)
  encodeProfileVector: 9.51 → 5.25 us/op (1.81x)
  StreamProcessor.processReading: 220 → 110 us/op (2.00x)
  generateSyntheticPopulation(100): 1090 → 595 us/op (1.83x)

Real-data integration tests (25 new tests):
- 4 realistic 23andMe fixture files (29 SNPs each) covering:
  high-risk cardio, low-risk baseline, multi-risk, PCSK9-protective
- End-to-end pipeline: parse 23andMe → biomarker scoring → streaming
- Clinical scenarios: APOE e4/e4, BRCA1 carrier, MTHFR compound het,
  COMT×OPRM1 pain, DRD2×COMT, PCSK9 protective
- Cross-validation: 8 JS↔Rust parity assertions on tables, z-scores,
  classification, vector layout, risk thresholds
- Population correlations: APOE→HDL, LPA→Lp(a), score distribution,
  clinical biomarker range validation (500 subjects)
- Full pipeline benchmark: 220 us end-to-end

https://claude.ai/code/session_014FpaYVohmyLH5dcBZTgmSY
2026-02-22 15:44:33 +00:00
..
fixtures perf(rvdna): optimize hot paths and add real-data integration tests 2026-02-22 15:44:33 +00:00
test-biomarker.js feat(rvdna): add npm biomarker engine with risk scoring, streaming, and benchmarks 2026-02-22 15:27:37 +00:00
test-real-data.js perf(rvdna): optimize hot paths and add real-data integration tests 2026-02-22 15:44:33 +00:00