Skip to main content

seqforge

seqforge

Compile (arbitrary FASTQ files) + (unstructured human/DB metadata) into a validated, machine-independent dataset manifest, then into a runnable Snakemake config — for headless reprocessing of large collections of public sequencing datasets into a genomic-AI training corpus.

seqforge is a compiler, not a chatbot. Deterministic code owns every decision. The LLM has exactly two jobs: parse prose into span-verified assertions, and arbitrate ambiguity the deterministic layer has already flagged. Everything else is a verifier.

probe(files)                           -> Observation   deterministic, no LLM, no network, bytes only
harvest(prose, instructions)           -> Assertion     LLM, each claim span-verified
resolve(Observations, KB, hypothesis?) -> candidates, Conflicts, Questions, Blockers
──────────────────────────────────────────────────────────────────────────────────────────────────
  => manifest.yaml     what the data IS.   One per dataset. Immutable, content-addressed.

plan(Assertions, flags, policy)        -> ProcessingSection   flag > instruction > policy
──────────────────────────────────────────────────────────────────────────────────────────────────
  => processing.yaml   what to DO with it. Many per dataset.

compose(manifest, processing)          -> config.yaml + units.tsv + module selection

Same dataset + a different recipe = a different pipeline, and the dataset's hash does not move.

The files can be local or remote: seqforge io probe-remote <url> fingerprints a library straight from a URL via one bounded HTTP Range read — same identification, no download.

Status: the pilot compiles end to end. The deterministic spine is implemented and green (pixi run check), and seqforge run takes the worm pilot PRJNA1027859 from its raw FASTQs and paper to a validated manifest + a runnable Snakefile in one headless pass. The ground-truth alignment runs (kb e2e) are still on synthetic yeast/worm fixtures with injected counts — it has not yet executed a pipeline on real reads at scale.

Docs: https://liuhlab.github.io/seqforge/ · design + rationale + scope delta: docs/design.md (its §9 is the running list of what is not yet built) · rules: CLAUDE.md

Install

pip install seqforge

This gives you the compiler and the seqforge CLI. The two lab-only stages — compose against a real genome and kb e2e — additionally need the lab's liulab-genome and liulab-data packages, which are not on PyPI. Install them from git when you need those features:

pip install "liulab-genome @ git+https://github.com/liuhlab/liulab-genome.git" \
            "liulab-data   @ git+https://github.com/liuhlab/liulab-data.git"

(Inside the lab, pixi install already pulls both — see below.)

Develop

Everything runs through pixi (not pip/conda/venv):

pixi install                     # build environments
pixi run test                    # pytest
pixi run lint                    # ruff check .
pixi run typecheck               # mypy --strict on models/, probe/, resolve/, manifest/,
                                 #   compose/, workflows/, harvest/, evals/
pixi run check                   # lint + fmt-check + typecheck + test
pixi run -- pre-commit install   # once per clone — ruff, mypy, shellcheck (not the suite)

Most of the non-negotiable rules in CLAUDE.md are enforced by tests, so pixi run check is the mechanism rather than a formality — and CI runs it on every push and PR. The pre-commit hooks are deliberately limited to the fast ones, so run check yourself when you change behaviour.

Consumer of the liulab stack

seqforge references genomes by a liulab-genome UCSC assembly id + registered GTF name, and aligner environments by their literal liulab-runtime name (align-rna, ...). It never defines genome-file machinery or aligner environments itself — and there is a test that says so.

Metadata

Release files for seqforge 2026.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for seqforge 2026.7.1
File Size Uploaded Provenance Actions
seqforge-2026.7.1.tar.gz 1.1 MB With provenance Details for seqforge-2026.7.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for seqforge 2026.7.1
File Interpreter ABI Platform Actions
seqforge-2026.7.1-py3-none-any.whl Python 3 none any Details for seqforge-2026.7.1-py3-none-any.whl

Total release size: 1.6 MB

Release files / seqforge-2026.7.1.tar.gz

Download URL seqforge-2026.7.1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
bdb6a24286d2284bb37503645d33a33977da6f9048bc834eda907ea103f94d91
BLAKE2b-256 checksum
How to use checksums
b975fad7a343c97cc54912c31f8956c4881603124344837ba943f82a046168ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Release files / seqforge-2026.7.1-py3-none-any.whl

Download URL seqforge-2026.7.1-py3-none-any.whl
Size 526.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b07f4c8491fbcc2e3284449207f09a26484ce9e2baaa47f68597487a5c3e67ee
BLAKE2b-256 checksum
How to use checksums
45659fb03a337189925007008b7912a82af0c4dd482b2dabf152d700d760e213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Security for seqforge 2026.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for seqforge-2026.7.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2026.7.1 This release

2 release files Full provenance

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