Source: https://guthlabs.ai/docs/instruments/gc-content-sequence-composition-analyzer/

instrument / verified-clean

# GC Content & Sequence Composition Analyzer

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/gc-content-sequence-composition-analyzer/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/gc-content-sequence-composition-analyzer/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/gc-content-sequence-composition-analyzer/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/gc-content-sequence-composition-analyzer/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Biology, Medicine & Pharmacology (educational estimates only — every panel labeled not-medical-advice)

**Tranche**: tranche-5

**Evidence ID**: t5-141

**Ledger rows**: 1

No ledger note is attached.

## Review findings

GC% is mathematically sound for canonical DNA or RNA bases, but the DNA/RNA input claim conflicts with the AT% output. Define sequence normalization, valid-symbol policy, empty-input behavior, and whether RNA reports AU% before release.

### Formula and scope findings

- GC%=(G+C)/total×100 is correct only when total is explicitly defined as the count of valid canonical nucleotides and G/C are counted case-insensitively.

- AT% is not correct for RNA sequences because RNA uses U rather than T; RNA requires AU%=(A+U)/total×100, or the instrument must restrict input to DNA.

- The specification does not define how invalid, ambiguous, gap, whitespace, or other characters affect total, counts, and percentages.

- The claimed sequence length stats have no formulas or definition beyond length; it is unclear whether length means raw input length or normalized valid-base length.

### Unit assumptions

- Percentages are expressed on a 0–100 scale, not as fractions from 0 to 1.

- total is assumed to be the number of canonical A, C, G, and T bases for DNA, or A, C, G, and U for RNA.

- Inputs are assumed to be normalized for case and whitespace before counting; this behavior is not specified.

- For the RNA test vector, literal AT% is shown to expose the ambiguity; the biologically appropriate complementary percentage is AU%.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The specification does not define behavior for an empty sequence, causing GC% and AT% to require division by zero. It also does not define RNA U handling or the denominator policy for ambiguous symbols such as N, so different reasonable implementations can produce different outputs.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "sequence": "ATGC"
  },
  "expected_outputs": {
    "gc_percent": 50,
    "at_percent": 50,
    "base_counts": {
      "A": 1,
      "T": 1,
      "G": 1,
      "C": 1
    },
    "length": 4
  },
  "working": "Count A=1, T=1, G=1, C=1, so total=1+1+1+1=4. GC count=G+C=1+1=2. GC%=2/4×100=50%. AT count=A+T=1+1=2. AT%=2/4×100=50%. Length=4."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
