Spreadsheet Review Tables
Use this guide when ChromoSort has proposed candidate decisions and you want a spreadsheet-first review step before sequence changes.
The key question is:
Which rows are accepted, which executor can apply them, and how does ChromoSort prevent stale rows from changing a new FASTA?
The Core Idea
chromo eval writes editable TSV review tables. These tables are decision
queues, not FASTA outputs. A reviewer can accept, reject, annotate, delete, or
add rows, then pass the reviewed table to the matching sequence-changing
executor.
All shared eval tables use schema chromosort-review-event-v1. The required
core columns are:
| Column | Meaning |
|---|---|
schema |
Must be chromosort-review-event-v1. |
event_id |
Unique row identifier used for validation and audit. |
task |
One of fix, scaffold, or gapfill. |
action |
Candidate action, such as split_piece, scaffold_gap, or fill_path. |
target |
Human-readable row target. |
accept |
The review decision used by the executor. |
status |
Candidate or planner status. |
confidence |
Planner or reviewer confidence field when available. |
reason |
Why the row exists or why it was accepted or rejected. |
notes |
Free-form reviewer notes. |
Task-specific columns hold source contigs, slices, gap lengths, graph paths, support metrics, risk flags, and provenance. Keep those columns intact unless the command reference says they are user-editable.
Accept Values
The accept field is parsed deliberately but flexibly.
| Accepted as yes | Accepted as no |
|---|---|
yes, y, true, t, 1, accept, accepted |
no, n, false, f, 0, reject, rejected, empty, . |
Any other value is an error. That is useful: typos should stop an executor instead of silently applying a row.
Eval Modes And Executors
| Review table | Proposed action | Matching executor | What accepted rows can do |
|---|---|---|---|
<prefix>.fix_review.tsv |
split_piece |
chromo fix --reviewed-plan |
Emit exact reviewed source slices. |
<prefix>.scaffold_review.tsv |
scaffold_gap |
chromo scaffold --reviewed-plan |
Override matching junction gap lengths. |
<prefix>.gapfill_review.tsv |
fill_path |
chromo gapfill --reviewed-plan --apply |
Restrict graph fills to accepted, revalidated paths. |
chromo eval all writes all three review tables with one shared prefix, plus
<prefix>.eval_all_outputs.tsv listing the chromo gafprep table arguments.
Task-specific manual dashboards can load the same tables with --review-table.
The browser queue is a review view. The executor still makes the sequence
change.
Fix Review Workflow
Create the table:
chromo eval fix \
--assembly-fasta assembly.fa \
--paf paf/sample.paf \
--contigs suspect_contig_1 suspect_contig_2 \
--mode conservative \
--gfa assembly_graph.gfa \
--read-paf reads_to_assembly.paf \
--gaf reads_to_graph.gaf \
--output-prefix review/sample.fix
Review review/sample.fix.fix_review.tsv.
Apply accepted rows:
chromo fix \
--assembly-fasta assembly.fa \
--reviewed-plan review/sample.fix.fix_review.tsv \
--output-fasta results/sample.fixed.fa \
--report results/sample.fixed.tsv
With a reviewed plan, chromo fix does not need coords, PAF, contig targets,
or --all. The accepted rows supply explicit source slices.
Scaffold Review Workflow
Create the table:
chromo eval scaffold \
--ordered-fasta results/sample.ordered.fa \
--assignments results/sample.contig_assignments.tsv \
--gfa assembly_graph.gfa \
--gaf reads_to_graph.gaf \
--read-paf reads_to_assembly.paf \
--output-prefix review/sample.scaffold
Apply accepted gap overrides:
chromo scaffold \
--ordered-fasta results/sample.ordered.fa \
--assignments results/sample.contig_assignments.tsv \
--reviewed-plan review/sample.scaffold.scaffold_review.tsv \
--output-prefix results/sample.reviewed_scaffold
Accepted scaffold rows pin gap_bp for matching
scaffold/left_contig/right_contig junctions. Evidence columns remain
provenance. They do not reorder contigs, choose graph branches, or fill gaps.
Gapfill Review Workflow
Create the table:
chromo eval gapfill \
--ordered-fasta results/sample.ordered.fa \
--assignments results/sample.contig_assignments.tsv \
--gfa assembly_graph.gfa \
--gaf reads_to_graph.gaf \
--ref-paf paf/sample.ref_vs_asm.paf \
--read-paf reads_to_assembly.paf \
--output-prefix review/sample.gapfill
For scaffold-first workflows, replace --ordered-fasta --assignments with
--scaffold-fasta --agp so the review table is built from AGP component
flanks around scaffold N gaps.
Apply accepted fill paths:
chromo gapfill \
--ordered-fasta results/sample.ordered.fa \
--assignments results/sample.contig_assignments.tsv \
--gfa assembly_graph.gfa \
--reviewed-plan review/sample.gapfill.gapfill_review.tsv \
--output-prefix results/sample.reviewed_gapfill \
--apply
Gapfill rows are rechecked against the current scaffold, contig pair, path nodes, and fillability status before sequence is inserted. Stale accepted paths fail instead of being silently applied.
Spreadsheet Review Habits
Use a spreadsheet to make review faster, but keep the table machine-readable:
- Freeze the identifier columns and
accept. - Filter by
action,status,confidence, and evidence columns. - Edit
acceptandnotesfirst. - Avoid changing provenance fields such as source contigs, path nodes, slices, or gap keys unless you are intentionally authoring a new reviewed row.
- Keep rejected rows in the file when useful; unaccepted rows are ignored by executors but remain part of the audit trail.
- Save as tab-delimited text, not a spreadsheet workbook.
- Re-run the executor and read its report.
Evidence Columns Are Context
Optional evidence fields can be very helpful, but their job is different from
the accept field.
| Evidence family | Examples | How to use it |
|---|---|---|
graph_* |
GFA node status, graph paths, direct edges, unitig boundary context. | Decide whether graph topology supports or complicates the row. |
gaf_* |
Graph read traversal status, selected path support, alternate path support. | Check whether graph-aligned reads support the chosen path or a competitor. |
longread_* |
Spanning, split, bridge, edge, or nearby read counts. | Distinguish support at breakpoints and contig-end junctions. |
| Gap and overlap fields | gap_bp, raw_inferred_gap_bp, overlap_class, risk_flags. |
Decide whether the row should stay algorithmic, be overridden, or be left unresolved. |
Evidence columns do not apply sequence changes by themselves.
Stale-Row Protection
Reviewed executors validate more than accept=yes.
| Executor | Stale protection |
|---|---|
chromo fix --reviewed-plan |
Reads accepted fix task rows and applies explicit source slices from the table. Task and schema validation prevent wrong-table use. |
chromo scaffold --reviewed-plan |
Applies only accepted scaffold_gap rows matching the current scaffold, left contig, and right contig. |
chromo gapfill --reviewed-plan --apply |
Recomputes the current graph path and fillability for accepted rows; mismatched path_nodes or unfillable paths are rejected. |
Regenerate review tables after changing FASTA files, assignments, GFA, GAF, path-search settings, or the primary coords/PAF evidence.
Cheat Sheet
| If you want… | Do this |
|---|---|
| A row to apply | Set accept=yes and keep its task-specific key fields valid. |
| A row to stay visible but not apply | Set accept=no and add notes. |
| Manual visual review of the same rows | Open the table with task-specific chromo manual. |
| Gapfill from legacy plan TSV | Use accept_fill=yes in the gapfill plan, or use eval’s shared accept=yes table. |
| Strict reproducibility | Keep the eval table, edited reviewed table, executor report, and output FASTA together. |
Common Traps
Do not edit schema, task, or event_id casually. They are validation and
audit fields.
Do not use a fix table with scaffold or gapfill executors. Task validation
will reject mismatches.
Do not assume accept=yes overrides physics or graph validation. Gapfill still
refuses ambiguous, stale, unsequenced, oversized, or flank-mismatched paths.
Do not delete rejected rows if you need an audit trail. accept=no is clearer
than disappearing evidence.
Do not use spreadsheet software that silently changes large IDs, contig names, or tab delimiters.
What To Look At Next In ChromoSort
- Use Manual Dashboard Review when table rows need visual context.
- Use Scaffolding, Gaps, And Overlaps for scaffold-junction review.
- Use Reading ChromoSort Audit Tables for row-level report interpretation.
- Use chromo eval for the complete review-table reference.