Skip to content

Installation

Yury V. Malovichko edited this page Sep 6, 2025 · 2 revisions

This page describes TOGA2 installation process and potential caveats. Note that from-the-box installation process is subject to changes.

Cloning TOGA2 from GitHub

> Essential third-party software

build directive first checks for availability of the following commands in $PATH:

  • awk
  • cargo
  • gcc

These utilities are necessary for further TOGA2 installation. If any of those are missing, the installation halts, prompting the user to install them manually.

> Parallel job managers

By default, TOGA2 uses Nextflow for parallel process management. During installation, nextflow availability in $PATH will be tested alongside with Nextflow-supported parallel job executors. In the absence of any supported manager, TOGA2 can still be run with local Nextflow executor (default mode), meaning executing parallel jobs on local CPUs.

Alternatively, TOGA2 supports Parasol as a wrapper over LSF/Slurm (Note: Currently installation code does not check for LSF/Slurm availability if para was found in $PATH). If neither Nextflow nor Parasol are available, the installation halts, prompting the user to instal either of the managers and the respective job executors.

> Python packages

The full list of required Python packages is listed in requirements.txt.

Note

TOGA2 was originally tested with Numpy v2, hence restricting the Numpy-reliant packages to newer versions. The listed versions might be further downgraded once the code is tested with Numpy v1 releases.

The required packages are installed globally. If you do not have permissions to modify the public Python environment or updating versions for existing packages is undesirable, consider creating a dedicated virtual environment:

python3 -m venv toga2
source toga2/bin/activate
make

Note, however, that availability of Cargo, gcc, Nextflow/Para, and cluster job managers within the created environment is left to user’s responsibility. If any of these essential programs is installed on your machine but is not available in the created environment, please modify your $PATH accordingly.

> Compiling binaries

C

Cython

Rust

> Model training

The final directive in the Makefile trains the models for TOGA2 projection classifier. The resulting models are dumped in the models/ folder via Python’s joblib package.

Note

Stored models are tied to xgboost and joblib versions they were trained with. If you want to run TOGA2 with environment different from the one TOGA2 was installed with, consider running src/python/train_models.py.
Mind that by default running the train script overrides the models currently stored at models/

Building the official TOGA2 container

Installing TOGA2 via conda

Warning

TOGA2 is currently not available in conda. Please follow the TOGA2 repository for updates.

Clone this wiki locally