Skip to main content

Non-containerized Installation

Use the non-containerized path only when you need direct control over host Python, Perl, Java, MongoDB, and bioinformatics dependencies.

Higher maintenance path

This install mode is the most flexible, but it is also the easiest to break through dependency drift. Prefer Docker or Apptainer for first-time use when possible.

Non-containerized Installation

Use this path if you want to run beacon2-cbi-tools directly on the host without Docker or Apptainer.

1. Prepare external data

Work in a directory with at least 150 GB of free space:

wget https://raw.githubusercontent.com/CNAG-Biomedical-Informatics/beacon2-cbi-tools/main/deploy/01_download_external_data.py
python3 01_download_external_data.py
md5sum -c data.tar.gz.md5
cat data.tar.gz.part-?? > data.tar.gz
tar -xzvf data.tar.gz
mkdir tmp

If Google Drive blocks the download, use the URL printed by the script and fetch the file manually.

Then edit:

/path/to/downloaded/data/soft/NGSutils/snpEff_v5.0/snpEff.config

Set:

data.dir = /path/to/downloaded/data/soft/NGSutils/snpEff_v5.0/data

2. Install system packages

sudo apt install git wget gcc make libperl-dev libbz2-dev zlib1g-dev libncurses5-dev libncursesw5-dev liblzma-dev libcurl4-openssl-dev libssl-dev cpanminus perl python3 python3-pip default-jre

If you plan to use MongoDB loading, install mongosh as well.

3. Clone the repository

git clone https://github.com/CNAG-Biomedical-Informatics/beacon2-cbi-tools.git
cd beacon2-cbi-tools

To update an existing checkout later:

git pull

4. Install Python and Perl dependencies

Core Python dependencies:

pip install -r requirements.txt

Core Perl dependencies:

cpanm --notest --installdeps .

Optional utility dependencies:

pip install -r utils/bff_browser/requirements.txt
cpanm --notest Mojolicious MongoDB Minion Minion::Backend::SQLite

Documentation site dependencies are managed separately under docs-site/ with Node.js and npm.

5. Configure the toolkit

Update bin/config.yaml so that:

  • base points to the directory where you unpacked the external data
  • mongosh points to the correct executable on your system

6. Test the deployment

cd deploy
bash 02_test_deployment.sh

Installing jq may help when running the test scripts.

System requirements

  • linux/amd64 or linux/arm64
  • Python 3.8+
  • Perl 5
  • at least 4 GB RAM, ideally more
  • at least 200 GB of disk space for the full data setup

Troubleshooting

If Python modules are missing, rerun:

pip install -r requirements.txt

If Perl modules are missing, rerun:

cpanm --notest --installdeps .