Amplicon (16S) and WGS pipelines for CMMR, driven from Wrike.
A user submits the "Bioinformatics Pipeline" Wrike request form, naming a
pipeline and attaching a samplesheet — or runs run ampliseq samples.txt on the
login node, which files the same request. A few seconds later the bot replies on
the resulting task that the job is queued; when it finishes, the task carries a
link to an S3-hosted report and a zip of the raw reads. Everything in between is
what this repository does.
There is no web service and no database. The whole system is bash scripts on the cluster login node plus a Slurm queue, glued to Wrike by an SQS queue.
https://cmmr.github.io/nextflow/ — built from docs/ on every push
to main.
| Overview | What happens between a request and a report |
| Conventions | The uid, the run directory, and the other invariants |
| Repository layout | What every file here is for |
| Configuration | .env and everything it sources |
| Pipelines | The pipeline file format, versioning, and adding one |
| Results | The dashboard, its file index and expiration notice, and the folder listings |
| Wrike | The bot account, task status, webhook bridge, API responses |
| Operations | The daemon, the expiration timer, the logs, running a pipeline by hand |
/data/prod/nextflow/run ampliseq /path/to/somesamples.txtrun files a Wrike request and exits; progress, rejections, and the final
result all appear on the task it prints. See
Running a pipeline by hand.
Every script carries a header block naming its caller, what it submits, what it
requires, and which environment variables it expects. Start with
wrike_task_handler.sh — it is the whole
system's front door, and its numbered steps are the request lifecycle.
pip install -r requirements-docs.txt && mkdocs serve