levioSAM2 supports a variety of methods for installation:
- Conda
- Docker
- Singularity
- CMake
conda install -c conda-forge -c bioconda leviosam2
You can obtain a Docker image of the latest version from Docker hub:
docker pull naechyun/leviosam2:latest
singularity pull docker://naechyun/leviosam2:latest
Make sure the following prerequisite libraries are installed on your system.
The dependent libraries can be installed through the following package manager options, or built from scratch:
# Conda
conda install -c conda-forge sdsl-lite
conda install -c bioconda htslib
# Debian/Ubuntu
apt-get install libhts-dev libsdsl-dev
# MacOS
brew tap brewsci/bio
brew install htslib sdsl-lite
# RedHat or Fedora
yum install htslib
# sdsl-lite needs to be installed manually
Command:
mkdir build
cd build
cmake ..
make
# make install
# or
# make install DESTDIR=/path/to/install
If you installed the dependencies manually, you might need to provide the path
of the dependent libraries to cmake
by using the following command:
cmake -D CMAKE_LIBRARY_PATH="/path/to/libsdsl/;/path/to/libhts/" \
-D CMAKE_INCLUDE_PATH="/path/to/libsdsl/include/;/path/to/libhts/include/" ..
We provide an end-to-end test and a set of unit tests for levioSAM.
-
The end-to-end test can be run with
python leviosam-test.py
. This test includes running levioSAM on several test files intestdata
. We also usepicard
to validate the lifted results. -
The unit test can be run with the command
cd build; ctest --verbose
.
LevioSAM2 supports the arm64 architecture. Note that the distributed libraries of the dependencies (namely htslib
and sdsl-lite
) on Conda or other package managers might not support arm64. Thus, you might need to build the dependent libraries from source. Both htslib
and sdsl-lite
can be built under the arm64 architecture.
Notes:
-
sdsl-lite==v2.1.1
also installsgtest
and this can result in errors when building levioSAM2 due to duplicated declarations. A work-around is to remove thegtest
headers installed along withsdsl-lite
. -
There can be dynamic library linking errors when executing levioSAM2. This can be solved by
export DYLD_LIBRARY_PATH=/path/to/libsdsl/:/path/to/libhts/:$DYLD_LIBRARY_PATH
.