Skip to content


Docker setup

If you prefer working with Docker or you don’t want to install G4X-helpers locally, you can run its CLI tools from the Docker image that is published along with the repository.

If you have Docker already installed (or Apptainer, Podman ... ) and are familiar with using it, you can continue to the G4X-helpers Docker usage section.

Otherwise, please read on to get started.

Why use Docker?

  • no local installs: skip creating a Python environment.
  • reproducibility: everyone uses the same environment.
  • isolated: nothing leaks into (or depends on) your system Python.
  • great for HPC/servers: just bind your data directories.


1. install Docker


Docker is available for most platforms. Please refer to the Docker installation guide for Docker Engine (Linux), or Docker Desktop (MacOS/Windows). If you are not sure if Docker is already installed, you can simply call docker --version in your terminal.


2. pull the G4X-helpers image


The docker pull command downloads the G4X-helpers container image (and all of its layers) from GitHub’s Container Registry ( ghcr.io ) to your local Docker cache.

$ docker pull ghcr.io/singular-genomics/g4x-helpers:latest

Once the image is pulled, you can start new containers from it instantly — even when you’re offline — without re-fetching data from the registry.

Tip

latest will always retrieve the most recently published build.
You can replace it with an explicit tag, which locks you to a reproducible version.
e.g. ghcr.io/singular-genomics/g4x-helpers:v0.4.11

if the pull was successful, you can confirm that the image is available by calling

$ docker image ls ghcr.io/singular-genomics/g4x-helpers

You are now ready to use the G4X-helpers Docker image.
Please refer to the Docker usage section to learn how to run the tools.


3. updating & cleanup


You can update your image by running docker pull again

$ docker pull ghcr.io/singular-genomics/g4x-helpers:latest
It will only download the layers that have changed since your last pull, giving you the newest build.

Over time, old images, stopped containers and dangling volumes can consume disk space.
A useful one-shot cleanup command is:

$ docker system prune -a