/joinx

a tool for processing .bed and .vcf files

Primary LanguageC++

joinx

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.

Build instructions

Setup repository

  • Clone the git repository
  • Initialize submodules:
    git submodule update --init

Install build dependencies

Building requires:

  • gcc 4.4+ or clang 3.2+
  • cmake 2.8+

Integration tests require:

  • Python
  • Valgrind (optional, but recommended)

To install the packages required to build on Ubuntu, try:

sudo apt-get install cmake build-essential

Build, test, and install

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_BUILD_OPTS=“-j 8” to build boost with 8 threads (or to pass other options to b2)
      • -DCMAKE_INSTALL_PREFIX=/path change the installation location (default: /usr)
  • 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>

LICENSE

GPL v3.0