Skip to content

Non-containerized installation

Feel free to work with your preferred virtual environment. For this document, we'll move directly to the setup steps.

Method 1: Download from GitHub

Use git clone to get the latest (stable) version:

git clone https://github.com/CNAG-Biomedical-Informatics/cbicall.git
cd cbicall

If you only new to update to the lastest version do:

git pull

Install dependencies for Python 3:

pip3 install -r requirements.txt

Note: If you are installing cbicall in an HPC environment for shared use, we recommend installing the required Python 3 modules in a central location. This allows users to simply do:

# Load Python + modules
module load Python/3.10.8-GCCcore-12.2.0
export PYTHONPATH="/software/biomed/cbi_py3/lib/python3.10/site-packages:${PYTHONPATH}"

Testing the deployment:

pytest

Downloading Required Databases and Software

Note: this process can be lenghty.

Navigate to a directory where you want the databases stored and execute:

python3 $path_to_cbicall/scripts/01_download_external_data.py  # Replace $path_to_cbicall with your CBICall installation path.

Note: Google Drive can be a tad restrictive with the download. If you get an error, please use the error URL link in a browser and you should be able to retrieve it there.

The files are located at: GDrive Link

Once downloaded, perform a checksum to make sure the files were not corrupted:

md5sum -c data.tar.gz.md5

Now let's reassemble the split files into the original tar archive:

cat data.tar.gz.part-?? > data.tar.gz

Clean up split files to save space (when you think you are ready!):

rm data.tar.gz.part-??

Extract the tar archive:

tar -xzvf data.tar.gz

Finally, in the cbicall repo:

Change DATADIR variable in workflows/bash/*/parameters.sh and workflows/snakemake/*/config.yaml so that it matches the location of your downloaded data.

Ok, finally we are going to install Java 8 in case you don't have it already:

sudo apt install openjdk-8-jdk # In some systems you might need Java 17 -> openjdk-17-jre

Performing integration tests

Once you are in the root directory of the repo:

WES:

cd examples/input
./run_tests.sh --wes

mtDNA:

cd examples/input
./run_tests.sh --mit

System requirements

  • OS/ARCH supported: linux/amd64 and linux/arm64.
  • Ideally a Debian-based distribution (Ubuntu or Mint), but any other (e.g., CentOS, OpenSUSE) should do as well (untested).
  • Python >= 3.8
  • Java 8
  • 16GB of RAM
  • >= 1 core (ideally i7 or Xeon).
  • At least 100GB HDD.

Platform Compatibility

This distribution is written in Python 3 and is intended to run on any platform supported by Python 3. It has been tested on Debian Linux and macOS. Please report any issues.