Skip to Content
Pipelines & AnalysisAvailable Pipelines

Available Pipelines

The installed catalog is built from whatever is found under pipelines/ in the application directory — or wherever SEQDESK_PIPELINES_DIR points, which matters on clusters whose compute nodes do not share the app’s filesystem. Each subdirectory holding a valid manifest.json becomes one catalog entry; directories whose names start with . or _ are skipped, which is why the pipelines/_example/ scaffold never appears.

Eleven packages ship with SeqDesk today:

Package idName in the UIVersionTargetCategory
magMAG Pipeline3.0.0studyanalysis
submgSubmit to ENA1.0.0studysubmission
reads-qcQuality Overview0.1.0studyqc
multiqcStudy MultiQC0.1.1studyqc
study-demo-reportStudy Demo Report0.1.0studyanalysis
kraken2-brackenTaxonomic Profiling (Kraken2 + Bracken)0.1.0study and orderanalysis
simulate-readsSimulate Reads0.2.0orderqc
fastq-checksumFASTQ Checksum0.1.0orderqc
fastqcFastQC0.1.0orderqc
read-cleaningRead Cleaning0.1.0orderqc
nanoplotNanoPlot (Long-read QC)0.1.0orderqc

Category decides where a package appears, not just how it is sorted. The submission category is shown under Publishing on a study; everything else is shown under Analysis. That is why Submit to ENA is not in the Analysis list even though it is a perfectly ordinary study pipeline.

Two further visibility flags come from each package’s registry.json: visibility.showToUser decides whether researchers see the pipeline’s status at all, and visibility.userCanStart decides whether they may launch it. Every shipped package sets userCanStart: false — launching is always a facility admin action. Independently of both flags, a run’s results stay private until an admin marks it Use as final; see Publishing a run.


Study pipelines

MAG Pipeline

Wraps: nf-core/mag v3.0.0 · Target: study · Requires: paired-end reads on every selected sample

The reference metagenomics workflow: quality control, host removal, assembly, binning, bin refinement, bin QC and taxonomic classification, ending in a MultiQC report. It is also the pipeline that produces the Assembly and Bin records the ENA submission path depends on.

MAG is the only shipped package with a hard compatibility gate. Its samplesheet requires paired short reads, and metadata validation refuses an order whose sequencing technology is long-read or single-end-only:

Sequencing technology "…" incompatible with MAG. MAG requires short-read technologies that support paired reads.

Steps (from definition.json, in dependency order): Input Validation, Raw Read QC, Read Trimming, Host Removal, Trimmed Read QC, Assembly, Assembly QC, Binning Prep, Genome Binning, Bin Refinement, Bin Quality, Taxonomy, Annotation, MultiQC Report.

Configuration

ParameterDefaultNextflow flagDescription
stubModefalse-stubStub run — fast, no real analysis
skipMegahitfalse--skip_megahitSkip the MEGAHIT assembler
skipSpadestrue--skip_spadesSkip SPAdes (off by default)
skipProkkatrue--skip_prokkaSkip gene annotation
skipBinQcfalse--skip_binqcSkip bin quality control
skipConcocttrue--skip_concoctSkip the CONCOCT binning branch (off by default as a stability workaround)
skipBuscofalse--skip_binqcCompatibility switch for nf-core/mag 3.0.0 — disables bin QC to avoid BUSCO summary failures
skipCheckmfalseNo-op at current defaults; CheckM is not used unless bin QC mode changes
skipGuncfalseNo-op at current defaults; GUNC is off in nf-core/mag 3.0.0
skipQuastfalse--skip_quastSkip the QUAST bin summary (auto-skipped when bin QC is skipped)
skipGtdbfalse--skip_gtdbtkSkip GTDB-Tk classification and its database download
runAtallall, or selected-technologies to narrow which sequencing technologies may run MAG
allowedSequencingTechnologies[]The allowlist used when runAt is selected-technologies
gtdbDb--gtdb_dbPath to a GTDB-Tk database directory or .tar.gz

Two conditional rules apply on top of the flag mapping: enabling skipBinQc or skipBusco also adds --skip_quast --skip_gtdbtk, because those stages depend on bin QC.

Narrowing with runAt: selected-technologies produces its own launch errors:

MAG is restricted to selected sequencing technologies. Found disallowed technology IDs: … Allowed: … MAG is restricted to selected sequencing technologies in pipeline settings. Some selected samples are missing order/technology selection metadata.

Outputs

