This app constructs a Korotkov Automata from an input Regular Expression. A Korotkov Automata is an NFA with Q-gram/K-mer transitions. It is based on this lecture
A matrix is generated from the automata, which can be used for pattern matching. The regex need to be written in reverse polish notation and supports the following operations:
- "|" - or
- "*" - kleene star
- "+" - min. 1
- "?" - 0 or 1
- "." - concatination
- Clone the repository with
git clone --recurse-submodules git@github.com:remyschwab/kBioReg.git - Descend into the home directory and input:
mkdir build && cd build - Configure with cmake
cmake -DCMAKE_CXX_COMPILER=/path/to/g++-11 .. - Build with make
make
## Index
kbioreg index -k 3 -o dna_idx -m na ../data/ibf_example.fna
## Query RegEx
kbioreg query dna_idx.ibf "AC+G+|.T."This app was generated from the SeqAn App Template and makes heavy use of the SeqAn library.