Skip to content

Releases: COMBINE-lab/gravlax

0.2.3 - 2026-09-11

Choose a tag to compare

@github-actions github-actions released this 12 Sep 01:38
Immutable release. Only release title and notes can be modified.
75b8d6c

Release Notes

Existing .aie archives, .aic annotations, and .aicollection indexes remain
usable without migration; no format changes. This release adds optional
junction-seeded and one-pass ingest alignment with recorded provenance, cuts
the memory and time of cohort-wide collection find-events by roughly 4x and
10x on an eight-archive benchmark, adds GQ result metadata and explain tags,
lets demo capsules ship a prebuilt collection, and expands the documentation.

Ingest and provenance

  • Add optional junction-seeded and one-pass ingest alignment. aie ingest junctions writes a STAR --sjdbFileChrStartEnd seed file from a GTF or
    compiled annotation, and aie ingest recipe accepts --junction-seed,
    --sjdb-overhang, and --one-pass. Both options are off by default; the
    default recipe is unchanged. The printed ingest-archive command carries the
    matching --junction-discovery, --junction-catalogue, and
    --alignment-annotation declarations, so the seed and discovery mode are
    recorded in archive provenance. No archive-format change.
  • aie ingest recipe now derives the default --sjdbOverhang from
    --chemistry instead of using a fixed 100: 90 for 10x 3' v3/v3.1 (91 bp cDNA
    reads) and 97 for 10x 3' v2 (98 bp cDNA reads), following STAR's read length
    minus one rule. --sjdb-overhang <N> still overrides it, and the flag is
    still emitted only with --junction-seed.
  • aie inspect-archive now shows alignment provenance in its human-readable
    output. The legacy text summary and the --format text/--format tsv
    reports list the provenance status, junction discovery mode, junction
    catalogue role, digest and data-row count, alignment annotation digest and
    locator, alignment chemistry, index identity, and aligner program versions.
    Archives without a manifest report a single line saying none is recorded.
    The --json output is unchanged; --format json gains the same rows as an
    alignment_provenance table. No archive-format change.

collection find-events performance and profiling

Cohort-wide collection find-events reduces exact molecule evidence through a
packed sorted-hit representation instead of hash maps keyed by
(entity, UMI class), reduces source archives one at a time with their chunks
decoded in parallel, and shares one routing-target arena rather than copying a
target list per archive, chunk and junction posting. On an eight-archive
1.33 GB SEZ cohort the routed novel-versus-GENCODE-v32 cassette search went from
93.8 s wall and 12.7 GB peak RSS to 9.2 s and 3.0 GB, with byte-identical
results.

Candidate discovery also stopped holding an ordered set of heap-allocated
event keys and a coordinate map of the whole catalogue: components are stored
inline, definitions are deduplicated by sorting, and the catalogue is looked up
by binary search and released once the exact plan exists.

A search is now rejected while planning if it retains more than 33,554,432
candidates, which the packed reducer cannot address; lower --max-candidates
or strengthen the catalogue predicates. Events with more than three components
are likewise rejected rather than silently dropping component counts.

collection find-events now reports a per-stage wall-clock and peak-RSS
profile. data.summary.stage_seconds and data.summary.stage_peak_rss_bytes
record load_catalogue, discover_candidates, route_candidates,
exact_counting, terminal_tails, annotation_classification and output;
human output prints the same rows on stderr. Like total_seconds, the profile
is sampled before the result tables are streamed. No scientific field changed.

GQ result metadata and diagnostics

  • Result metadata. gq run summaries document the denominators that the result
    table cannot carry, because tally emits observed combinations only: the evidence
    unit, state_fields (the <name>_state columns in declared order), and per-group
    population_units and source_scope_units alongside the existing totals. These are
    additive within gravlax.gq.result.v1; existing readers, including the Python client,
    are unaffected.
  • Exported function signatures. Missing annotations on an export fn are now
    reported with the function name and the byte offset of the parameter or return arrow
    they belong to, rather than one message for the whole declaration. Bare scientific
    types on an exported signature are reported the same way. Explicit types were already
    required on export fn; inference remains available to file-local fn.
  • Explain: per-predicate effect tags. gq explain adds predicate_effect_tags,
    one entry per predicate occurrence giving its stage, output column, byte offset, and
    whether it is chain-invariant (decided exactly by either retained representative) or
    extent-sensitive (dependent on geometry the chain quotient does not retain). The
    existing semantics.predicate_effects rule summary is unchanged.

