Managing Environments
BioNodulo nodes declare the tools they need — executables, Conda packages, R packages, container images — and the desktop app provisions those dependencies for you. Instead of one shared environment, each workflow gets its own isolated environment containing exactly the packages it uses.
How it works
When you open or load a workflow, BioNodulo scans its nodes and builds a dependency report: which node types, executables, Python packages, and R packages are required, and whether the environment that provides them is already installed.
Environments are content-addressed: the package set is hashed into an
environment ID, so two workflows with identical tool requirements share one
environment, and any change to the package set produces a new, separate one.
Under the hood, environments are built with Pixi using the
bioconda/conda-forge channels — package versions are pinned for
reproducibility, and installation runs as a background job (pixi lock +
pixi install) with live progress in the console.
Conda-based environments target linux-64 always, plus osx-64 and
osx-arm64 for environments that have been solved for macOS. Windows is
not supported for Conda environments because bioconda publishes no win-64
packages — on Windows, use containerized nodes or natively installed tools
on your PATH.
Missing dependencies
When a workflow references tools that aren’t available, BioNodulo tells you before you run:
- Auto-detect banner — a “Workflow has unresolved dependencies” banner appears over the canvas with an Open report button.
- Dependency report — lists missing nodes (with their recorded source repository, if any), missing executables, missing Python packages, and missing R packages, plus the workflow’s required package set and whether its environment is ready.
- Install Env — one click per environment starts the background install; progress (resolving packages, generating the manifest, locking, installing) streams into the console.
By default, BioNodulo installs missing environments automatically when you press Run. If you prefer to review first, enable Prompt before installing dependencies in Settings to get the banner and install manually instead.
Executables are mapped to their Conda packages automatically (for example,
gatk resolves to the gatk4 package, and R packages like DESeq2 resolve to
bioconductor-deseq2). Tools that aren’t distributed through Conda — licensed
binaries such as Cell Ranger or ANNOVAR — can’t be auto-installed and are
reported for manual installation.
The Workflow Doctor (available from the run menu) runs the same scan on demand and also flags missing inputs, unused outputs, and dependency hints.
Environment panel
Press Ctrl+4 (or click the environment icon in the left rail) to open the
Environment panel. It lists every installed environment with its name,
short content-hash ID, and ready status. For each environment you can:
- Expand it to view installed packages and versions, and remove individual packages.
- Rename it to something memorable.
- Duplicate it as a starting point for a variant.
- Delete it to reclaim disk space (workflows that need it will offer to reinstall on the next run).
Host prerequisites
If the app itself is missing a host-level prerequisite (for example Pixi), a separate banner appears with re-check, dismiss, and — where possible — an Auto Install button.
Containers
Nodes can also declare a container image instead of a Conda environment.
Docker and Apptainer/Singularity images are supported (including
pre-built .sif files, custom Dockerfiles, and volume mounts). If you have
Docker or a compatible runtime installed, BioNodulo detects it and runs
containerized nodes automatically — see
First-Run Setup → Container runtime.