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.