Demonstration capsules

  • A demo capsule may now publish a prebuilt, rooted .aicollection with shape
    routes plus a --locations manifest keyed by the committed source identities.
    packaging/build_demo_capsule.py builds it from a public-neutral staging root
    (--collection-staging-root, defaulting to the system temporary directory) and
    records its aicollection-directory-root-v1 root; finalize_demo_capsule.py
    binds both files to the immutable data-release URLs; verify_demo_capsule.py
    verifies that root through the published location manifest and runs both
    collection stories against the relocated bytes without rebuilding.
  • demo-manifest.schema.json gains an optional top-level collection object.
    Existing demo-data-v1 manifests, which declare none, remain valid.
  • Notebooks 02 and 03 use a published collection when the manifest declares one
    and otherwise rebuild it locally as before. The published path is fail-closed:
    hash-pinned bytes, no fallback address, the declared collection must commit
    exactly that story's archives and build options, and the location manifest must
    resolve exactly the archives already verified by archive root. Notebook 01 is
    unchanged.

Documentation

  • Add "When to use geometry fidelity" guidance to the ingest-archive and
    format pages, with measured PBMC 5k archive-size and deviation numbers for
    the default and --geometry-fidelity encodings.
  • Lead the README and installation page with conda install -c bioconda gravlax, and describe the GitHub release binaries and installers alongside
    the from-source build.
  • Document Client.replay(..., gene_full=True, solo_strand=...) and mention
    gq_run where the Python client is introduced.

Install Gravlax 0.2.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.3/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.3/gravlax-installer.ps1 | iex"

Download Gravlax 0.2.3

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

0.2.2 - 2026-09-10

Choose a tag to compare

@github-actions github-actions released this 10 Sep 17:07
Immutable release. Only release title and notes can be modified.
220179a

Release Notes

Compatibility and assignment statistics

Existing .aie archives, including legacy v1 archives, and compiled .aic
annotations remain usable without re-ingestion or migration. Archive and
annotation encodings and default Gene count matrices are unchanged.

Reporting change: replay-rows reports now define assigned_molecules as
molecule records with at least one uniquely assigned representative. Previously
this field counted assigned representative rows, so its value can decrease even
when the emitted count matrix is identical. It now aliases
assignment_statistics.assigned_molecule_records; use
assignment_statistics.molecule_records as its denominator. Consumers needing
the previous row count must use assignment_statistics.assigned_representative_rows,
with assignment_statistics.representative_rows as the denominator.

Assignment statistics separately report molecule records, representative rows
and raw UMI classes across the full consumed input, including barcodes outside
the called-nucleus set. These are not collapsed-UMI counts. counted_umis reports
the full-input post-collapse total; use the emitted matrix sum for a selected
barcode population. This reporting correction also applies to default Gene
replay; archive compatibility does not imply unchanged report-field semantics.

GeneFull replay and EM

  • Add replay-rows --gene-full for intron-inclusive, strand-aware gene-span
    assignment from aligned blocks, with the existing global UMI collapse.
    Support streaming/eager archives, BAM input, and compiled annotations.
    Skipped alignment gaps alone do not assign a gene.
  • Add Python Client.replay(..., gene_full=True, solo_strand=...) and record
    the counting model in replay reports and MEX provenance. Reject incompatible
    velocity/audit flags.
  • Add dev em --gene-full for recovery evaluation and pooled emission, with
    explicit masked-class coverage and counting-model metadata. Accuracy is
    conditional on evaluable raw UMI classes before one-mismatch collapse.
  • Add dev em --solo-strand forward|reverse|unstranded to recovery EM and its
    eager reference, and support --star --gene-full under all three strand
    policies. Apply the same model and strand to unique and ambiguous evidence;
    record them and the output counting units in metadata. Gene/forward remains
    the command default.

