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+
- zlib development files (headers, libraries)
Integration tests require:
- Python
- Valgrind (optional, but recommended)
To install these on Ubuntu, try:
sudo apt-get install cmake build-essential zlib1g-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 deps
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>