Skip to main content

nf-meta: metapipeline representation, editor, and runner

This project features a reproducible representation for meta-pipelines, featuring an interactive editor running locally in a browser, as well as a cli based validator and runner.

This is a beta version: Things can be unstable and change

Find a growing collection of examples in our dedicated showcase repository.

Representation

This project proposes a representation for how metapipeline can be generalized in a in .yml file format. The most important keys for a metapipeline in this format are:

  • config_version - which allows the representation to change over time without breaking
  • workflows - lists the nextflow / nf-core pipeline runs. The flow from workflow to workflow is described by transitions defined with the from: key
  • globals - defines settings that apply to all workflows
config_version: 0.3.0
globals:
  nextflow_version: 25
workflows:
  n01:
    name: nf-core/fetchngs
    version: dev
    params:
      input: fetchngs-ids.csv
      outdir: out_fetchngs
      nf_core_pipeline: rnaseq
      nf_core_rnaseq_strandedness: auto
  n02:
    from: n01
    name: nf-core/rnaseq
    version: dev
    params:
      input: ${n01:params:outdir}/samplesheet/samplesheet.csv
      genome: EB1
      outdir: out_rnaseq   

This project features at it core validation logic for these sort of .yml representations.

To enable referencing fields form other workflows, constructs like could be made possible:

    # write this:
    input: ${n01:params:outdir}/samplesheet/samplesheet.csv
    # instead of this:
    input: fetchngs_out/samplesheet/samplesheet.csv

Editor

This project features a small editor which intends to ease the creation and updating of these config files, by visualizing the config as a graph and offering user-firendly form for entering and validating values.

editor

Metapipeline Runners

Currently:

  • Python Runner: Wraps nextflow commands, exectutes in dag order

Planned:

  1. nf-cascade runner: Convert config into one nextflow daisy-chaining nextflow script
  2. Seqera Platform runner: Start and monitor locally, call and poll a Platform instance with run parameters via API to handle running Nextflow
  3. Meta-Pipeline runner: compile config into new monolithic nextflow project, that imports required workflows to achieve most efficient orchestration + graceful errors handling

Install from PyPI

The released version of this package can be installed from the Python Package Index

# with pip
pip install nf-meta

# with uv 
uv add nf-meta

Install and run the Development Setup

Install and run the frontend

$ cd /src/nf_meta/editor/frontend
$ npm install
$ npm run dev

Run the cli in dev mode

NF_META_DEVMODE=1 uv run nf-meta editor [</path/to/metapipeline.yml>]

Project Structure

  • Engine: Config Validation, Editor Session with History and exposing API
  • Runners
  • Editor frontend for creating or editing a config

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nf_meta-0.4.2.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nf_meta-0.4.2-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file nf_meta-0.4.2.tar.gz.

File metadata

  • Download URL: nf_meta-0.4.2.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nf_meta-0.4.2.tar.gz
Algorithm Hash digest
SHA256 9923d8312ef16aff982965fe62502205271e8040ff80091c92da8afc58f6e671
MD5 db777ce19152a2b3f282151c9268ffd8
BLAKE2b-256 33df7799bbc9d32e0caa92d41f2a187ade966587db12467311b5f93bf432c019

See more details on using hashes here.

File details

Details for the file nf_meta-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: nf_meta-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nf_meta-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b418f29a8dfaf299fb4e773cc77701767480d56234252f77029decb7a5ef85f7
MD5 a20db4d10a88c4097dc6a1073c725d28
BLAKE2b-256 35a9a6f7cc671284b11fabf3e96255c3b228c1078871b8c2ae5cf54e31a0883f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 files

0.3.1

2 files

0.2.4

2 files

0.2.3

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page