Execution controls and validation

  • Add independent dev em --eval-barcodes and --modes selection, preserving
    full-input prior fitting and the existing default models. Selecting fewer
    models reduces work without changing retained models' results.
  • Spill packed EM supports according to actual retained candidate volume;
    expose --support-memory-mib (512 MiB by default; zero forces spilling) and
    report storage scope and capacity. This budget is not a whole-process memory
    cap and does not establish a reduction in peak process memory.
  • Query GeneFull directly from aligned blocks using separate strand indexes.
    Isolated forward/reverse lookups were approximately 1.77 times faster; whole
    replay and EM timings do not establish a comparable end-to-end speedup.
  • Validate against an exhaustive overlap oracle, synthetic STARsolo comparisons
    for both counting models and all strands, streaming/eager and forced-spill
    equivalence, and matched brain-nucleus matrices and EM. Fixed-nucleus EM keeps
    the original 6,460 nuclei and preserves the manuscript's shared metrics;
    nucleus calling is assessed separately from this fixed-population comparison.
    Default Gene replay matrices and EM results are preserved. The existing Gene
    UMI tie-breaking difference from STARsolo remains; synthetic EM agreement is
    not a claim of universal STARsolo equivalence.

See GeneFull replay validation,
EM validation, and
strand and optimization validation
for counting units, denominators, biological comparisons and measured tradeoffs.

Install Gravlax 0.2.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.2/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.2/gravlax-installer.ps1 | iex"

Download Gravlax 0.2.2

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

0.2.1 - 2026-09-07

Choose a tag to compare

@github-actions github-actions released this 08 Sep 12:45
Immutable release. Only release title and notes can be modified.
ee00b23

Release Notes

  • Make rooted collection sources and parent layers relocatable through an optional
    --locations manifest keyed by committed content identities. Existing archive and
    collection formats, index bytes and roots remain unchanged; relocation adds no
    archive scan or decoding beyond normal authenticated access.
  • Stop treating historical inode, device, size and timestamps as source acceptance
    criteria or cross-layer duplicate identities. Keep content-based duplicate checks,
    same-open-file authentication, consumed-payload checks and explicit full audits.
  • Add location manifests to Python collection event search and collection-backed
    analysis plans, with resolved paths and manifest digests in uniform provenance.
  • Legacy unrooted archives now authenticate each source open by full-file hash;
    their relocation remains supported but cannot provide the rooted fast path.
  • Test moved layered bundles, unchanged archive/index hashes and I/O, cross-file
    replacement, malformed mappings, wrong roots, legacy identity and corruption.
  • Normalize canonical path aliases in relocation acceptance tests on macOS and
    Windows while preserving content, query-result and I/O comparisons.

Install Gravlax 0.2.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.1/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.1/gravlax-installer.ps1 | iex"

Download Gravlax 0.2.1

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

0.2.0 - 2026-09-05

Choose a tag to compare

@github-actions github-actions released this 06 Sep 02:50
Immutable release. Only release title and notes can be modified.
94433af

Release Notes

Composable query language

  • Reuse built-in shape kernels for compatible GQ predicates, with a fixed-size
    placement cache and allocation-free shape validation. Offer opt-in
    --parallel-decode with bounded, ordered windows and reuse empty/sample-only aggregation keys
    per member. Preserve reference results, logical work and uncertainty diagnostics.
  • Add an opt-in mimalloc executable feature (mimalloc 0.1.52, v2 backend), with
    allocator identification in GQ profiles and an interleaved latency/RSS benchmark.
    Keep the system allocator by default: measured speed gains carry a peak-memory cost.
    Reusable library crates and native C-library allocation are not overridden.
  • Add GQ v1 with aie gq validate, explain, and run, source-located diagnostics,
    typed expressions, bounded nonrecursive functions, project annotations, metadata,
    archive federations, and native evidence execution. Parsing uses winnow 1.0.4;
    the tested Rust minimum remains 1.89.
  • Distinguish unique observations, diagnostic stored representatives, grouped
    multimapping signatures and their alternatives. Universal quantification is
    classical; nonempty requirements are explicit. Record, exact raw-UMI class and
    cell scopes cannot silently substitute for one another.
  • Add conservative three-valued geometry proofs and predicate-specific read-support
    bounds. Compact representatives bracket starts, not generally ends; fixed splice
    gaps and internal blocks provide additional sound proofs without archive changes.
  • Support explicit alignment/transcript strand frames, fixed paths, union overlap,
    record-scoped tails, accepted-observation totals, grouped Truth tallies, summaries,
    exact denominator reporting, projection, sorting and disclosed pagination.
  • Add bounded unique-junction enumeration with exact record/class/cell support.
    Full-scan fallbacks, closure and denominator costs require explicit permission.
  • Add automatic physical GQ planning: fused filter/Truth-derive/aggregate kernels,
    compact Truth slots, sparse typed accumulators, bounded hash-based distinct counts,
    direct record iteration, unused identity projection pruning and stable top-k.
    Preserve logical work budgets, unknown diagnostics, floating-point input order and
    complete-unit/denominator semantics. Expose --engine reference and --profile
    for differential evaluation and post-parse phase timing.
  • Emit typed GQ tables through the existing result envelope, content-bound provenance
    and atomic no-clobber output. Add Python gq_validate, gq_explain, gq_run, and
    gq_run_to_file, plus executable examples and a language reference.

