NucleScript Playground

Compile · Benchmark · Visualize

Ready

Source Code

Analysis Results

Write some code and run analysis to see compiler output, simulation steps, and optimizer notes.

Controls

Live Results

Idle
Density
Avg GC%
Strands
Nucleotides
Est. Cost
Recovery Prob.
GC Content Distribution (10 bins, 0%–100%)
How does recovery probability improve under Illumina, and why doesn't it under Nanopore? This estimate simulates real sequencing coverage — 10 independent noisy reads per strand, the same assumption nucle benchmark makes — and consensus-votes them before Reed-Solomon ever runs. Majority voting across coverage copies corrects most substitution errors regardless of which copy has them, which is why redundancy now genuinely helps under Illumina. Nanopore still shows ~0%, and getting here took real work: a codec bug that turned padding into artificial tandem repeats (fixed with a proper randomized filler), then two real bugs in Reed-Solomon itself — parity bytes silently truncated by a 2-bit encoding meant for other data, and a missing parity strand reindexing every strand after it — both fixed, plus Reed-Solomon upgraded from erasure-only to genuine blind error correction (Berlekamp-Welch), so it no longer needs to be told which strand is wrong. None of that was the real bottleneck: comparing zero parity strands against 50 on the same noisy input produces the identical failure every time, which proves consensus itself, not Reed-Solomon, is what can't keep up with Nanopore's real per-base error rate. A distinct, narrower, still-open gap now, in a different layer than originally suspected.

Encode → Synthesize/Sequence → Recover

Data strand Parity strand Corrupted Dropped

1. Encode

2. Synthesize + Sequence (noise)

3. Recover

Run the pipeline to see recovery.