Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time

Build Status

CHAP - The Channel Annotation Package

Please cite G. Klesse, S. Rao, M. S. P. Sansom, and S. J. Tucker "CHAP: A Versatile Tool for the Structural and Functional Annotation of Ion Channel Pores". Journal of Molecular Biology, 2019. if you use CHAP in your academic work.

CHAP is a tool for the functional annotation of ion channel structures written in C++. See the website under for a full documentation including installation instructions and usage examples. If you have any questions please use the GitHub Issue Tracker.


Prior to installing CHAP, make sure that you have the following libraries and tools installed:

  1. The CMake tool in version 3.2 or higher. This will typically be available through your system's package manager. For example, on Ubuntu you can install CMake by typing sudo apt-get install cmake. CMake is used to check the availability of libraries and compilers on your system and will ensure that CHAP is installed properly.
  2. A C++ compiler that supports the C++11 standard. A popular choice is the GNU Compiler Collection, which on Ubuntu can be obtained by typing sudo apt-get install gcc.
  3. The Boost C++ libraries, which on Ubuntu can be installed using sudo apt-get install libboost-all-dev. Boost algorithms are used in CHAP to solve some root finding and optimisation problems.
  4. The CBLAS and LAPACKE linear algebra libraries. On Ubuntu, the easiest way to obtain these is by typing sudo apt-get install libblas-dev libatlas-base-dev libopenblas-dev liblapacke-dev. The linear algebra libraries are used in CHAP's spline interpolation.
  5. The libgromacs library of the Gromacs molecular dynamics engine in version 2016 or higher. Comprehensive installation instructions for Gromacs can be found here. Please note that for using Gromacs as a library, the underlying FFTW libray may not be installed automatically, i.e. you need to set -DGMX_BUILD_OWN_FFTW=OFF when running CMake during the Gromacs installation.

CHAP also depends on RapidJSON, but this is included as a header-only library, and on GTest, but this is downloaded and installed automatically by CMake, so you don't need to do anything about either of these (you will however need Internet access when installing CHAP).


For a minimal install of CHAP create a build directory parallel to the source tree and from there run cmake, make, make check, and make install.

cd chap
mkdir build
cd build
cmake ..
make check
sudo make install

CMake will automatically find all dependencies (and inform you of missing ones), make will compile the code (you can use the make -j flag to speed this up on multicore machines), make check runs a suite of unit tests, and make install will place the binary in /usr/local/chap (so you will need sudo rights for this last step). To check if CHAP has been installed properly, you can type

chap -h

which should bring up an online help for using CHAP.