Existing command semantics remain unchanged. In particular, the legacy co-occurrence
command's non-vacuous universal mode is not redefined. Its specialized executor can
be faster than the new general GQ interpreter; GQ is an expressiveness addition, not
a blanket performance replacement. No mandatory archive-format migration is needed.

Archive access and optional storage improvements

  • Speed up authenticated section lookup, directory/header reads and rANS decoding
    without changing their wire encodings. Project terminal-query identities without
    decoding unused molecule columns.
  • Add opt-in --access-index class/geometry routes and --chunk-records finer
    access units, with authenticated completeness checks and bounded index expansion.
  • Add opt-in --geometry-fidelity to retain distinct accepted unique geometries
    and multiplicities within the original molecule records. This can change query,
    assignment and velocity results and declares a new provenance reduction rule.
  • Add experimental --compression-tuning, selecting final compressed cell-map
    and factored-shape encodings losslessly. New selected codecs and the fidelity
    provenance rule require a compatible reader; older readers fail closed.
  • Keep all four ingest switches disabled by default. Default evidence, chunking,
    codecs and container/schema versions are unchanged; producer-version provenance
    changes archive bytes and content roots across releases.
  • Retain structural, sparse-correction and split/path/shared-geometry experiments
    under aie dev; their experimental files are not supported production archives.
    OpenZL is an external research helper, not a Gravlax dependency.

Built-in queries and release validation

  • Add co-occurrence any/all-placement scopes, overlap/start/end predicates, explicit
    junction tolerances, paths/subpaths and payload-free query explanations. Preserve
    record-level defaults and non-vacuous legacy universal semantics.
  • Accelerate larger predicate panels with compiled matching and early cell
    filtering. Small panels retain scalar matching; no archive storage is added.
  • Add deterministic parser mutation tests and offline executable acceptance of
    archive/federation GQ, serial/parallel/reference execution and no-clobber output.
  • Exercise GQ on release-target executables and extracted Linux release archives.
    Keep Rust 1.89 as the minimum supported version.

Install Gravlax 0.2.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.0/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.2.0/gravlax-installer.ps1 | iex"

Download Gravlax 0.2.0

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

0.1.6 - 2026-09-04

Choose a tag to compare

@github-actions github-actions released this 04 Sep 17:20
Immutable release. Only release title and notes can be modified.

Release Notes

Correctness and compatibility

  • Encode an empty multimap-pattern stream with the canonical empty rANS table,
    allowing BAMs containing only unique placements to be ingested, read, and
    validated normally.
  • Lower the declared minimum supported Rust version from 1.98 to the tested
    dependency floor, Rust 1.89. Pull requests and pushes to main now run the
    locked workspace tests and deny all Clippy warnings on that exact toolchain.
  • Activate the checked-in Google Colab notebooks against the immutable,
    checksum-bound demo-data-v1 release locators, preserving fail-closed
    downloads and executable demonstrations.
  • Correct the Bioconda Intel and Apple Silicon linker selection so both macOS
    builds use the active Conda C compiler driver. With the lower MSRV, the recipe
    returns to the standard Rust compiler activation package and no longer needs
    a compiler-policy lint exception.

Archive schemas, archive commitments, query result schemas, and command
interfaces are unchanged from version 0.1.5.

Install Gravlax 0.1.6

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.6/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.6/gravlax-installer.ps1 | iex"

