Skip to content

Repository files navigation

nextflow

Cluster Bot avatar

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.

Documentation

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

Running a pipeline

/data/prod/nextflow/run ampliseq /path/to/somesamples.txt

run 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.

Reading the code

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.

Working on the docs

pip install -r requirements-docs.txt && mkdocs serve

About

16S and WGS Pipelines

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages