Parent
#45
What to build
Add count-aware simulation so users and tests can generate per-allele read count vectors from true within-host strain allele allocations, dropout probability, and noise rate—mirroring the count Poisson observation model in #48.
Expose R functions (extend or parallel existing simulate_observed_allele / simulate_observed_genotype) that return integer count vectors per locus rather than binary presence/absence. Parameters should align with count-model semantics (dropout on present alleles, Poisson noise on absent alleles, signal proportional to depth and support size).
Add a simulation smoke test: generate count data from known COI and error parameters → load with count aggregation → run short MCMC with observation_model = "counts" → completes without error. Qualitative recovery check optional (no strict stochastic tolerances).
Acceptance criteria
Blocked by
Parent
#45
What to build
Add count-aware simulation so users and tests can generate per-allele read count vectors from true within-host strain allele allocations, dropout probability, and noise rate—mirroring the count Poisson observation model in #48.
Expose R functions (extend or parallel existing
simulate_observed_allele/simulate_observed_genotype) that return integer count vectors per locus rather than binary presence/absence. Parameters should align with count-model semantics (dropout on present alleles, Poisson noise on absent alleles, signal proportional to depth and support size).Add a simulation smoke test: generate count data from known COI and error parameters → load with count aggregation → run short MCMC with
observation_model = "counts"→ completes without error. Qualitative recovery check optional (no strict stochastic tolerances).Acceptance criteria
run_mcmc(observation_model = "counts")passes with minimal burnin/samplestest-mcmc.R)Blocked by