Download Gravlax 0.1.6

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

0.1.5 - 2026-09-04

Choose a tag to compare

@github-actions github-actions released this 04 Sep 13:27
Immutable release. Only release title and notes can be modified.

Release Notes

Molecular evidence and provenance

  • Add logical molecular-evidence schema v2 within the authenticated .aie v2
    container. New archives carry a root-bound alignment-provenance manifest
    recording exact consumed-input identities, construction parameters, genome
    binding, alignment metadata, and an optional exact two-pass junction
    catalogue. Legacy archives remain readable and report unavailable provenance
    rather than inventing it.
  • Add optional sparse terminal-tail evidence for uniquely mapped 10x 3′ cDNA
    reads. The side section retains every qualifying globally deduplicated
    cleavage-anchor key without adding read sequence, qualities, or names, and
    remains outside the unchanged core evidence streams when disabled.

Coordinate-free and same-molecule queries

  • Add aie collection find-events for coordinate-free junction, alternative
    donor/acceptor, cassette, and terminal-tail discovery across samples, donors,
    and cell groups. Queries can require recurrent exact UMI-class support and
    classify evidence against a supplied annotation as missing-junction,
    boundary, strand, or overlapping-model gaps.
  • Add aie query … cooccur for bounded Boolean region, junction, and terminal
    predicates on the same retained molecule record, with three-valued handling
    of incomplete evidence and an explicit diagnostic exact-raw-UMI-class union
    mode.
  • Add typed Python wrappers for collection event discovery and co-occurrence,
    including streaming result files and the same explicit resource limits as the
    native CLI.

Demonstrations and maintenance

  • Add three fail-closed Google Colab demonstrations for annotation
    reinterpretation, multi-donor event discovery, and federated
    junction/co-occurrence analysis. Add non-overwriting build, finalization, and
    verification tools for an independently rooted, checksum-bound demo-data
    capsule; the notebooks require immutable published locators and never fall
    back to invented or cached results.
  • Resolve the existing workspace Clippy diagnostics and require the complete
    workspace, all targets, and all features to pass with warnings denied.

Install Gravlax 0.1.5

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.5/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.5/gravlax-installer.ps1 | iex"

Download Gravlax 0.1.5

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

Gravlax immutable demo data v1

Choose a tag to compare

@rob-p rob-p released this 04 Sep 13:43
Immutable release. Only release title and notes can be modified.

gravlax-demo-data-v1

Locus-restricted molecular evidence from eight public human subependymal-zone single-nucleus RNA-seq donors for annotation reinterpretation, recurrent event discovery, and same-molecule queries.

Built for GRCh38 with Gravlax 0.1.5. The capsule includes 8
locus-restricted donor archives over 3 curated windows, annotation
subsets, cell-group and donor designs, recorded hash-pinned provenance, and
transport checksums.
Broad cell-group labels were frozen without using FNBP1 counts.
The maps include only cells present in the prior FNBP1-targeted archive: A 867 of 4,275 fully labeled cells; B 594 of 1,892; C 644 of 2,888; D 3,199 of 7,259; E 392 of 1,159; F 771 of 2,966; G 3,998 of 14,213; H 407 of 1,974.
The maps cover the FNBP1-support numerators used by the event query, but they are not full cell-group denominators.
The chr12 mechanics drilldown is evaluated only within donor A's 867-cell labeled subset.
It exercises annotation reinterpretation, multi-donor cassette-event discovery, and
same-molecule predicate queries. See README.md for scope and verification.
Drilldown interpretation: Technical low-complexity positive control for terminal-tail, exon-region, and splice-junction co-occurrence mechanics; not a biological headline result.

0.1.4 - 2026-09-03

Choose a tag to compare

@github-actions github-actions released this 03 Sep 14:27
Immutable release. Only release title and notes can be modified.

Release Notes

This is the first complete Gravlax distribution. Version 0.1.0 established the
Rust packages on crates.io, but its immutable GitHub release contains only the
distribution manifest: native archives, installers, the vendored source
archive, and Python packages were not published for that version. The 0.1.1
release attempt stopped before publication when the native builds exposed two
platform-specific defects. The 0.1.2 attempt also stopped before publication
when its publisher jobs did not select the supported Python runtime. The 0.1.3
attempt built every release artifact but stopped before publication
because its checksum verifier rejected the trailing blank line emitted by
cargo-dist 0.32. Install version 0.1.4 when using a packaged release.