OutputPattern under output/Becomes
assembliesAssembly/*/*.contigs.fa.gzAssembly rows, matched to samples by filename
binsGenomeBinning/DASTool/bins/**/*.fa, falling back to GenomeBinning/{MetaBAT2,MaxBin2}/**/*.faBin rows, matched by parent directory
taxonomyTaxonomy/GTDB-Tk/*.summary.tsvGTDB-Tk classification as sample metadata
multiqc_reportmultiqc/multiqc_report.htmlthe study report

Bin completeness and contamination are parsed from GenomeBinning/QC/checkm_summary.tsv and joined on the bin name. If that file is absent the bins are still created — with empty quality columns.


Submit to ENA

Wraps: submg  v1.0.0 via a custom runner · Target: study · Category: submission (appears under Publishing)

Builds the submg manifests from SeqDesk’s own records, submits reads, assemblies and — optionally — bins to the European Nucleotide Archive, then parses the receipts and writes the accessions back onto the sample, read and assembly records.

Steps: Validate Inputs → Generate Config → Submit to ENA → Parse Accessions.

Prerequisites. This is the pipeline with the longest list of preconditions, and all of them are checked before a run is created:

  • the study has an ENA study accession (PRJ…), registered on the same server the submission targets;
  • on the ENA test server, that registration must be less than 24 hours old;
  • every sample has a taxId and the checklist fields submg requires;
  • every sample has paired reads with MD5 checksums — run FASTQ Checksum first if they are missing;
  • every sample resolves to an assembly file.

Configuration

ParameterDefaultDescription
skipCheckstruePasses --skip_checks to submg submit
submitBinstrueInclude genome bins when available
condaEnvsubmgConda environment holding the submg CLI
assemblySoftwareMEGAHITWritten into the submg assembly manifest
completenessSoftwareCheckMWritten into the submg bins manifest
binningSoftwareMetaBAT2Written into the submg bins manifest

Outputs. Two run artifacts — the submission logs (logging*/**/*) and submg-metadata.json. The real result is in the database: sample accessions (ERS/SAMEA), run and experiment accessions (ERR/ERX) and assembly accessions (ERZ), rendered as an ENA submission results table on the pipeline page with links into the ENA browser.

See ENA Submission for the full flow.


Quality Overview

Package: reads-qc v0.1.0 · Target: study · Runtime: seqkit 2.8.0 plus Python via conda; runs locally on Apple Silicon

Per-sample FASTQ statistics rolled up into a study-level HTML overview: read count, total bases, average quality and GC content. It is the lightweight alternative to running FastQC on every sample when all you want is a comparison across a study.

Steps: Compute statistics → Collect statistics → Generate report.

Configuration: none.

Outputs

OutputPatternBecomes
sample_statsper_sample/*.tsvrun artifacts
sample_reads_writebackper_sample/*.tsvwrites readCount1/2 and avgQuality1/2 onto the Read rows
summary_tsvsummary/reads-qc-summary.tsvrun artifact
summary_reportreport/reads-qc-report.htmlrun artifact (previewable)

Note the writeback: although Quality Overview is study-scoped, it updates the same canonical Read fields that the order-side QC pipelines write. Scope governs which target a run belongs to, not whether reads may be touched.


Study MultiQC

Package: multiqc v0.1.1 · Wraps: bioconda::multiqc=1.21 · Target: study

Runs a single MultiQC pass over verified QC artifacts produced by earlier runs in the same study — FastQC archives and NanoPlot NanoStats tables — and produces one consolidated report. It re-analyses nothing; it only aggregates.

The report is written as study-multiqc.html rather than MultiQC’s default multiqc_report.html, so it can never collide with the report MAG emits in the same study.

Configuration

ParameterDefaultDescription
reportTitleStudy MultiQC reportTitle at the top of the aggregate report

Outputs

OutputPatternBecomes
multiqc_reportmultiqc/study-multiqc.htmlthe study report, marked as the primary preview
multiqc_datamultiqc/multiqc_data/*run artifacts (downloadable data tables)

Prior-run gathering is automatic. SeqDesk stages matching FastQC and NanoPlot artifacts from completed runs in the same study, preserving their run and sample provenance. The workflow fails instead of reporting success when MultiQC parses no supported module data.


Study Demo Report

Package: study-demo-report v0.1.0 · Target: study · Runtime: none — a single awk-based process with no conda profile at all

A deterministic, hermetic pipeline that produces an HTML report, a Markdown summary and a per-sample TSV without doing any bioinformatics. Its purpose is to prove that execution, monitoring, output discovery, preview handling and the results UI all work end to end on a given installation.

This is the right first run on a new install. It needs no reference data, no reads and no network, and it finishes in seconds — so if it fails, the problem is the environment, not the data.

Configuration

ParameterDefaultDescription
report_titleSeqDesk demo pipeline reportTitle of the generated report

Outputs: report/demo-report.html (study report), report/demo-report.md and tables/sample-summary.tsv (run artifacts).


Taxonomic Profiling (Kraken2 + Bracken)

Package: kraken2-bracken v0.1.0 · Target: study and order · Wraps: kraken2 2.1.3, bracken 2.9, krakentools 1.2 + krona 2.8.1

Classifies each sample’s short reads against a Kraken2 database, re-estimates abundances with Bracken at a configurable rank, and renders an interactive Krona chart per sample. The top taxon and its fraction are parsed out of each Bracken table and shown in the sample result column.

This is the only shipped package that declares both targets, so it appears in both the study and the sequencing-order catalogs.

Steps: Classify Reads (Kraken2) → Estimate Abundance (Bracken) → Visualize (Krona) → Collect Summary.

Configuration

ParameterDefaultPlacementDescription
kraken2DbbasicKraken2 database directory, which must also contain the Bracken kmer distributions. Hidden from the run form when the facility has configured it centrally.
confidence0.0advancedKraken2 confidence threshold, 0.0–1.0; 0.0 disables filtering
brackenReadLength150advancedSelects which databaseXXmers.kmer_distrib Bracken uses
brackenLevelSadvancedBracken rank: S species, G genus, F family
kronatruebasicRender a Krona chart per sample

The database is not bundled and is never downloaded automatically. kraken2Db must point at a Kraken2 database directory that also contains databaseXXmers.kmer_distrib files, built once with bracken-build for the read length you configure. Admins pin this centrally through the installation profile rather than per run.

Outputs

OutputPatternBecomes
kraken2_reportkraken2/*.kraken2.report.txtper-sample run artifact
bracken_abundancebracken/*.bracken.tsvper-sample run artifact; top taxon parsed into metadata
krona_htmlkrona/*.krona.htmlper-sample run artifact, marked as the primary preview
summary_tsvsummary/kraken2-bracken-summary.tsvrun artifact — top taxon per sample

No Read writeback: everything stays as artifacts.


Sequencing Order pipelines

Simulate Reads

Package: simulate-reads v0.2.0 · Target: order

Generates FASTQ files for the samples of a sequencing order and links them to the canonical Read records. It is the one order pipeline that does not require existing reads — it produces them. Use it for demos, smoke tests, and to give the rest of the order-side chain something to work on.

It can either synthesise reads or replay real template FASTQ pairs that the facility has staged, which produces far more realistic input for downstream QC.

Configuration

ParameterDefaultDescription
simulationModeautoauto (use templates when available, otherwise synthesise), synthetic, or template
modeshortReadPairedshortReadPaired, shortReadSingle, or longRead
readCount1000Reads per sample (long reads, in long-read mode)
readLength150Read length, or target mean length in long-read mode
qualityProfilestandardSynthetic only: standard, highAccuracy, or noisy
insertMean350Synthetic paired-end mean insert size
insertStdDev30Synthetic paired-end insert size standard deviation
seedMakes synthetic output and template selection reproducible
replaceExistingtrueDelete the sample’s existing linked read files and replace them
templateDirAdmin-only: directory of template FASTQ pairs

replaceExisting defaults to true, and it deletes files. Running Simulate Reads on an order that already has real data will overwrite it.

Writes back: file1, file2, checksum1, checksum2, readCount1, readCount2. Also produces: summary/simulation-summary.tsv as a run artifact.


FASTQ Checksum

Package: fastq-checksum v0.1.0 · Target: order · Requires: linked reads

Computes MD5 checksums for the FASTQ files already linked to the order’s samples and stores them on the canonical read record. ENA submission validation refuses to proceed without them, so this is worth running as soon as data arrives.

Configuration: none.

Writes back: checksum1, checksum2 (from checksums/*.json). Also produces: summary/checksum-summary.tsv.

The sample result column shows the first 8 characters of each checksum, or Not computed.


FastQC

Package: fastqc v0.1.0 · Wraps: bioconda::fastqc=0.12.1 · Target: order · Requires: linked reads

Runs FastQC per sample, publishes the HTML reports and zip archives, and extracts read counts and mean quality back onto the read record.

Configuration: none.

Outputs

OutputPatternBecomes
sample_qc_reportsfastqc_reports/*_fastqc.htmlper-sample run artifacts (previewable)
sample_qc_datafastqc_reports/*_fastqc.zipper-sample run artifacts
sample_fastqc_readsfastqc_reports/*_R1_fastqc.htmlwriteback
summarysummary/fastqc-summary.tsvrun artifact

Writes back: fastqcReport1, fastqcReport2, readCount1, readCount2, avgQuality1, avgQuality2. The sample result column shows the report links and the average quality per read direction.


Read Cleaning

Package: read-cleaning v0.1.0 · Wraps: nf-core/detaxizer v1.3.0 · Target: order · Requires: active reads whose dataClass is raw or unknown

Screens reads for host or contaminant sequences — by default Homo sapiens — filters them out, and writes per-sample cleaned FASTQ files. Those files are staged as candidates, not applied: they become run artifacts and wait for an admin to review the evidence and promote them. See Read writeback and candidate review.

Samples whose active reads are already cleaned are reported as Needs raw or unknown reads and skipped, so the pipeline cannot be run twice over its own output by accident.

Configuration

ParameterDefaultPlacementDescription
tax2filterHomo sapiensbasicTaxon name or ID passed to detaxizer
classificationKraken2truebasicUse Kraken2 to identify contaminant reads
kraken2DbbasicKraken2 database path (hidden when configured centrally)
classificationBbdukfalseadvancedUse BBDuk k-mer matching against a contaminant FASTA
bbdukReferenceadvancedContaminant reference FASTA for BBDuk
filteringToolseqkitadvancedFiltering backend: seqkit or bbmap
readTypeautoadvancedMap single-file samples to detaxizer’s short- or long-read columns: auto, short, long
outputRemovedReadsfalseadvancedAlso write the removed contaminant reads

Outputs

OutputPatternBecomes
cleaned_read_candidatesfilter/filtered/*_filtered.fastq.gzstaged read candidates awaiting admin review
removed_readsfilter/removed/*_removed.fastq.gzrun artifacts (only when outputRemovedReads is on)
multiqc_reportmultiqc/multiqc_report.htmlrun artifact, marked as the primary preview
summarysummary/summary.tsvrun artifact
pipeline_infopipeline_info/*run artifacts

NanoPlot (Long-read QC)

Package: nanoplot v0.1.0 · Wraps: bioconda::nanoplot=1.42.0 · Target: order · Requires: a linked read file per sample

Computes long-read quality metrics — read count, total bases, mean/median/N50 read length, mean Phred quality — and an interactive self-contained HTML report per sample.

Configuration: none.

Outputs

OutputPatternBecomes
sample_reportnanoplot/*_NanoPlot-report.htmlper-sample run artifact (previewable)
sample_statsnanoplot/*_NanoStats.txtper-sample run artifact
sample_reads_writebacknanoplot/*_NanoStats.txtwrites readCount1 and avgQuality1
summary_tsvsummary/nanoplot-summary.tsvrun artifact

Read-length N50 and mean length are kept in the artifact metadata rather than on the Read record, because there are no canonical read columns for them.

The package declares sequencingCompatibility as long-read, single-layout, Oxford Nanopore or PacBio. That declaration is descriptive today — the catalog is not filtered by it, so NanoPlot is offered on every sequencing order regardless of platform. Running it against short Illumina reads will produce a report, just not a useful one. No long-read demo dataset ships with SeqDesk, so this package has not been exercised against bundled demo data.


Beyond the bundled catalog

The pipeline store

SeqDesk hosts a curated store that facilities can browse in the application or from the server shell. Under Admin → Pipelines, the Per-Sample Pipelines and Per-Study Pipelines tabs each offer three views — Installed, Needs setup and Available — and Available is the store catalog filtered to packages this deployment does not have yet, with an Install action per entry.

The same catalog is available through the operator CLI:

seqdesk pipelines list seqdesk pipelines list --catalog order seqdesk pipelines list --catalog study seqdesk pipelines install <name>

Both surfaces use the same installation, readiness, and activation services. See Installing & Setting Up Pipelines for states, guided setup, and automation.

The store’s catalog is versioned independently of the application, which is what makes a pipeline installable into an existing deployment without shipping a new release. It is a subset of the bundled packages plus private entries — today it carries mag, submg, reads-qc, read-cleaning, simulate-reads, fastq-checksum, fastqc and the private metaxpath, so a package can ship in the repository without yet being offered in the store.

To propose a package for the store, see Contributing to the Official Pipeline Store.

MetaxPath — private add-on

Not part of the bundled catalog. MetaxPath (hzi-bifo/MetaxPath-Nextflow, v0.1.6) is a private, study-scoped package for long-read clinical metagenomics: host filtering, taxonomic profiling, assembly, virulence-factor prediction, AMR detection and reporting. Operators with access install it separately; nothing in the public catalog references it.

Two of its properties are worth knowing because they shaped SeqDesk’s own monitoring logic:

  • It ships no step definitions, so trace progress cannot prove completion — which is why SeqDesk finalizes such runs only from a positive exit marker or a terminal scheduler state. See How a run is finalized.
  • Its profiling processes request 20 CPUs by default, which a small SLURM allocation rejects pre-flight. See Execution modes.

Your own package

Any directory under pipelines/ with a valid manifest is picked up at startup — no registration step, no code change. See Adding Custom Pipelines.