Installation
System Requirements
- Linux OS (e.g., CentOS, Ubuntu, Debian, etc.)
- ~590 GB disk space for software and reference databases
- For optimal performance: 32 CPU cores with 3 GB RAM per core (96 GB total). SC16 (de novo tree generation) may require >100 GB RAM.
Dependencies
- Git
- Apptainer
- Bash as command-line shell
- Optional: Conda/Miniconda
- All further software dependencies are bundled in Apptainer images, automatically downloaded during installation. This ensures:
- Ease of use — simplified installation and execution
- Portability — consistent performance across computing environments
- Reproducibility — identical software environments for all users
- Version control — precise management of software versions
- Isolation — minimal conflicts with existing system libraries
Default Installation (Interactive)
Optional — create and activate a conda environment:
conda create -n StrainCascade_env
conda activate StrainCascade_envOptional — navigate to the conda environment directory:
cd $CONDA_PREFIXClone the repository:
git clone https://github.com/SBUJordi/StrainCascade.gitNavigate to the StrainCascade directory:
cd StrainCascadeMake all scripts executable:
find scripts/ -type f -exec chmod +x {} \;Run the installation script:
# Interactive installation with normal verbosity (recommended)
./scripts/StrainCascade_installation.sh
# Quiet full installation
STRAINCASCADE_VERBOSITY=0 ./scripts/StrainCascade_installation.sh --full
# Verbose interactive installation
STRAINCASCADE_VERBOSITY=2 ./scripts/StrainCascade_installation.shThe installation may take between 12 hours to over a day, depending on your system and network speed.
If you choose the default interactive installation, you will be prompted:
Running StrainCascade installation...
Sufficient disk space available: XXXGB
Apptainer is installed.
Do you want to do a full installation of StrainCascade? (y/n)
Custom Installation
If you choose n when prompted for a full installation, you can selectively install individual Apptainer images and databases. This is useful when:
- You have limited disk space or bandwidth
- A previous installation was interrupted
- You want to isolate specific components for testing
Each component will be offered individually:
Do you want to install checkm2_db? (y/n)
Updating StrainCascade
StrainCascade provides separate update mechanisms for its three main components:
# Update software scripts
straincascade -us
# Update Apptainer images
straincascade -uai
# Update databases
straincascade -udbThese individual update mechanisms are designed for minor version updates and patches. Major version releases with significant new features may require a complete reinstallation.
Caveats
PATH configuration for multiple installations: The installation process updates your
PATHvariable. If you experience issues with multiple installations, verify that$PATHpoints to the correct one.Third-party database installation: Larger databases (e.g., GTDB-Tk, AMRFinderPlus for Bakta) may occasionally fail due to network or server issues. Retry after a few hours if problems occur.
Managing Apptainer images after updates: Newer image versions may be downloaded during updates. StrainCascade prioritises the first matching image. Check and clean the
apptainer_imagesdirectory after re-installations:cd $(dirname $(which straincascade))/../apptainer_images