read_sequencing_qc
Read the QC files a sequencing provider returns alongside the reads: a per-base COVERAGE table, or a Plasmidsaurus summary (k-mer composition and the contamination estimate with its named source).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | which report this is; `auto` sniffs it. Values: auto (Detect from the contents), perbase (Per-base coverage table), plasmidsaurus (Plasmidsaurus summary). | auto |
| text | Yes | the file's contents — a per-base coverage TSV (pos / ref / reads_all), or the provider's summary text. | |
| _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. | |
| step_window | No | positions either side of a boundary whose MEDIAN depth is compared, when looking for a sudden change in level. A median over a window rather than two adjacent positions, so one spike is not a step and a real change in level is. Advanced. | |
| coverage_line | No | the depth a position must reach to count as well covered. The default is the provider's own published line and nothing of ours; raise it for a construct you intend to publish. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | which report was actually read | |
| shape | Yes | the coverage track's SHAPE: its median, how many positions fall under the line and in how many separate runs, the longest such run with its coordinates and its floor, and the largest change in level with the position it is at | |
| perbase | Yes | per-base coverage: positions counted, mean/min/max read depth, and how many positions reach 20x | |
| reading | Yes | what the coverage track says, generated from the profile that was measured rather than from the request, with the provider's own sentence quoted as theirs | |
| longestGap | Yes | positions in the longest unbroken stretch under the coverage line — the provider's first warning shape. 0 means no position falls under it; null for a Plasmidsaurus summary, which has no track | |
| minCoverage | Yes | the LOWEST depth anywhere in the read — the number that decides whether a disagreement with the reference is believable. Null for a Plasmidsaurus summary, which measures no depth | |
| depthProfile | Yes | the depth track drawn: the MINIMUM and the mean depth per window, with the coverage line and the track's median as rules, so a drop-out reads as a drop-out rather than being averaged away. Null for a Plasmidsaurus summary, which measures no track | |
| plasmidsaurus | Yes | the whole parsed summary, including the raw text it came from | |
| largestStepFold | Yes | the largest sustained rise in depth, as a multiple — the provider's second warning shape. Branch on this rather than re-deriving it from the profile. Null when no step could be measured (a track shorter than two windows, or a Plasmidsaurus summary): a 0 is not a fold | |
| contaminationPct | Yes | Plasmidsaurus' contamination estimate, as a percentage. Null when the summary states none, and for a coverage table: a 0 would read as a clean run nobody measured | |
| positionsAbove20x | Yes | positions at 20x or better, out of the total. Null for a Plasmidsaurus summary | |
| contaminationSource | Yes | what the provider says the contaminant IS — the half of the estimate that tells you what to do about it. Null when the summary names none, and for a coverage table |