Installation

Required dependencies

  • Python (3.10 or later)

  • setuptools (45 or later)

  • HTSLib (1.10 or later)

  • C++ compiler with C++17 support (e.g. gcc >= 7)

  • Zstd library

HTSLib installation

MAJIQ requires HTSLib (>= 1.10) to be installed. This may already available in a shared directory of your environment, otherwise, you can install HTSLib from source. For example, to install htslib-1.13 to ~/install/htslib-1.13, you could run:

# download htslib 1.13 archive to current directory
curl -OL https://github.com/samtools/htslib/releases/download/1.13/htslib-1.13.tar.bz2
tar -xf htslib-1.13.tar.bz2  # extract archive
cd htslib-1.13  # change into htslib source directory
# configure, make, and install htslib to ~/install/htslib-1.13
./configure --prefix=$HOME/install/htslib-1.13
make
make install

See INSTALL from the HTSLib sources for detailed instructions.

Pip installation

Install MAJIQ using pip. MAJIQ setup needs to know where HTSLib is installed. By default, it assumes that the library and include directories are in the Unix default locations: /usr/local/lib, /usr/local/include. If this is not the case, please set the environment variables HTSLIB_LIBRARY_DIR and HTSLIB_INCLUDE_DIR to the actual locations.

For example, with previous instructions, from same directory as README:

# change to where library/include directories are installed
export HTSLIB_LIBRARY_DIR=$HOME/install/htslib-1.13/lib
export HTSLIB_INCLUDE_DIR=$HOME/install/htslib-1.13/include
# install moccasin
pip install git+https://bitbucket.org/biociphers/moccasin@new_moccasin
# NOTE: from same directory as this README
pip install .  # install both majiq and voila