Joinx is a lightweight tool for performing operations (e.g., intersection, difference, …) on genomic data contained in vcf and .bed files. It also provides some limited analysis functions (concordance reports). An important assumption that joinx makes is that the input data is always sorted. This allows it to compute its results in an efficient manner.
- Clone the git repository
- Initialize submodules:
git submodule update --init
Building requires:
- gcc 4.4+ or clang 3.2+
- cmake 2.8+
- boost 1.48+
- gtest (google unit testing framework, optional for unit tests)
- zlib/bzip2 development files (headers, libraries)
Integration tests require:
- Python
- Valgrind (optional, but recommended)
To install these on Ubuntu, try:
sudo apt-get install cmake libboost-all-dev libgtest-dev
Note: if using clang, export the environment variables CC=clang, CXX=clang++.
Joinx does not support in source builds. Create a new build directory, enter it, and run:
cmake /path/to/joinx/repo [opts]
- Some useful options to cmake are:
- -DBOOST_ROOT=/path/to/boost if boost is installed somewhere other than the default location
- -DBoost_NO_SYSTEM_PATHS=on to skip checking system default locations for boost headers and libs
- -DBoost_USE_STATIC_LIBS=on to link boost statically
- -DCMAKE_INSTALL_PREFIX=/path change the installation location (default: /usr)
- Some useful options to cmake are:
make
ctest
(to run unit tests)make install
Running ctest with run both unit and integration tests. you can run one or the other with
ctest -L <unit|integration>