The  Kinwalker  algorithm performs cotranscriptional folding of RNAs, starting at a user a specified structure (default: open chain) and ending at the minimum free energy structure. Folding events are performed between transcription of additional bases and are regulated by barrier heights between the source and target structure. Barrier heights can be calculated with two versions of the Morgan-Higgs heuristic as well as a Barrier Tree based heuristic, as described in the paper (preprint).  Kinwalker  also estimates folding times and produces a sequence of files tracking the folding process (,, ...) at the user's request.

Requirements for linking against RNAlib2 (ViennaRNA Package 2.0)

Download the patch file into your kinwalker source directory. A call of
patch -p1 < kinwalker.patch
within the source directory will alter the code such that it compiles without problems and also links correctly to the current ViennaRNA library (2.0.4).

If for some reason pkg-config is not installed or RNAlib2 is unknown to it, one can still override the appropriate shell variables accordingly. E.g.:
make VRNA_INC="-I/path/to/ViennaRNA/headers" VRNA_LIB="-L/path/to/ViennaRNA/lib -lRNA"
Another important issue is the use of OpenMP in the latest ViennaRNA Package. The default in ViennaRNA Package 2.0 is to use OpenMP support if available. This also means that RNAlib2 is compiled with OpenMP support. If then any program is to be linked against RNAlib2, the linker must be informed to include the necessary references. This can now easily be done for kinwalker (assuming that the linker is gcc/g++):
make LDFLAGS="-fopenmp"


The source code of the  Kinwalker  program can be downloaded here.
The patch of the  Kinwalker  program can be downloaded here.