Distribution changes

  • Publish native archives and installers for 64-bit GNU and musl Linux, Intel
    and Apple Silicon macOS, and 64-bit Windows, together with checksums, build
    attestations, an SPDX dependency inventory, and a vendored source archive.
  • Publish the gravlax-client wheel and source distribution to PyPI from the
    exact files attached to the immutable GitHub release.
  • Pin portable release code generation explicitly: x86-64 for 64-bit Linux
    and Windows, penryn for Intel macOS, and apple-m1 for Apple Silicon.
    Intel macOS artifacts target macOS 10.12 or newer; Apple Silicon artifacts
    target macOS 11.0 or newer.
  • Require successful validation and artifact assembly before creating the
    GitHub release, and keep Python 3.10 packaging validation compatible with
    the client's supported Python versions.
  • Support concurrent positioned archive reads on Windows and use the Linux
    system-call interface needed by fully static musl builds.
  • Build and smoke-test the Windows and musl targets on ordinary changes, before
    a release tag is created.
  • Select the supported Python runtime explicitly in the registry publisher
    jobs.
  • Accept cargo-dist 0.32's trailing blank line in sha256.sum while continuing
    to reject interior blank lines and malformed checksum records.

There are no archive-format, result-format, or command-interface changes from
version 0.1.0.

Install Gravlax 0.1.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.4/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.4/gravlax-installer.ps1 | iex"

Download Gravlax 0.1.4

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

0.1.0 - 2026-09-03

Choose a tag to compare

@github-actions github-actions released this 03 Sep 12:24
Immutable release. Only release title and notes can be modified.

Release Notes

This is the first public release of Gravlax. It introduces compact,
molecule-resolved evidence archives for single-cell RNA-seq and lets an
annotation be changed or compared without realigning the source reads.

Highlights

  • Build authenticated .aie v2 archives from annotation-free alignments;
    validate, inspect, seal, stamp, extend, replay, and combine those archives.
  • Replay Gene, GeneFull, and Velocyto-style matrices against a GTF or compiled
    AIC annotation while retaining fixed alignment and barcode-correction
    decisions.
  • Query regions, junctions, junction sets, splice events, splice graphs, 3′
    endpoints, and transcript-compatibility classes at cell, group, bulk, or
    multi-sample scope where supported.
  • Compare two annotations on the same retained evidence and report signed
    count changes, class transitions, non-exclusive causes, and bounded
    witnesses.
  • Define reusable projects and analysis plans with content-bound inputs,
    explicit biological intent, safe resume, and a loopback-only Explorer for
    building and inspecting plans.
  • Request typed text, TSV, or JSON results from supported commands without
    changing their established default output; operation reports and directory
    bundles use the same schema and provenance model.
  • Control the aie executable and validate typed results from Python with the
    dependency-light gravlax-client package.
  • Install the aie executable from crates.io or cargo-dist archives for Linux,
    Intel or Apple Silicon macOS, and 64-bit Windows. Release artifacts include
    checksums, build attestations, an SPDX dependency inventory, and a vendored
    source archive for offline builds.

Compatibility notes

  • New archives use .aie v2. Seekable v1 archives remain readable and can be
    sealed into authenticated v2 containers without recompressing section
    payloads.
  • Transcript-equivalence results describe compatibility with the retained
    archive representatives; they are not transcript-abundance estimates or
    full-isoform phasing.
  • The Python distribution does not embed the Rust executable. Install aie
    separately and keep its version aligned with gravlax-client.
  • Gravlax 0.1 is an initial public interface. Result and archive formats are
    versioned so readers can reject incompatible future changes explicitly.

Install Gravlax 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.0/gravlax-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/COMBINE-lab/gravlax/releases/download/v0.1.0/gravlax-installer.ps1 | iex"

Download Gravlax 0.1.0

File Platform Checksum
gravlax-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
gravlax-x86_64-apple-darwin.tar.gz Intel macOS checksum
gravlax-x86_64-pc-windows-msvc.zip x64 Windows checksum
gravlax-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
gravlax-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo COMBINE-lab/gravlax

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>