← All projects

Sequencing, kept in sync

OpeNGSync.

Untangle the lab, one status at a time.

An open-source platform for sequencing facilities. It validates complex sample sheets, keeps requests, samples, libraries, and pools connected, and tracks every status from request to delivery.

Python · FastAPI · HTMX · PostgreSQL · Celery · Docker

View on GitHub
OpeNGSync double-helix mark
Open source, for any sequencing facility

Modern by nature, clean by design

How it works.

Complex inputs are validated, related records stay connected, and status changes cascade through a clean, typed core.

  1. 01

    Requests + sample sheets

    Complex inputs checked in guided, multi-step workflows

  2. 02

    FastAPI + HTMX

    Server-rendered pages with lazy-loaded fragments

  3. 03

    PostgreSQL + SQLAlchemy

    Related samples, libraries, pools, and runs, with a status-transition registry

  4. 04

    Celery workers + Redis

    Scan run folders, cascade statuses, back up, and clean up

  5. 05

    Shared data

    Expiring links, WebDAV downloads, and a Python API client

The engineering toolbox

Thoughtful tools, working together.

Web

  • Python 3.14
  • FastAPI
  • Jinja2
  • HTMX
  • Tailwind CSS

Data

  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • pgBouncer
  • pgBackRest

Background work

  • Celery
  • Redis
  • Illumina InterOp

Analysis + assistance

  • pandas
  • DuckDB
  • Plotly
  • Pydantic AI

Security

  • WebAuthn passkeys
  • Argon2
  • API tokens
  • Audit log

Operations

  • Docker Compose
  • nginx
  • GitHub Actions
  • pytest

Docker Compose, nginx, pgBackRest, and CI/CD keep it deployable, so any sequencing facility can host it.

The idea

Made for busy sequencing labs.

OpeNGSync is a facility-agnostic platform for NGS service requests and lab tracking. It handles intricate inputs and the web of relationships between samples, libraries, pools, and runs, then keeps every status accountable with a recorded history.

Validate complex sample sheets, library types, and multiplexing setups before anything is saved.

Keep requests, samples, libraries, pools, and runs related, with typed statuses and a recorded history.

Share results securely, with roles, passkeys, an audit log, and an API. Any sequencing facility can run it.