Skip to content
This repository has been archived by the owner on Jan 31, 2020. It is now read-only.

genome/joinx

Repository files navigation

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+
  • 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

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_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)
  • 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