Installation

There are several ways to install Galah

Install from Bioconda via Pixi

Create pixi.toml file:

[workspace]
channels = ["conda-forge", "bioconda"]
name = "galah"
platforms = ["linux-64"]

[dependencies]
galah = "*"

Create pixi environment.

pixi install

# Either run within your current environment
pixi run galah -h
# Or enter the environment
pixi shell

This installs Galah along with the third party tools it needs (see What the Bioconda package includes). One can see details of the galah recipe.

Galah cluster can also be used indirectly through CoverM via its cluster subcommand, which is also available on bioconda.

Install from Bioconda via Conda

Install latest release via conda (or mamba).

conda create -n galah -c bioconda -c conda-forge galah

# Activate the environment
conda activate galah

What the Bioconda package includes

Whether installed via pixi or conda, the Bioconda package on Linux brings with it all the third party tools Galah needs, so no other tools need to be installed separately:

  • skani, FastANI, Barrnap, tRNAscan-SE and isiteuk are installed into the same environment as Galah.
  • CheckM2 and EukCC cannot be installed in the same environment as isiteuk (see Dependencies), so Galah installs each of them automatically into its own isolated environment, via pixi (also included), the first time it is needed.

The only setup required is downloading the reference databases used by CheckM2, isiteuk and EukCC (see Databases).

macOS (Apple Silicon)

isiteuk and EukCC are not available for macOS (osx-arm64), so on this platform only prokaryotic genome quality assessment is supported. The bioconda package instead includes CheckM2, along with Barrnap and tRNAscan-SE, so galah cluster works as normal, and galah analyse / galah process work when the domain is fixed to Bacteria or Archaea:

galah process --domain-choice bac ...

The default --domain-choice isiteuk and the eukaryote-dependent choices (euk, completeness and all) are not supported on macOS. Alternatively, isiteuk can be run separately on a Linux machine and its output supplied with --isiteuk-output, although genomes classified as Eukaryota still cannot be assessed on macOS.

Pre-compiled binary

Galah can be installed by downloading statically compiled binaries, available on the releases page.

Third party dependencies listed below are required for this method.

Compiling from source

Galah can also be installed from source, using the cargo build system after installing Rust.

cargo install galah

Third party dependencies listed below are required for this method.

Development

To run an unreleased version of Galah, after installing Rust:

git clone https://github.com/wwood/galah
cd galah
pixi run cargo run -- cluster ...etc...

Dependencies

If you installed Galah from Bioconda on Linux, these tools are already taken care of (see What the Bioconda package includes), so you can skip straight to Databases.

When installing Galah from a pre-compiled binary or from source, some usages of Galah require third party tools, which must be installed separately:

  • skani v0.4.0 https://github.com/bluenote-1577/skani
  • FastANI v1.34 https://github.com/ParBLiSS/FastANI
  • Barrnap v0.9 https://github.com/tseemann/barrnap
  • tRNAscan-SE v2.0.12 https://github.com/UCSC-LoweLab/tRNAscan-SE
  • CheckM2 v1.1.0 https://github.com/chklovski/CheckM2
  • isiteuk (for automatic domain classification) https://github.com/wwood/isiteuk
  • EukCC v2 (for eukaryotic genome quality assessment) https://github.com/EBI-Metagenomics/EukCC

Most of these tools can be installed via pixi, using the pixi.toml file within the github repository.

pixi install

Note: isiteuk cannot be installed in the same conda environment as either checkm2 or eukcc. CheckM2 requires Python 3.12 or later, which isiteuk does not support, and EukCC pins a version of MetaEuk requiring zlib older than 1.3, whereas isiteuk's diamond requires zlib 1.3.1 or later.

Galah locates each tool using the following priority order:

  1. GALAH_CHECKM2_CMD / GALAH_ISITEUK_CMD / GALAH_EUKCC_CMD environment variable (if set)
  2. Tool found on PATH
  3. Automatic installation via pixi run, using a pixi manifest bundled with galah (requires pixi to be installed, and is only supported on Linux)

With pixi installed, no manual setup is needed — galah will download and cache each tool in an isolated environment the first time it is needed.

To pin a specific version or override the command explicitly:

# Development (pixi workspace)
export GALAH_CHECKM2_CMD="pixi run -e checkm2 checkm2"
export GALAH_ISITEUK_CMD="pixi run -e isiteuk isiteuk"
export GALAH_EUKCC_CMD="pixi run -e eukcc eukcc"

# Production (separate conda envs)
conda create -n galah_checkm2 -c bioconda -c conda-forge checkm2
conda create -n galah_isiteuk -c bioconda -c conda-forge isiteuk
conda create -n galah_eukcc -c bioconda -c conda-forge eukcc
export GALAH_CHECKM2_CMD="conda run -n galah_checkm2 checkm2"
export GALAH_ISITEUK_CMD="conda run -n galah_isiteuk isiteuk"
export GALAH_EUKCC_CMD="conda run -n galah_eukcc eukcc"

Databases

However Galah is installed, quality assessment with galah analyse / galah process requires reference databases for CheckM2, isiteuk and EukCC to be downloaded. These are not needed for galah cluster.

CheckM2 database

CheckM2 requires a database to be set using the environment variable CHECKM2DB or the argument --checkm2-db-path. See https://github.com/chklovski/CheckM2 for details.

export CHECKM2DB=/path/to/CheckM2_database/uniref100.KO.1.dmnd

isiteuk metapackage

isiteuk uses a SingleM metapackage to classify genomes into biological domains. Set the path using the environment variable ISITEUK_METAPACKAGE_PATH or the argument --isiteuk-metapackage.

The metapackage can be downloaded with isiteuk itself, which is included in the Bioconda package:

isiteuk data --output-directory /path/to/isiteuk_data
# isiteuk prints the path to export once the download finishes, e.g.
export ISITEUK_METAPACKAGE_PATH=/path/to/isiteuk_data/isiteuk-backpack-0.0.1

ISITEUK_METAPACKAGE_PATH can also point directly to an extracted .smpkg metapackage directory (e.g. isiteuk-0.0.1.smpkg).

EukCC database

EukCC requires a database for eukaryotic quality assessment. Set the path using the environment variable EUKCC2_DB or the argument --eukcc-db-path. The database can be downloaded from https://github.com/EBI-Metagenomics/EukCC.

export EUKCC2_DB=/path/to/eukcc2_db_ver_1.1

Powered by Doctave