The purpose of this library is to provide text alignment for large(ish) constant alphabets; in particular alignment of Unicode code points. Currently, it contains a version of the Smith-Waterman algorithm that attempts to split the dynamic programming matrix into blocks and fill them in parallel.
At this point, the library should be considered experimental.
- GNU Make
- Compiler that supports C++17, e.g. GCC 8 or Clang 7
- Boost (tested with version 1.68)
- To build the provided command line tool, GNU Gengetopt is also required.
- The supporting library, libbio, requires Ragel at compile time.
- Python 3 (tested with version 3.6)
- setuptools
- Cython
- Tested with version 10.4
Running make in the project root builds the C++ library, the command line tool and the unit tests. Running make clean
cleans everything including the PostgreSQL and Python extensions.
- Edit local.mk. Useful variables include
CC
,CXX
,PYTHON
,EXTRA_CFLAGS
,EXTRA_CXXFLAGS
andEXTRA_LDFLAGS
. - Run make.
- To build either of the extensions, change to the subdirectory in question and run make.