A naïve gene finder reads a genome in all six reading frames — three forward offsets (0, +1, +2) on the given strand, plus the same three offsets on its reverse complement — because a real gene can sit on either strand and start at any of three codon phases. This 2D version lays all six frames out as parallel horizontal tracks — a genome-browser view — instead of wrapping the sequence around a 3D helix.
Within each frame the scanner walks codon by codon. The first ATG it meets opens a candidate open reading frame (ORF); the ORF closes at the next in-frame stop codon (TAA, TAG, TGA). Everything between is a candidate protein-coding stretch, drawn as a colored bar on its frame's track.
Not every ORF is a real gene — random DNA throws up plenty by chance. To rank candidates this simulator scores each one with a codon-usage log-odds statistic, comparing how often each codon appears in real coding sequence (an E. coli-derived usage table, per 1000 codons) against how often it would appear by chance given the sequence's own GC content:
S = Σ log2( f_coding(codon_i) / f_background(codon_i) ) for i = 1..L codons
f_background(XYZ) = p(X)·p(Y)·p(Z), p(G)=p(C)=GC/2, p(A)=p(T)=(1−GC)/2
Real coding regions are biased toward a small set of "preferred" codons for each amino acid (translation is faster/more accurate with abundant tRNAs), so a genuine gene scores well above zero; random ORFs hover near zero or slightly below — verified numerically here: sampling codons from the real usage table gives a mean per-codon score of about +0.34 bits, while ORFs found by chance in uniform-random DNA average about −0.18 bits. That gap is not a coincidence — since the "random" codons are drawn from exactly the distribution the background model assumes, the expected log-odds score is −D_KL(background‖coding) ≤ 0 by Gibbs' inequality, so chance ORFs are mathematically guaranteed to average at or below zero. The predicted gene shown is the qualifying ORF (at least the minimum length) with the highest score — exactly the ranking step real annotation pipelines (e.g. GLIMMER, Prodigal) use a Markov codon model for, simplified here to single-codon log-odds.
- GC content — reshapes the background model and the random sequence itself; higher GC favors G/C-rich codons by chance alone, so the scanner has to work harder to tell signal from noise.
- Sequence length / New Random Sequence — regenerates the tracks; longer sequences turn up more spurious short ORFs.
- Min. ORF length — the length filter every real annotation pipeline applies first, since short spurious ORFs are common in any random sequence.
- Track zoom / drag-to-pan — zoom into a region of the six-frame track view and scroll along it, the way a real genome browser (IGV, UCSC) lets you inspect a candidate gene base by base.
- Highlight all qualifying ORFs — shows every frame's candidates at once on both the tracks and the score bar chart instead of only the top prediction.