Skip to content
Lucas Czech edited this page Aug 5, 2024 · 4 revisions

Pre-compiled binaries

We recommend to first try the pre-compiled binaries of the latest Release, by downloading the binary for your system from the "Assets" list below the release.

Bioconda

We also made grenedalf available on bioconda. At the time of writing, this only works for Linux systems though.

For instance, using micromamba, use:

micromamba env create -c conda-forge -c bioconda -n grenedalf grenedalf

to create an environment from which grenedalf can be run.

Build from source

If the above binaries do not work, or if you want to guarantee maximum performance, grenedalf can be build from source as follows. All of the below is a pretty standard workflow that should hopefully work on Mac or Linux system (including computer clusters).

Requirements

  • Make, autotools (i.e., autoconf and automake), and CMake 3.1 or higher.
  • A fairly up-to-date C++11 compiler, e.g., clang++ 5 or GCC 7, or higher
    (older versions may work as well, but we do not test them any more).
  • There are some further compression library requirements, such as libz, libbz2, liblzma, and libdeflate, needed for compressed file support by htslib, which we internally use for sam/bam/cram and VCF reading. Usually, they should already be available on Unix/Linux/MacOS systems though. We include them below anyway, just in case.

These all are typical build tools which should readily be available for any Unix/Linux/MacOS system.

In case that they are not available on your system yet, to install them, run:

  • On MacOS with homebrew:
    brew install make cmake autoconf automake libdeflate coreutils
  • On Ubuntu and other Debian systems:
    apt-get install build-essential cmake autoconf automake zlib1g-dev libbz2-dev liblzma-dev libtinfo5
  • On computer clusters, where you usually do not have the rights to install these tools directly, try the module load system (or equivalent for your cluster) to load sufficiently recent versions of the build tools. Usually, those are all packaged into a module that contains all the above mentioned typical build tools.

This works in our CI tests; if it does not work for you, please open an issue.

Compile

Then, to build grenedalf on your machine, run:

git clone --recursive https://github.com/lczech/grenedalf.git
cd grenedalf
make -j 4

You can also use the green "Code" button on the main page of the repository or click here to download the source as a zip. Unpack, and call make in the main directory to build everything.

The above will give you the latest main branch of grenedalf. If you instead prefer a release version, so that you have a more stable point of reference, please download the "Source code" of the Release you want, unpack, and call make in that directory.

After building, the executable is stored in the bin directory, and can be used as documented in the Wiki.