See the About page for information about the discussion group and reporting issues.

PyKappa

PyKappa is a Python interface to the Kappa language with its own all-Python engine. It can also use the KaSim engine for faster compiled evaluation. You can define, run, and analyze Kappa models directly in Python scripts or notebooks.

KaSim

KaSim is the OCaml-implemented Kappa tool suite. It can can be compiled with make clean and make all from the sources. You can also use KaSim as an OCaml library with the API here. If you'd like to be at the cutting edge, download the nightly build.

Development

KaSim is written in the OCaml language and compiling the software therefore requires setting up a minimal OCaml environment. For this you need opam, the OCaml package manager. Once opam is installed and initialized (by issuing opam init in a terminal), simply type opam pin add --dev KaSim. This will compile all necessary dependencies as well as the current master branch of the git repository. If you would like to get WebSim (the Kappa REST service server), type opam install atdgen cohttp-lwt-unix. Opam will recognize that you now have an optional dependency of KaSim with new capabilities and will recompile everything enabling them.

Graphical Kappa User Interface

The Kappa User Interface (KUI) app, which you can try online, integrates the simulator with a variety of analysis tools. It provides some graphics to facilitate reasoning about a Kappa model and its behavior. It is part of the same repository as KaSim. If you use this interface, please cite

P. Boutillier, M. Maasha, X. Li, H. F. Medina-Abarca, J. Krivine, J. Feret, I. Cristescu, A. G. Forbes and W. Fontana. "The Kappa platform for rule-based modeling", Bioinformatics, 34/13, i583–i592 (2018)

Visualization

Visualization is of paramount importance when navigating and reasoning about complex interaction systems. Some of the visualization integrated in the Kappa UI has been developed in the Creative Coding Lab of Angus Forbes. A major challenge is the visualization of networks that change dynamically. The Kappa simulator can track the dynamically evolving influences that rules exert on each other, yielding a Dynamic Influence Network (DIN). The Forbes group has developed an interactive visualization of the DIN. It currently requires a two-stage approach whereby a user first generates a zipped-up series of DIN matrices using KaSim and then uploads the zip-file to the DIN visualizer. In the future we hope to seamlessly integrate the Kappa UI with the DIN.

Integration with editors and LaTeX

Under Linux, we recommend using the GNU Emacs text editor because it has a Kappa mode that you can install. Under Windows, there is a simple syntax highlighter for the Notepad++ text editor. To install the Kappa mode for Notepad++, just download the highlighter .xml file, then go to the Language Menu -> DefineYourLanguage -> Import, and select the file you just downloaded.

For LaTeX printing of Kappa code, there is a language definition for the listings package available here, and a demo texfile here.

Miscellanea

Several tools are not yet ready for preview. Most important among them is a nifty event trace analysis tool and a so-called co-simulator for counterfactual simulation. We will update these pages as soon as these tools are ready for prime time. For archaeologists, here is the source code of previous Kappa implementations.