Skip to content

Releases: pinheiroGroup/GUIbiont

GUIbiont v1.1.1

Choose a tag to compare

@aivuk aivuk released this 14 Aug 08:19

Environment fix. No source changessrc/, test/, static/, web_server.jl and the Dockerfile are byte-identical to v1.1.0, so results are unchanged.

Fix: Manifest.toml now pins Kinbiont.jl v1.5.1 instead of v1.5.0. The browser computes log-linear columns through GUIbiont's own fit_well_loglin, which rejects growth rates below 1e-6 h⁻¹; exported scripts recompute them with kinbiont_batch_loglin, which only gained the same guard in Kinbiont v1.5.1. Pinned to v1.5.0, the two paths disagreed on flat curves and the reproduction harness failed.

Also updates the project site with a social preview card and SEO metadata.

Full changelog: v1.1.0...v1.1.1

GUIbiont v1.1.0

Choose a tag to compare

@aivuk aivuk released this 13 Aug 14:51

First release since v1.0.0, and the version used for the manuscript results.

Fitting

  • Log-linear estimator requires a growth rate above 1e-6 h⁻¹ and a defined R² before reporting a fit, so a flat curve's mathematically-exact zero slope can no longer land on either side of zero depending on floating-point rounding. Results are now reproducible across hardware and BLAS builds.
  • Blank detection and fitting consistency fixes.

Clustering

  • Fixed the constant-curve pre-screen, and the elbow computation when the pre-screen is active.
  • Fixed BLAS thread handling in the parallel WCSS sweep.

Other

  • Additional /api/ml-downstream endpoints, code-export fixes, expanded test coverage.
  • Project site rewritten with a light theme and claims checked against the manuscript.

Full changelog: v1.0.0...v1.1.0

GUIbiont v1.0.0

Choose a tag to compare

@aivuk aivuk released this 29 Jul 12:57

First tagged release of GUIbiont, the version used for the analyses in
No-code microbial growth phenotyping with GUIbiont.

GUIbiont is a no-code browser application for microbial growth phenotyping:
quality control, curve fitting, trajectory clustering and metadata-linked
analysis, built on Kinbiont.jl. Interactive sessions in the Fit Curve, Batch
Fit and Clustering tabs export as executable Julia scripts that reproduce the
browser result outside the browser.

Reproducible environment

  • Pinned to Kinbiont v1.5.0 (DOI: 10.5281/zenodo.21640122); Manifest.toml
    is tracked, so a clone installs the exact dependency set the published
    results were produced with.
  • Julia 1.12 throughout: the compat bound, the CI matrix and the container
    base image all agree.
  • A container image is published to ghcr.io/pinheirogroup/guibiont.

Export reproducibility

An automated harness drives the real browser UI, downloads the generated
guibiont_analysis.jl, runs it in a separate Julia process and compares every
returned quantity. Across four analyses — a single aHPM fit with its
log-linear companion, a 2,628-curve log-linear batch, a parametric batch with
its companion columns, and a clustering run — 26,194 quantities were
compared with no disagreement
: 26,189 bitwise identical, three quality
indices agreeing to 1.4e-14, and two undefined on both sides.

Fixes in this release

  • The log-linear companion computed alongside a parametric fit now uses the
    log-linear positive floor (1e-4) rather than inheriting the parametric 0.01
    floor. The two paths disagreed for unblanked low-OD curves; the exported
    script carried the same mistake. test/loglin_floor_test.jl locks the
    invariant.
  • Blank wells accepted from auto-detection are forwarded to the fitting
    routes. Previously "Use these as blanks" updated only the advisory card and
    the fit ignored the choice.
  • Log-linear slope and intercept uncertainties are labelled as 1-sigma
    standard errors, which is what they always were; the fields are renamed from
    2_sigma_* accordingly.
  • The exported script is named guibiont_analysis.jl.
  • Interface terminology: Downstream Analysis and Clip to floor, with the
    1e-4 floor stated in the help text.