All projects
SampleSample · unsupportedUnsupported · no SLA

Nextflow Genomics Object Storage

Run real Nextflow genomics pipelines with Backblaze B2 as the S3-compatible object storage data lake — ingest FASTQ, launch runs, and browse QC, alignment, and variant results published back to B2 through a Next.js + FastAPI control plane.

Built for: Bioinformatics engineers and platform teams who run Nextflow pipelines and want object storage as the data lake for genomics inputs and published results.

MIT licensed

Dashboard showing run totals, B2 storage-by-stage, and recent runs.
The dashboard shows run totals, how bytes split across the B2 data-lake stages, and the most recent genomics runs.

What it's built with

Each piece of the stack, and the job it does in this project.

Next.js 16 + React 19
Run control-plane UI with Tailwind v4 and shadcn/ui
TanStack Query
Client-side data fetching, caching, and retry
FastAPI + Pydantic v2
Typed Python API with startup config validation
Nextflow (DSL2) + Java 17+
Genomics pipeline execution engine
boto3 + Backblaze B2
S3-compatible object storage for inputs and results
pnpm workspaces
TypeScript and Python monorepo workflow

Core capabilities

What the project does out of the box, before you write any code of your own.

  • Run control plane

    Create, launch, monitor, and delete genomics pipeline runs from a Next.js interface, watching each run's status and logs as it executes.

  • Real Nextflow orchestration on B2

    Launch a genuine Nextflow DSL2 run that stages inputs from Backblaze B2 and publishes its results back to B2 over the S3-compatible API — not a substitute engine.

  • Genomics ingest to B2

    Drag-and-drop FASTQ reads and samplesheets straight into the B2 inputs/ prefix through presigned direct-to-B2 upload.

  • Results and bucket explorer

    Browse and download a run's QC, alignment, variant, and counts artifacts in a scoped Results explorer, alongside a full bucket file browser.

  • Data-lake dashboard

    See runs by status, published result artifacts, and how storage splits across the inputs, runs, work, and results stages of the B2 data lake.

A closer look

More screens from the running project.

Runs list of genomics pipeline runs with status and profile.
The Runs view lists every Nextflow pipeline run with its pipeline, execution profile, status, and creation time.
Run detail with the Nextflow command and downloadable result artifacts.
Run detail shows a single run's B2 storage footprint, the exact Nextflow command it ran, and the QC, alignment, variant, and counts artifacts published back to B2.
Upload page for ingesting FASTQ reads and samplesheets to B2.
The Upload page drag-and-drops FASTQ reads and samplesheets straight to the B2 inputs/ prefix through presigned direct-to-B2 upload.
New pipeline run dialog for choosing pipeline, profile, and samplesheet.
The New run dialog picks a pipeline, execution profile, and samplesheet, then launches a run whose inputs stage from B2 and whose results publish back to B2.

Choose it for the right job

Nextflow Genomics Object Storage is a head start for a specific shape of project, not a supported, general-purpose product.

Use it when

  • You want a working example of running real Nextflow pipelines with Backblaze B2 as the S3-compatible data lake for inputs and published results.
  • You want to ingest FASTQ and samplesheets to B2, launch a run, and watch its status and logs from a control-plane UI.
  • You want to browse and download a run's QC, alignment, variant, and counts artifacts published back to B2.
  • You are adapting a reference scaffold for your own bioinformatics workflow and will supply your own bucket, region, and application key.

Choose another path when

  • You need a complete hosted genomics platform with managed compute, a job scheduler, or reference-genome management — the bundled pipeline is a synthetic-data toy for demonstrating the storage path.
  • You need user accounts, authentication, tenant isolation, or billing — the deployed API is unauthenticated and bucket-wide.
  • You want to edit a launched run in place — a run is an immutable execution record, so use Clone to new run to start a fresh run with the same configuration.
  • You need to process real human genomic data — the sample handles only synthetic reads and none of the privacy or consent obligations that real sequence data carries.
  • You only need generic file uploads and object-storage browsing without a pipeline engine — a simpler storage starter such as the Vibe Coding Starter Kit is a closer fit.
Sample · unsupported

Project status and support

Report bugs and request features on the repository's GitHub Issues; this is a Backblaze-maintained sample provided as-is with no service-level agreement.