detect_trace_indel
Ask whether a Sanger trace splits into TWO READS OF DIFFERENT LENGTH, which is what a heterozygous insertion or deletion does: clean up to the indel, then a superposition of two sequences offset by its length. This is not mixed-base calling — that asks whether two BASES sit at one position and is blind to a length difference. Emits where the split starts, how long it is, and the two allele sequences the trace deconvolves into, so a pipeline can gate on the answer or carry either allele onward.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| table | No | the instrument and polymer the quality scale was calibrated on. There is no universal default: a base scores differently under a different table, and the detector gates on a quality JUMP. | 3730pop7 |
| _files | No | The project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name. | |
| _subject | No | The record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several. | |
| document | No | which trace file to read: its name (`read_F.ab1`) or its project file id. LEAVE IT EMPTY to run on the chromatogram tab that is open, in which case the answer also appears in the rail. A file id is project-specific, so a template ships this unset. | |
| breakpoint_scan | No | skip the search and measure the indel at this scan position on the x axis. -1 searches for it. | |
| quality_value_reading | No | corrected = read the quality values as TraceTuner's own header declares them, which is the only reading that can detect anything; upstream = reproduce the program as shipped, whose detector never fires. | corrected |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| found | Yes | whether a heterozygous indel was detected. Wire it into a gate | |
| report | Yes | the whole finding, including the size in scans and the stutter verdict | |
| longAllele | Yes | the allele with the extra bases, from the breakpoint on. N marks a position the deconvolution would not commit to, not a low-quality base | |
| qualityJump | Yes | the drop in quality values across the breakpoint. It must exceed 7 for a position to be considered at all, so this is what a negative answer is checkable against | |
| shortAllele | Yes | the allele without them, from the breakpoint on | |
| sizeInBases | Yes | how many bases the longer allele carries that the shorter one does not | |
| startsAtBase | Yes | the 1-based base the split starts at, or 0 when none was found |