-
-
Notifications
You must be signed in to change notification settings - Fork 0
Users Install and First Run
Status: IN PLACE (the install path; standalone offline installers are
COMING — docs/migration/STATUS.md — until then this source-install path
is the supported one).
MetaManifold runs locally on one machine, single-user, and serves its
workbench to your browser at http://localhost:8080.
| Requirement | Pin | Why |
|---|---|---|
| Linux or macOS (WSL2 works PARTIALly, unvalidated) | — | the orchestrator shells out to native tools |
| Julia | 1.12.5 (pinned; auto-installed) | the pipeline engine and API server |
| R ≥ 4.0 | system install (documented exception) | DADA2, vegan — the science lane |
| Bun | 1.3.10 (pinned) | builds the browser UI |
| Node | 20.20.2 (pinned) | toolchain peer |
| just | 1.43.1 (pinned) | task runner for the dev lanes (not needed to use the app) |
| Internet (first run only) | — | downloads sha256-pinned pipeline tools and reference databases |
The exact pins live in mise.toml (the toolchain source of truth is
docs/reproducibility.md). Pipeline tools — cutadapt, FastQC, MultiQC,
vsearch, cd-hit-est, swarm — are fetched byte-exact (sha256-verified) by
install.sh; no third-party binary is vendored in the repository.
git clone https://github.com/hyperpolymath/MetaManifold-WebUI.git
cd MetaManifold-WebUI
bash install.shinstall.sh checks for Julia and R, installs the Julia and R dependencies
(the R side through renv.lock — exact package versions), and locates or
downloads each pipeline tool. It writes config/tools.yml with resolved
paths.
Alternative (reproducible shell): with mise installed,
just bootstrap && just setup-full gives the CI-pinned toolchain plus
tools; with GNU Guix, guix time-machine -C channels.scm -- shell -D -f guix.scm opens the peer-lane environment.
bash start.sh # builds the frontend on first run
# → open http://localhost:8080Environment knobs (all optional):
| Variable | Default | Meaning |
|---|---|---|
JULIA_METAMANIFOLD_PORT |
8080 |
server port |
JULIA_METAMANIFOLD_ROOT |
working directory | where data/ and projects/ live |
JULIA_THREADS |
8 |
Julia threads |
Academics: pin the toolchain exactly as above and your methods section
can honestly say "versions pinned in mise.toml and renv.lock". The
reproducibility statement for a paper is mostly written for you — see
For Academics.
Lab professionals: install.sh --update re-resolves tools when you
refresh the install. For lab servers, read the operator track —
Operator Track — before running this on a
shared machine.
The workbench's SYSTEM sidebar (Databases, Primers, Compositions pages) is
populated, and GET /api/v1/capabilities reports what the server can see
(e.g. whether R answered). From a checkout with the dev toolchain,
just ci runs every gate CI runs — useful after a move to new hardware.
-
R not found. R is the one documented system install (it is absent from
the
miseregistry). Install R, re-runinstall.sh;renvrestores the pinned packages into a project-local library via the committed.Rprofile. - Tool download failures (firewalled hosts): re-run — the fetcher retries and names TLS failures explicitly (#51's behaviour). For air-gapped hosts see the operator track.
-
Port 8080 busy: set
JULIA_METAMANIFOLD_PORT. - Everything else: Troubleshooting.
-
COMING: standalone offline release archives (Linux x86-64 and ARM64)
with everything bundled — users then provide only sequencing data and
reference databases; and the coordinated signed updater. Not built yet;
tracked in
docs/migration/STATUS.md. When they land, this page gets a second, shorter install path above the source one.