ngsaipp is the NGS-AI C++ library.
- Content
- Dependencies
- Compilation
- Running unittests
- PacBio kinetics and epigenetics
- Developping with ngsaipp
- Authors
The library contains the following directories:
- src/ contains the C++ source code.
- include/ contains the library header files.
- data/ contains unittests data.
- images/ contains doc figures.
ngsaipp relies on the following third party libraries:
- pthread, normally a system library on linux system.
- boost v1.78 or higher
- pbcopper v2.1.0 or higher
- pbbam v2.0.0 (pbbam relies on pbcopper)
- gtest v1.11.0 or higher
We strongly recommend to install these libraries in /usr/local/lib
and their corresponding header files in /usr/local/include
. If done this way, cmake compilation configuration should work out of the box.
The building process uses cmake. It will compile a static and a shared ngsaipp library. To compile and install them, simply type:
./build.sh
The CMakeLists.txt
file contains 4 variable defined at its top:
# user defined paths
## list of directories containing libraries headers
set(INCLUDE_DIRECTORIES "/usr/local/include/")
## list of directories in which the required libraries are installed
set(LINK_DIRECTORY "/usr/local/lib")
## path in which the libraries will be installed
set(INSTALL_LIB_DIRECTORY "/usr/local/lib")
## path in which the library header will be installed
set(INSTALL_HEADER_DIRECTORY "/usr/local/include")
-
INCLUDE_DIRECTORIES
a space separated list of directories in which the required third party library header files are located. -
LINK_DIRECTORY
a space separated list of directories in which all the required libraries are installed. -
INSTALL_LIB_DIRECTORY
the directory in which ngsaipp static and shared libraries will be installed. -
INSTALL_HEADER_DIRECTORY
the directory in which ngsaipp header files will be installed.
A set of unit tests will be compiled together with the libraries. It will be located in <ngsaipp dir>/bin
.
To run it, type:
cd <ngsaipp dir>/bin
./ngsaipp_unittests --gtest_color=yes
Note the cd
statement. It is important to execute the unittests from the executable directory. Otherwise, it won't find the necessary data in data/
.
An important part of ngsaipp is centered on handling PacBio BAM file epignetics signal data, modelling the signal and computing predictions to determine the presence of epigentics modifications. For an in-depth dive on this topic, please read the dedicated documention
Check the API documentation in docs/html/index.html
- Romain Groux