Releases: Arnaroo/FracFixR
Release list
FracFixD v2.1.0 "Numbat"
Demo dataset, resampling schemes and zero handling. Defaults are unchanged:
v2.0.6 output is reproduced exactly, including the permutation p-value
stream. Everything new in this release is opt-in.
Archived at 10.5281/zenodo.22153182.
The files there are byte-identical to the ones in
FracFixD/bin/.
Which file to take
| File | What it is |
|---|---|
fracfixd-linux-generic-x86_64 |
GUI and CLI in one binary, x86-64-v3 baseline. Needs GTK 3. |
fracfixd-linux-broadwell-x86_64 |
The same, tuned for Broadwell and later Intel. |
fracfixd-linux-znver2-x86_64 |
The same, tuned for Zen 2 and later AMD. |
fracfixd-cli-linux-x86_64-static |
Command line only. No GTK, no BLAS, nothing beyond the C library. For servers, clusters, containers and CI. |
FracFixD-2.1.0-macos-arm64.dmg |
macOS arm64, drag to Applications. GTK 3 is bundled. |
fracfixd-2.1.0-macos-arm64.tar.gz |
The same macOS bundle without the disk image. Run bin/fracfixd-launcher.sh, not bin/fracfixd. |
FracFixD-2.1.0-windows-x86_64-setup.exe |
Windows x86_64 installer. GTK 3 is bundled. |
fracfixd-v2.1.0-windows-x86_64.zip |
The same Windows build as a portable ZIP. Take either this or the installer, not both. |
Verify a download against FracFixD/bin/SHA256SUMS:
sha256sum -c SHA256SUMSBuild
No cross-compilation. Each platform is compiled on a host of its own kind,
all three on LDC 1.42.0 with DUB 1.41.0. Every binary prints the front end
it was actually compiled against, so that claim is checkable:
./fracfixd-cli-linux-x86_64-static --version # Compiler: LDC 2112LCheck that it works
Every binary carries a 300-transcript, 18-library dataset and runs the whole
pipeline over it with no arguments, no input files and no network:
./fracfixd-cli-linux-x86_64-static demo --outdir demo_out
md5sum demo_out/diffprop.tsv # 1a144283ef5196bf9567384e6aa2dc32All four Linux binaries produce that file byte for byte. The macOS build
gives f3c3443a6b7e80a99a8a394cf60a1c0c instead, because the demo writes 6
significant figures and the last moves with the width of the hardware's
floating point registers, 64 mantissa bits on x86 against 53 on ARM. Both
call the same 30 of 300 transcripts at padj below 0.05, which is the
comparison to use across machines.
Windows ships two executables. fracfixd.exe is the GUI subsystem build and
cannot write to a console, so it will not print --version. Use
fracfixd-cli.exe for scripting and for every command line example above.
Full notes: RELEASE_NOTES.md on the Zenodo record. Version history:
CHANGELOG.md.
FracFixD v2.0.6 "Quokka-5"
FracFixD v2.0.6 "Quokka-5" - 2026-05-31
Documentation and in-app help release. No numeric-kernel changes
versus 2.0.5 - analysis output is byte-identical on all valid
inputs, and the FracFixR equivalence goldens carry over unchanged.
Highlights
- New in-app Help tab. The full FracFixD user guide now renders
inside the application: tool introduction and purpose, a GUI tour
with inline screenshots, every CLI subcommand and option, and
worked CLI examples. All content (text and images) is baked into
the binary, so GUI-only users get the complete reference without
opening a terminal or a browser. - About / License credits updated. COMPASS (a division of
Biocodecs) is added to the About credits. The binary licence text
now attributes copyright to Biocodecs and Arnaroo Ribologicals. - No surface changes to CLI subcommands and options, file
formats (FFXD1BIN / FFXD1ICA), or output filenames.
Platform artefacts (all rebuilt for v2.0.6)
Linux x86_64 - fully static
All four binaries are statically linked against OpenBLAS (with
bundled netlib LAPACK); ldd shows only the glibc system trio.
GTK3 is dlopen'd at runtime by the gui subcommand.
| File | Microarch | Size |
|---|---|---|
fracfixd-linux-znver2-x86_64 |
AMD Zen 2 (AVX2 + BMI2 tuned) | 9.1 MB |
fracfixd-linux-broadwell-x86_64 |
Intel Broadwell (AVX2) | 9.2 MB |
fracfixd-linux-generic-x86_64 |
x86-64-v3 (generic AVX2 baseline) | 9.2 MB |
fracfixd-cli-linux-x86_64-static |
CLI-only static | 2.3 MB |
macOS arm64
A relocatable .dmg (FracFixD-2.0.6-macos-arm64.dmg) plus a
CLI/pipeline tarball (fracfixd-2.0.6-macos-arm64.tar.gz). GTK3 /
OpenBLAS / gfortran dylibs are bundled into the .app; the launcher
is a native Mach-O for Tahoe-Gatekeeper compatibility. The .app
is ad-hoc signed (not Developer-ID notarised): on first launch
use right-click then Open, or xattr -dr com.apple.quarantine.
Windows x86_64
A portable ZIP (fracfixd-v2.0.6-windows-x86_64.zip) bundling
fracfixd.exe plus the full GTK3 + OpenBLAS runtime closure.
Verification
SHA256SUMS is attached to this release; verify each download
against it.
Citation
If you use FracFixD in published work please cite:
- the FracFixR method paper (Cleynen, Ravindran & Shirokikh,
Bioinformatics 2026, btaf615), and - this release via its Zenodo concept DOI
10.5281/zenodo.20234583
or the v2.0.6 version DOI (minted automatically with this release).
FracFixD v2.0.3 "Quokka-Static"
FracFixD v2.0.3 "Quokka-Static" — 2026-05-27
Static-linkage fix release for the Linux GUI binaries.
No numeric-kernel changes from v2.0.2. Equivalence-harness
outputs are byte-identical to v2.0.2 on the synthetic and real-data
fixtures; the manuscript figures, the CLI default-flag output bytes
and the FFXD1BIN container layout all carry over unchanged.
Background
v2.0.2 shipped three Linux GUI binaries
(fracfixd-linux-{generic,broadwell,znver2}-x86_64) that were
mis-described in the release notes and the manuscript as
"statically linked". In fact they were dynamically linked against
the host's BLAS / LAPACK / gfortran / gomp stack, and would fail on
any Linux host without those system libraries installed. Affected
users saw, on launch:
./fracfixd-linux-<arch>-x86_64: error while loading shared libraries:
libopenblas.so.0: cannot open shared object file
Only the CLI-static variant (fracfixd-cli-linux-x86_64-static) was
genuinely statically linked.
What v2.0.3 fixes
All three Linux GUI binaries — and the CLI-static binary — are now
fully statically linked against OpenBLAS (with bundled netlib
LAPACK) and the gfortran / gomp / pthread runtimes. ldd on every
Linux release artefact now shows only:
linux-vdso.so.1, libm.so.6, libgcc_s.so.1, libc.so.6,
/lib64/ld-linux-x86-64.so.2
— the standard glibc system trio that cannot realistically be
statically linked on Linux. No libopenblas, liblapack,
libblas, libgfortran, libgomp or libquadmath references
remain in any DT_NEEDED entry.
GTK3 is loaded at runtime by the fracfixd gui subcommand via
dlopen and does not appear as a link-time dependency, matching
the v2.0.0 / v2.0.1 / v2.0.2 behaviour.
Verification
- Static linkage:
lddper-binary confirmation; see "Linux
binary downloads" below forSHA256SUMS. - Numerical regression: the equivalence harness
(tests/equivalence/full/) was run against FracFixR 1.1.0
(CRAN tarball) with both the v2.0.2 dynamic and v2.0.3 static
CLI binaries on the same synthetic 1000-transcript fixture.
Both binaries produced byte-identicald_diffprop_glm.tsv
andd_diffprop_logit.tsvoutputs (matching MD5). Static
linkage is numerically transparent — it changes how OpenBLAS
symbols are resolved (in-archive vs at runtime), not what they
compute. - Per-microarch tuning preserved: each GUI variant compiled
with--mcpu=set toznver2,broadwell, orx86-64-v3
respectively,--flto=full,-O3,-boundscheck=off,
matching the v2.0.2 microarch surface.
Linux binary downloads
| File | Microarch | Size (stripped) |
|---|---|---|
fracfixd-linux-znver2-x86_64 |
AMD Zen 2 (AVX2 + BMI2 tuned) | 7.9 MB |
fracfixd-linux-broadwell-x86_64 |
Intel Broadwell (AVX2) | 8.0 MB |
fracfixd-linux-generic-x86_64 |
x86-64-v3 (generic AVX2 baseline) | 8.0 MB |
fracfixd-cli-linux-x86_64-static |
x86-64-v2 (SSE4.2, CLI-only) | 2.3 MB |
See SHA256SUMS attached to this release.
macOS arm64 and Windows x86_64
The macOS arm64 .dmg / tarball and the Windows x86_64 portable
ZIP from v2.0.2 are not affected by this fix; they are carried
forward unchanged. Verify with otool -L on macOS and the
bundled OpenBLAS.dll on Windows.
Build provenance
- Host: Manjaro Linux, AMD Ryzen 5 4600G, 30 GB RAM
- Toolchain: LDC 1.42.0 (LLVM 21.1.8, DMD frontend 2.112.1)
- OpenBLAS: v0.3.27 built with
NO_SHARED=1 USE_THREAD=0 NUM_THREADS=1 DYNAMIC_ARCH=1 NO_AFFINITY=1 NO_WARMUP=1 NO_LAPACKE=1 BUILD_LAPACK_DEPRECATED=0via
scripts/build_static_openblas.sh - Build types:
release-{znver2,broadwell,generic}-static(GUI)
andrelease-cli-static-flto(CLI-only); seedub.json.
Carry-overs from v2.0.2
Everything from v2.0.2 stays in place:
- Multi-condition diagnostic plot suite (global-test volcano,
p-value histogram, per-contrast volcano grid, top-N heatmap) - FFXD1ICA fast-load cache for the 205k-row reference TSV
- Determinate progress + working Cancel on long-running jobs
- Ctrl-wheel / Ctrl-+/-/0 plot zoom
- 360×240 window minimum + per-tab scrollbars on shrink
- The full v2.0.0 statistical surface: seven differential-proportion
test backends, three dispersion modes, three FDR procedures,
three log₂ fold-change shrinkage estimators, permutation
inference, Bayesian credible intervals, multi-condition global
LRT / Wald.
Citation
If you use FracFixD in published work please cite:
- the FracFixR method paper (Cleynen, Hauling & Shirokikh, 2026 —
see the repositoryCITATION.cff), and - this release via its Zenodo concept DOI
10.5281/zenodo.20234583
or v2.0.3 version DOI (to be minted with this release).
FracFixD v2.0.2 "Quokka-2"
FracFixD v2.0.2 "Quokka-2" — 2026-05-26
GUI usability + multi-condition visualisation release.
No numeric-kernel changes from v2.0.1. Equivalence-harness
numbers, default-flag CLI output bytes, and the manuscript
figures all carry over unchanged.
Highlights
Multi-condition plots
The GUI's [Plots] tab is now a sub-notebook with Pairwise
and Multi-Cond sub-tabs. The new Multi-Cond sub-tab adds
four diagnostic plots driven by the K ≥ 3 global-test result and
its per-pair contrast companions:
- Global-test volcano —
log10(test_statistic)(χ² for LRT,
Wald-multi otherwise) vs−log10(padj)with significance
cutoff line and top-N labels. - p-value histogram — 50-bin distribution with cutoff
reference line. Standard diagnostic for any multi-test
pipeline: uniform = no signal, spike near zero = real effects,
spike near 1 = test misspecification. - Per-contrast volcano grid — one pairwise volcano per
user-requested contrast pair tiled in a grid; drill down from
"globally significant" to "which contrasts drive it". - Top-N condition-means heatmap — top-N most-significant
transcripts × K conditions; row z-score blue/white/red colour
scale (configurable raw or z-scored).
All six plot panes support Ctrl+wheel zoom (per-pane) and
Ctrl++, Ctrl+-, Ctrl+0 (all-panes-at-once). Zoom is
vector-sharp — re-rasterised from source SVG at each step.
GUI load-choke fix
The 11 MB / 205 545-row reference TSV that hung the v2.0.1 GUI
now loads in:
- ~95 ms cold (fresh parse from TSV)
- ~80 ms warm (via the new on-disk parsed-input cache,
<input>.ffxdcachesidecar with XDG fallback)
The cache is automatically invalidated when either source TSV's
mtime or size changes — editing your input data silently drops
the stale cache. A determinate byte-progress bar and a
working Cancel button cover any long-running job.
Window resize + scrollbars
The minimum window size has been dropped from 640×480 to
360×240 (fits split-screen, tablets, VNC). Each tab now
grows horizontal and vertical scrollbars on demand so no
widget becomes unreachable when the window is shrunk past the
tab's natural width.
Volcano legend fix
The literal padj<cut and |log2FC|>cut strings in the volcano
SVG legend were being parsed by librsvg as the start of <cut>
tags, silently blanking the GUI volcano preview. Legend strings
are now XML-entity-escaped (padj<cut, |log2FC|>cut).
Download
Match your platform; all artefacts in this release pass the
SHA256SUMS integrity check.
Linux (x86_64)
fracfixd-linux-znver2-x86_64— AMD Zen 2/3/4 (Ryzen 3000+,
EPYC Rome/Milan/Genoa)fracfixd-linux-broadwell-x86_64— Intel Broadwell or newer
(5th-gen Core+, Xeon E5 v4+)fracfixd-linux-generic-x86_64— x86-64-v3 baseline (most
2013+ CPUs)fracfixd-cli-linux-x86_64-static— static CLI variant, no
GTK / LAPACK runtime dependencies; 1.8 MB; ideal for
containers and HPC node-locals.
macOS arm64
FracFixD-2.0.2-macos-arm64.dmg— drag-to-Applications
installer. Native arm64; GTK 3 / OpenBLAS / gfortran runtimes
bundled into a relocatable.app. Right-click → Open on
first launch to clear Gatekeeper (ad-hoc signed, not
Developer-ID notarised).fracfixd-2.0.2-macos-arm64.tar.gz— relocatable bundle for
CLI / pipeline use.
Windows x86_64
fracfixd-v2.0.2-windows-x86_64.zip— portable bundle
(~37 MB). Containsfracfixd.exeplus the full GTK 3 /
OpenBLAS / gfortran / GdkPixbuf-loader / theme-schema runtime
closure. Drop the unzipped folder anywhere on a Windows 10 /
11 x86_64 host and double-clickfracfixd.exe; no installer
and no admin rights required.
Verifying
# Linux / macOS:
sha256sum -c SHA256SUMS
# Windows PowerShell:
Get-FileHash fracfixd-v2.0.2-windows-x86_64.zip -Algorithm SHA256Citing
This specific release: Zenodo will auto-mint a version DOI under
the existing concept DOI 10.5281/zenodo.20234583; the
CITATION.cff and README.md will be updated with the new DOI
shortly.
The FracFixR method paper:
Cleynen, A., Ravindran, A., & Shirokikh, N. E. (2026).
FracFixR: a compositional statistical framework for absolute
proportion estimation between fractions in RNA sequencing data.
Bioinformatics 42(2), btaf615.
doi:10.1093/bioinformatics/btaf615
Full changelog
See FracFixD/CHANGELOG.md and
fracfixd --changelog.
🤖 Built with the closed-source FracFixD development tree at
the Session 36 (v2.0.2 "Quokka-2") snapshot.
FracFixD v2.0.0 "Quokka"
FracFixD v2.0.0 "Quokka"
First public binary release of FracFixD, the native-D production sibling of the FracFixR R package for compositional analysis of fractionated RNA sequencing (polysome profiling, monosome / disome, subcellular fractionation, nuclear / cytoplasmic, RBP-IP, sucrose-gradient, and any other "split-into-fractions" RNA assay).
This release ships alongside FracFixR 1.1.0 (CRAN-ready R package, CC BY 4.0). FracFixR is the canonical scientific reference; FracFixD is its pipeline-scale binary sibling.
What's in this release
Single-binary executable that runs the GTK3 GUI by default and drops into headless CLI mode when called with --cli (or any subcommand). Built with LDC 1.42 (LLVM 21.1.8) + statically-linked D runtime + -O3 --flto=full -boundscheck=off.
Binary downloads
| File | Platform | Size | Notes |
|---|---|---|---|
fracfixd-linux-znver2-x86_64 |
Linux x86_64 | 8.0 MB | GUI + CLI; AMD Zen 2 / 3 / 4 (Ryzen 3000+, EPYC Rome / Milan / Genoa) |
fracfixd-linux-broadwell-x86_64 |
Linux x86_64 | 8.1 MB | GUI + CLI; Intel Broadwell or newer (i5 / i7 5th-gen+, Xeon E5 v4+) |
fracfixd-linux-generic-x86_64 |
Linux x86_64 | 8.1 MB | GUI + CLI; x86-64-v3 baseline (most 2013+ CPUs) |
fracfixd-cli-linux-x86_64-static |
Linux x86_64 | 1.8 MB | CLI only, no runtime deps beyond libc + libblas; ideal for containers and HPC node-locals |
FracFixD-2.0.0-macos-arm64.dmg |
macOS arm64 | 21 MB | Drag-to-Applications installer; native Mach-O launcher for Tahoe Gatekeeper |
fracfixd-2.0.0-macos-arm64.tar.gz |
macOS arm64 | 19 MB | Relocatable tree for CLI / pipeline use |
fracfixd-v2.0.0-windows-x86_64.zip |
Windows x86_64 | 38 MB | Portable ZIP; fracfixd.exe + GTK 3 + OpenBLAS + gfortran runtime closure (~70 DLLs) |
SHA256SUMS |
— | 1 KB | SHA-256 hashes for the seven artefacts above |
Verify your download:
# Linux / macOS
sha256sum -c SHA256SUMS
# Windows (PowerShell)
Get-FileHash *.zip,*.dmg,*-static,*-x86_64 -Algorithm SHA256Method highlights (carried forward unchanged)
- NNLS compositional fixup (plain / ridge / auto) — handles the "lost fraction" problem standard differential-expression tools (DESeq2, edgeR) can't.
- Seven differential-proportion test backends — GLM-LRT, binomial Wald, beta-binomial Wald, Rao score, HC0 / HC3 sandwich (optional cluster-robust), quasi-binomial.
- Multi-condition global LRT / joint Wald across K ≥ 2 conditions with optional per-pair contrasts.
- Three dispersion modes (global / trend / per-transcript) with optional Bayesian shrinkage prior on log-φ.
- Three FDR procedures (BH, BY, Storey q-values) + optional independent filtering.
- Three posterior log₂FC shrinkage estimators (normal, apeglm, ashr).
- Per-transcript permutation p-values with cluster-friendly deterministic seeding.
- Resumable pipeline via
--cache-fits/--from-cache(~10x faster re-runs). - Native FFXD1BIN proportions format (~30x faster than TSV to parse on 100k-transcript fixtures).
- Native SVG volcano plots with optional EnhancedVolcano-style R reproduction script export.
Equivalence
Default-flag output verified against FracFixR on every release via an in-tree equivalence harness: Spearman ρ(log₂FC) ≥ 0.99 and ρ(−log₁₀ p) ≥ 0.95 on the standard synthetic fixtures.
Documentation
- FracFixD README — install, quick start, full CLI reference
- FracFixD CHANGELOG
- BUILD_LINUX.md, BUILD_MACOS.md, BUILD_WINDOWS.md — per-platform source-build recipes
- BUILD_PROVENANCE.md — toolchain, flags, runtime-dep profile
Source code
The FracFixD D source code is closed and confidential under a separate licence held by Biocodecs / Arnaroo Ribologicals. Pre-compiled binaries are released under CC-BY-NC-ND-4.0. The complementary FracFixR R package (under CRAN/ in this repo) is fully open-source under CC BY 4.0 and is the right entry point for most academic users.
Citing
If you use FracFixR or FracFixD in research, please cite:
Cleynen A, Ravindran A, Shirokikh NE. FracFixR: a compositional statistical framework for absolute proportion estimation between fractions in RNA sequencing data. Bioinformatics 42(2), February 2026, btaf615. https://doi.org/10.1093/bioinformatics/btaf615
Zenodo DOIs (auto-minted on release publication):
- Concept DOI (all versions, resolves to the latest): https://doi.org/10.5281/zenodo.20234583
- This release (v2.0.0 "Quokka"): https://doi.org/10.5281/zenodo.20307512
FracFixR v1.0.0.1 — archival re-publish
Metadata-only archival re-publish to register the public repository with Zenodo for citable DOI assignment. No code or API changes since v1.0.0; documentation updates (README, QUICK_REFERENCE, CONTRIBUTE) committed since v1.0.0 are included in the archived snapshot.
Initial full release
FracFixR initial complete release with examples.