FAILURE MAP
← Case archive

FA-12536 / Biological sequence representation / Open access

Unknown bases are deleted before k-mer extraction · case 01

Unknown bases are deleted before k-mer extraction.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Deletion joins flanking bases into nonexistent contiguous windows.

VERIFIED REPAIR

Implement the stated sequence contract while preserving its positional and symbol semantics.

Unsuccessful approach: Replacing unknown bases with A fabricates concrete windows.

Case contract

For uppercase ACGTN input, return length-k contiguous windows containing no N, preserving repeats and order; k positive. N breaks eligibility without removing positions.

Why this case matters

An offline abstract sequence-data model; useful for testing representation invariants without biological inference.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(s,k):
    s=s.replace('N','')
    return [s[i:i+k] for i in range(len(s)-k+1)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('variable barrier', solve('A'*N+'NC',2), ['AA']*max(0,N-1))
check('unknown only', solve('NN',1), [])
check('empty', solve('',2), [])
check('too short', solve('A',2), [])
check('valid duplicate', solve('AAA',2), ['AA','AA'])
check('ends', solve('NACN',2), ['AC'])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
variable barrier['AC'][]Failed
unknown only[][]Passed
empty[][]Passed
too short[][]Passed
valid duplicate['AA', 'AA']['AA', 'AA']Passed
ends['AC']['AC']Passed

SHA-256 / cc4b167a54edcf1baad73e7bf1b036b762402bb02f18e3788c09ed209787e330

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(s,k):
    s=s.replace('N','A')
    return [s[i:i+k] for i in range(len(s)-k+1)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('variable barrier', solve('A'*N+'NC',2), ['AA']*max(0,N-1))
check('unknown only', solve('NN',1), [])
check('empty', solve('',2), [])
check('too short', solve('A',2), [])
check('valid duplicate', solve('AAA',2), ['AA','AA'])
check('ends', solve('NACN',2), ['AC'])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
variable barrier['AA', 'AC'][]Failed
unknown only['A', 'A'][]Failed
empty[][]Passed
too short[][]Passed
valid duplicate['AA', 'AA']['AA', 'AA']Passed
ends['AA', 'AC', 'CA']['AC']Failed

SHA-256 / 11a77f4be2844729bd0af09228aaeaaa3d3173641ce917db13ae5aa5241470b6

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(s,k):
    return [s[i:i+k] for i in range(len(s)-k+1) if 'N' not in s[i:i+k]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('variable barrier', solve('A'*N+'NC',2), ['AA']*max(0,N-1))
check('unknown only', solve('NN',1), [])
check('empty', solve('',2), [])
check('too short', solve('A',2), [])
check('valid duplicate', solve('AAA',2), ['AA','AA'])
check('ends', solve('NACN',2), ['AC'])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
variable barrier[][]Passed
unknown only[][]Passed
empty[][]Passed
too short[][]Passed
valid duplicate['AA', 'AA']['AA', 'AA']Passed
ends['AC']['AC']Passed

SHA-256 / 65e89aacefbeefd6cef1aaf3eec26e6e080f32dbaa6213d3c482bcb39b5a2b08

Verification & scope

Synthetic strings and explicit policies only; no biological interpretation or laboratory workflow. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:38:57.852817+00:00.

Case digest / ef806b58df459ed834b5719f5798764600531fbd51a7861ecdeff7df7fcb124a