Non-containerized Installation
Use the non-containerized path only when you need direct control over host Python, Perl, Java, MongoDB, and bioinformatics dependencies.
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:
basepoints to the directory where you unpacked the external datamongoshpoints 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/amd64orlinux/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 .