DesktopManaging Environments

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:

  1. Auto-detect banner — a “Workflow has unresolved dependencies” banner appears over the canvas with an Open report button.
  2. 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.
  3. 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.

Next