DNA Statistics in Seqqio: GC Bounds, Ambiguous Bases, and Dinucleotides
Run a tested DNA Stats example, see how IUPAC ambiguity changes GC interpretation, and count adjacent dinucleotides without silently bridging gaps or uncertain bases.
This distinction matters when a sequence contains N, mixed IUPAC symbols, or alignment gaps. A single value can hide whether uncertain positions were removed, included in the denominator, or assigned fractional GC contributions. Seqqio keeps those choices visible under the method identifier Seqqio-DnaStats-v1, so a reader can tell which statistic answers the current question.
Run DNA Stats with one sequence or a FASTA batch
Open DNA Stats in Seqqio. Choose Single sequence for one raw sequence or one FASTA record, or choose FASTA batch to calculate each record independently. Paste DNA, open a supported file, or select Load example, then click Calculate statistics. The accepted alphabet is ACGTRYSWKMBDHVN-.; whitespace is removed during input normalization, while the two gap symbols remain part of the record.
| Field | Denominator or rule | Use |
|---|---|---|
| GC (known bases) | A + C + G + T only | Composition of the bases that are known exactly |
| GC minimum and maximum | All non-gap DNA positions | Range allowed by every IUPAC symbol |
| GC weighted estimate | All non-gap positions; uniform possibilities within each ambiguity code | One explicit estimate when a range is inconvenient |
| Symbol percentages | All symbols, including gaps | Audit the original normalized record |
| Dinucleotides | Adjacent concrete A/C/G/T pairs only | Inspect observed neighboring bases without bridging barriers |
Reproduce a mixed-IUPAC example
Enter ACGTNRYS-ACGT as a single DNA sequence. This 13-symbol synthetic control contains eight concrete bases, four ambiguous positions, and one gap. The current Seqqio 0.1.0 Rust engine returned 50.000% GC among known bases, a possible GC range of 41.667% to 66.667%, and a weighted estimate of 54.167%.
| Input | ACGTNRYS-ACGT |
|---|---|
| Known / ambiguous / gaps | 8 / 4 / 1 |
| Known-base GC | 50.000% |
| Possible GC | 41.667% minimum; 66.667% maximum |
| Weighted GC | 54.167% |
| Adjacent pairs | 6 eligible; 6 excluded |
| Nonzero pairs | AC=2; CG=2; GT=2 |
The two ACGT segments each contribute AC, CG, and GT. The ambiguity run and the gap interrupt adjacency, so the app does not delete them and invent a pair between bases that were not adjacent in the input. There is also no circular wraparound pair between the last and first base. That behavior makes the six eligible and six excluded adjacencies auditable.
Choose the GC statistic that matches the question
Use known-base GC when you need the composition of resolved A/C/G/T positions. Use the minimum and maximum when uncertainty itself matters. The weighted estimate assigns each IUPAC letter the fraction of its possible bases that are G or C: for example, N contributes 0.5, R contributes 0.5, Y contributes 0.5, and S contributes 1.0. This is a declared model, not an observation of which base occupies each ambiguous position.
Ambiguous-base policy is not universal. The official Biopython SeqUtils documentation exposes remove, ignore, and weighted treatments for GC calculations. That is why a reported GC percentage should travel with its ambiguity rule and denominator. Seqqio shows several interpretations together instead of making one hidden choice.
Interpret zero denominators and batch results
An all-gap record is valid but has no non-gap or known-base denominator, so its GC values appear as N/A rather than zero. A record containing only NNN has no known-base GC, a possible range from 0% to 100%, and a 50% weighted estimate. A one-symbol sequence has no adjacent pair. These are valid empty-denominator results, not failed analyses.
In batch mode, Seqqio keeps each FASTA record independent and provides a row for its known-base GC, ambiguity count, gap count, and CG-pair count. Open a row for the full 17-symbol table and 4 by 4 dinucleotide matrix. The TSV report includes the raw counts and denominators needed to reconstruct percentages; it does not pool unrelated records into one unlabelled average.
Know when DNA Stats is the right tool
DNA Stats is a good fit for composition review, alignment-aware audits, teaching ambiguity effects, and checking batches before another workflow. It does not locate high-GC windows or infer regulation. For thresholded sliding-window regions, use the CpG Islands tutorial. For reproducible synthetic sequences with chosen base weights, use the Random DNA tutorial.
DNA Stats is one of 39 applications in Seqqio 0.1.0 for Windows 64-bit. The Seqqio workspace overview explains the shared local batch, history, and export workflow. The complete toolkit is offered as a US$99 one-time purchase with no activation key.
References
- Biopython contributors. Bio.SeqUtils package Official Biopython 1.88 API documentation Documents remove, ignore, and weighted treatments for ambiguous bases in GC calculations.