Installation

ggCaller is available on Linux. If you are running Windows 10/11, Linux can be installed via the Windows Subsystem for Linux (WSL). If running via Docker, ensure you install WSL2.

We plan to get a MacOS version up and running in the future.

Important

ggCaller requires python3.9 to run (which on many default Linux installations is run using python3 rather than python).

Installing with Docker

First, install Docker for your OS. If running with WSL2, you should still download Docker Desktop for Windows.

To use the latest image, run:

docker pull samhorsfield96/ggcaller:latest

To run ggCaller from the Docker Hub image, run:

cd test && docker run --rm -it -v $(pwd):/workdir -v $(pwd):/data samhorsfield96/ggcaller:latest ggcaller --balrog-db /app/ggc_db --refs /workdir/pneumo_CL_group2_docker.txt --out /workdir/ggc_out

You can also build the image yourself. First download and switch to the ggCaller repository:

git clone --recursive https://github.com/samhorsfield96/ggCaller && cd ggCaller

Finally, build with Docker. This should take between 5-10 minutes to fully install.:

docker build -t ggc_env:latest -f docker/Dockerfile .

To run ggCaller from a local Docker build, run:

cd test && docker run --rm -it -v $(pwd):/workdir -v $(pwd):/data ggc_env:latest ggcaller --balrog-db /app/ggc_db --refs /workdir/pneumo_CL_group2_docker.txt --out /workdir/ggc_out

Please ensure you keep --balrog-db /app/ggc_db and /workdir paths as specified above.

Installing with apptainer (singularity)

If you encounter permissions issues using Docker, you can download the apptainer image from Zenodo

Once downloaded, set up the apptainer container using:

apptainer shell ggcaller.sif

Once loaded, add the conda bin directory to your path variable and run ggCaller as normal, ensuring to copy the database directory to an appropriate path designated by <path/to/ggc_db>:

PATH=$PATH:/opt/conda/bin
cp -r /app/ggc_db <path/to/ggc_db>
ggcaller --refs input.txt --out output_path --balrog-db <path/to/ggc_db>

Installing with conda

Installing with conda is the easiest way to get ggCaller up and running, and will install all dependencies.

If you do not have conda you can install it through miniconda and then add the necessary channels:

conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge

Then run:

conda install ggcaller

Installing from source

You can also clone the github code to run the latest version.

You will need to install the dependencies yourself (you can still use conda or pip for this purpose). See environment_linux.yml or environment_macOS.yml. In addition, a C++17 compiler (e.g. gcc >=7.3) is required.

We highly recommend using mamba over conda due to the large number of dependencies, making mamba significantly faster.

To install dependencies (creates `ggc_env` environment):

mamba env create -f environment_linux.yml
mamba activate ggc_env

Then clone the code and install:

git clone --recursive https://github.com/samhorsfield96/ggCaller && cd ggCaller
python setup.py install

Test installation

After any of the above steps, check correct setup by running ggcaller --help.