gcatlib reference

Gene and Chromosome Analysis Toolkit (gcat) is a C++ library for most common tasks associated with genomic data files such as for parsing FASTX, SAM/BAM, and GTF files. gcat is conceptually identical to pysam and HTseq, and borrows ideas from them.

The documentation for gcatlib will be made available soon.

Installation

Preparation

gcat is dependent on HTSlib. HTSlib can be downloaded from here and can be installed by following the procedure under ‘Basic Installation’ described here

gcatlib can be downloaded here

Untar the source files using:

tar -xf gcatlib-x.y.z.tar.gz

Create a build directory with:

cd gcatlib-x.y.z
mkdir build 
cd build

Configure

gcatlib is installed using the autotools build system. The first step is to run a configuration script to generate the required Makefiles. The parameters to configure will vary based on where the dependent libraries are installed, and where we would like gcatlib to be installed.

  1. The most likely scenario, where HTSlib is not in the the standard system path (typically /usr/bin and /usr/lib), and to install gcatlib in a non-standard path:

../configure --prefix=path_to_install_gcatlib \ 
  CPPFLAGS='-I/path_to_htslib/include' \
  LDFLAGS='-L/path_to_htslib/lib'
  1. If HTSlib is installed in the standard system path (typically /usr/bin and /usr/lib), and if we would like gcatlib to be installed in the standard system path, use the following:

../configure
  1. To install gcatlib in a non-standard directory, and if HTSlib is in the standard system path use:

../configure --prefix=path_to_install_gcatlib
  1. If HTSlib is installed in a non-standard path and to install gcatlib in the standard system path, the configure script should be executed with:

../configure CPPFLAGS='-I/path_to_htslib/include' \ 
  LDFLAGS='-L/path_to_htslib/lib'

Of note, if you have cloned the Git repo, it does not include the configure script. This can be generated by executing:

autoreconf -i

After which the configuration can proceed as usual.

Build

The configuration is now complete and the build system is ready to compile all the programs with:

make [-j threads]

This will generate the libraries into the build directory.

Install

Finally, install gcatlib with:

make install

This will copy all the header files into installation_path/include and the library files into installation_path/lib.

API documentation

Performance