Dataflow map
A compact map of what goes into each step and what comes out. Use it to work out where a missing file should have come from.
The steps themselves are in Getting started.
Step by step
Step |
Command(s) |
Takes |
Produces |
|---|---|---|---|
0. project |
|
a directory name |
|
1. dataset |
|
species choice, or genome + GTF, or a FASTA |
indexed dataset directory (bowtie2 index, |
2. targets |
|
target list + dataset |
|
3. codebook |
|
transcript list (+ optional expression table) |
|
4. probes |
|
dataset + codebook |
per-target parquet chain, ending in |
5. panel QC |
|
output directory + target list |
|
6. assembly |
|
|
|
Filenames chain from their inputs
This is the part that trips people up: most commands name their output after their input rather than using a fixed name.
genes.txt
--chkgenes--> genes.converted.txt
--convert-to-transcripts--> genes.converted.tss.txt
--make-codebook--> genes.converted.tss.codebook.json (unless you pass -o)
Pass -o codebook.json to make-codebook to break that chain, which is what
Getting started and the mkprobes init template both do.
Per target T, inside output/:
T_all.parquet every candidate position
T_bowtie.parquet raw alignments
T_crawled.parquet candidates + off-target context (+ T_crawled.stats.json)
T_screened_ol<N>.parquet selected probe pairs (+ .stats.json)
T_final_BamHIKpnI_<bits>.parquet encoded constructs
_final_ is the one that counts as a result: filter-genes counts it, and
assemble reads it. The <bits> in the name come from the codebook, and
BamHIKpnI is fixed by the assay chemistry.
Decoding these filenames in full — including why the ol number is a gap and
not an overlap — is in Output columns, stage by stage.
Panel-level:
codebook.json from make-codebook
codebook.failed.txt targets run-panel could not finish
codebook.acceptable.json off-targets you accepted during `assemble short`
genes.pass.txt from filter-genes
generated/<name>_final.txt the orderable pool
Checkpoints
After step 1 — the dataset's index and
.jffiles exist and are readable.After step 2 —
genes.converted.tss.txthas one line per target you expected.After step 3 — the codebook covers exactly your target list; hash recorded.
During step 4 — a
_final_parquet appears per target;codebook.failed.txtis empty.After step 5 — the pass list is as long as your panel.
After step 6 —
generated/holds the pool and<panel>.provenance.json.
If a file is missing
Missing |
Look at |
|---|---|
|
the |
|
|
|
the target is in the codebook, and screened input exists |
many targets in |
|
everything, after a re-run |
outputs are skipped when present; use |
Any output parquet will tell you how it was made: mkprobes provenance <file>.