There are several ways to install Galah
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 latest release via conda (or mamba).
conda create -n galah -c bioconda -c conda-forge galah
# Activate the environment
conda activate galah
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:
The only setup required is downloading the reference databases used by CheckM2, isiteuk and EukCC (see Databases).
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.
Galah can be installed by downloading statically compiled binaries, available on the releases page.
Third party dependencies listed below are required for this method.
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.
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...
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:
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:
GALAH_CHECKM2_CMD / GALAH_ISITEUK_CMD / GALAH_EUKCC_CMD environment variable (if set)PATHpixi 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"
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 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 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 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