Installation¶
panmap runs on any modern Linux or macOS machine (x86-64 or Apple Silicon) with about 8 GB of RAM.
Bioconda (recommended)¶
This installs panmap and panmanUtils. Mamba
(mamba install ...) resolves the environment faster.
Docker¶
BioContainers builds a container image for each Bioconda release:
docker pull quay.io/biocontainers/panmap:0.1.3--0
docker run --rm quay.io/biocontainers/panmap:0.1.3--0 panmap -h
Pick a concrete tag from the
tags page; BioContainers
images are not tagged latest. To run on local files, mount the working directory:
docker run --rm -v "$(pwd):/data" -w /data \
quay.io/biocontainers/panmap:0.1.3--0 \
panmap ref.panman reads.fq -o sample
You can also build the image from the repository (~6 min):
Building from source¶
With conda (recommended)¶
The repository ships an environment.yml with every build and runtime
dependency:
conda env create -f environment.yml && conda activate panmap
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
build/bin/panmap -h
With a conda environment active, the build links against the conda-provided
Cap'n Proto, htslib, Protobuf, Abseil, TBB, and zlib, and passes the
environment's include and library paths to the bundled aligners. No extra flags
or environment variables are needed. The binary is at build/bin/panmap.
Faster builds¶
Install ccache and ninja for faster rebuilds:
ccache is picked up automatically; unchanged sources are served from cache.
The bundled presets wire up Ninja plus ccache:
cmake --preset dev && cmake --build --preset dev # Release + tests
cmake --preset debug && cmake --build --preset debug # -O0, fastest compile
Without conda (system packages)¶
Install the dependencies below, then build. Cap'n Proto, htslib, and the other heavier libraries are compiled from the bundled sources, so the system list is short:
| Dependency | Ubuntu / Debian package |
|---|---|
| CMake ≥ 3.14 | cmake |
| C++20 compiler | g++ or clang++ |
| Protobuf | protobuf-compiler, libprotobuf-dev |
| Boost | libboost-program-options-dev, libboost-iostreams-dev, libboost-filesystem-dev, libboost-system-dev, libboost-date-time-dev |
| zlib | zlib1g-dev |
| Eigen3 | libeigen3-dev |
Build options
-DUSE_SYSTEM_LIBS=ONlinks against system or conda copies of Cap'n Proto, htslib, Protobuf, and Abseil instead of building them from source. It is on by default inside a conda environment.-DOPTION_BUILD_TESTS=ONbuilds the unit and end-to-end test suites (run withctest --test-dir build).