Usage
annopi conf and annopi run workflow.
Overview
annopi-ts follows a two-step workflow:
conf— parse configs, validate references, expand parameters, generateshell/*.shandtasks.ymlrun— execute pending tasks fromtasks.yml, respecting dependencies and.signcheckpoints
pipeline.yml + project.yml
│ conf
▼
shell/*.sh + tasks.yml
│ run
▼
.sign files + task outputsannopi conf
annopi conf \
-p <pipeline.yml> \
-c <project.yml> \
-o <outdir>What conf does
- Loads and merges
pipeline.ymlwith imported task modules - Validates deps, config, and sample references
- Expands parameters (single / sample / cmp modes)
- Builds the task DAG and topological order
- Writes one shell script per numbered task to
<outdir>/shell/ - Writes
<outdir>/tasks.ymlwithruncmd,depends, andstatus: pending
Example output
[CHECK] task 'cellranger' ... OK
[CHECK] task 'qc' ... OK
Generated 2 task scripts in /tmp/annopi-out/shell
Generated tasks.yml in /tmp/annopi-outShell script format
Each shell/N-M-taskname.sh file contains one command per line — the format expected by
ata and annotask -i input files.
annopi run
annopi run -o <outdir>What run does
- Reads
<outdir>/tasks.yml - Refreshes task status from
.signfiles inshell/ - Schedules ready tasks (dependencies satisfied, status pending)
- Executes
runcmdfor each ready task - Writes
.signon success
Resume behavior
If all tasks are already done:
All tasks already done.To force re-run, delete the corresponding .sign files in shell/.
annopi install
annopi install <source>
annopi install <source> --updateInstalls or updates a task module from a local path or git URL. Module tasks can be
referenced via imports in pipeline.yml.
Python ↔ TypeScript Interop
annopi-ts is designed so that:
- Python
annopi confoutput can be run byannopi-ts run - annopi-ts
confoutput can be run by Pythonannopi run
Both engines should produce compatible tasks.yml semantics. Exact YAML formatting may differ.
Fixtures
Test fixtures live under tests/fixtures/annopi/:
| File | Description |
|---|---|
pipeline.yml | scRNA example with qsubsge + local tasks |
pipeline_with_deps.yml | Pipeline with deps for cellranger path |
project.yml | Sample list and project parameters |
See Configuration for YAML field reference.