Skip to content

Run records, recorded-input lookup, qc metagene, docs by section - #2

Merged
YPARK merged 1 commit into
mainfrom
run-records-metagene-qc
Sep 28, 2026
Merged

YPARK merged 1 commit into
mainfrom
run-records-metagene-qc

Conversation

@YPARK

@YPARK YPARK commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

What

  • Run records. Every producer (dartseq, atoi, apa, count, depth, snp), every faba all step and faba qc writes {job}.run.json into its output directory: version, command line, status, inputs, every effective option, and the files it wrote. Each input keeps the path as given and, when a symlink makes them differ, the resolved file. Outputs are found by diffing the directory before and after the run, not by a hand-kept list. faba all still writes pipeline_summary.json for the whole run.
  • Finding meta files. pileup (--gtf), metagene (-g) and pwm (-f) fall back to the GFF or genome recorded next to their input. The lookup uses the path as given while it still leads to the file the run read, and the resolved file if the link was repointed or removed (with a warning). qc carries the annotation and genome into its own record and no longer copies the input's records, which describe the input directory.
  • qc metagene. qc --interactive shows a metagene below the threshold histogram, with all sites behind and kept sites in front. Region widths are fixed from all putative sites, so the axis does not shift as thresholds move. The annotation is read on a thread; --gff overrides the recorded one. The saved figure includes the metagene.
  • Clearer threshold table. The counts are now labelled "sites that fail: this / only this" with a legend saying they count sites. The first-failed-check column is removed.
  • faba docs by keyword. A subcommand name, a section number or a word from a heading prints only the matching sections. The topic name still prints the whole write-up.
  • Docs corrected against the code. Per-command read filters, the floors apa and depth do apply, the cell set used for discovery, and pwm/pileup behaviour. The stale help text and rustdoc are fixed at the source.
  • Lints raised by the newer clippy are fixed.

Testing

  • New unit tests cover run records (inputs, outputs, failure status, symlink choice, old-format records), the docs section selection, the fixed metagene layout, and the picker's metagene panel.
  • The qc integration test now checks that qc writes its own record and does not copy the input's.
  • End-to-end run on a small local dataset: producer record written, pileup/metagene/pwm found their files through it, and qc forwarded them.

- Every producer, every `faba all` step and `faba qc` writes
  `{job}.run.json`: version, command line, status, inputs (the path as
  given plus the resolved file when a symlink differs), every effective
  option, and the outputs, found by diffing the output directory.
- `pileup`, `metagene` and `pwm` fall back to the GFF or genome named in
  the run record next to their input when the flag is omitted. The
  lookup prefers the file the run actually read when a symlink has since
  been repointed. `qc` carries the annotation and genome forward and no
  longer copies the input's records into the new fileset.
- `qc --interactive` draws a metagene under the histogram: all sites
  behind, kept sites in front, on region widths fixed by all sites so the
  axis does not move with the thresholds. The annotation loads on a
  thread; `--gff` overrides the recorded one.
- The threshold table's counts are renamed to say what they count
  ("sites that fail": this / only this) and the first-failed-check column
  is dropped.
- `faba docs` takes keywords: a subcommand, a section number, or a word
  of a heading prints just those sections.
- The profiling write-up is corrected against the code (read filters per
  command, floors the producers do apply, discovery cell sets, pwm and
  pileup behavior), and stale help text and rustdoc are fixed at the
  source.
- Clippy lints raised by the newer toolchain are fixed.
@YPARK
YPARK merged commit a2352e6 into main Sep 28, 2026
5 checks passed
@YPARK
YPARK deleted the run-records-metagene-qc branch September 28, 2026 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant