Alignment & variants

Base editing quantification from Sanger traces (EditR equivalent)

Quantify CBE/ABE base editing from a pair of Sanger traces — an unedited control and the edited pool — without NGS. At each editable position in the activity window the edited trace is treated as a mixture of the unedited and converted peaks, and the control's OWN alt-channel signal at that same position is subtracted as background, because dye crosstalk is position- and context-dependent and a global constant would be wrong per position. Significance comes from a null built from the same sample (every control position outside the window carrying the same base), so the threshold adapts to the run's chemistry instead of being hardcoded. Returns per-position percentages with z-scores, the target and its bystanders, the background distribution (including a robust estimate of its spread and a count of its outliers), and the noise floor — the percentage the background alone reaches, or null when the run's own null has no spread to derive one from. A window position whose control already carries the converted base is reported but not quantified, because the (1 − b) rescale amplifies error by 1/(1 − b) and turns a 0.1-point wobble into half the pool. Locate the window with an editor id plus the protospacer, or give it explicitly. Blind to indels, which shift the trace rather than mixing a base.

post/base_edit_quant

Request

  • Base URL: https://seqbench.com/api/v1
  • URL: https://seqbench.com/api/v1/base_edit_quant
  • Auth: none required

Request body

controlBasesstring required

Base calls of the UNEDITED control read.

editedBasesstring required

Base calls of the edited pool's read.

editor'be3' | 'be4max' | 'abe7.10' | 'abe8e'

Base editor id (be3, be4max, abe7.10, abe8e) — fixes the converted bases and the activity window in protospacer coordinates. Requires "protospacer". Mutually exclusive with the explicit window arguments.

protospacerstring

The 20-nt spacer, located in the CONTROL read. Found on either strand; a reverse-complement match numbers the protospacer right-to-left along the read and complements the converted bases (a CBE's C→T reads as G→A), which is handled. Must match exactly once.

windowStartnumber

Explicit window start, 1-based in CONTROL read coordinates. Requires windowEnd, from and to.

windowEndnumber

Explicit window end, 1-based inclusive, in CONTROL coordinates. Window length is capped at 40.

fromstring

Explicit-window mode: the base the editor converts, as READ on the control strand (C for a CBE read forward, G for one read reverse).

tostring

Explicit-window mode: the base it converts to, as READ on the control strand.

targetPositionnumber

1-based CONTROL position of the intended edit. Give it when you know it: without it the most-edited significant position is labeled the target and the rest become bystanders, which relabels a bystander-dominant result as a clean one.

targetProtospacerPositionnumber

1-based protospacer position of the intended edit (PAM-distal = 1). Editor mode only.

zThresholdnumber

Significance threshold in standard deviations of the sample's own background. Must be between 1 and 10 — a value outside that range is REJECTED, not clamped, because a run silently retested at a threshold the caller did not choose looks exactly like one that was. Raising it raises the reported noise floor with it.

offsetnumber

Override the alignment offset between the reads (edited position p matches control position p + offset). Whole numbers only. By default it is found from the base calls outside the window; either way the identity reported back is the identity AT THE OFFSET USED, so overriding it does not hide a bad alignment behind the best-scoring one.

Response

Tool ran successfully.

okunknown required
toolstring required

The tool slug that ran.

resultobject required

Tool-specific output object. Its shape depends on the tool — call GET /{tool} or see the docs for each tool's fields.

Example response

{
  "provenance": {
    "apiVersion": "1.1.0"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.