All Kappa software is open source. Its development is hosted on github.

Please help us help you by reporting any issues you encounter.

Join the discussion using any channel listed in the Contact section. If you wish to dive into source code, contact us through the Kappa Users Group.

Released version

Graphical Kappa User Interface

The Kappa User Interface (KUI) app (Kappapp.app) is aimed at integrating the simulator with a variety of analysis tools. It provides some graphics to facilitate reasoning about a Kappa model and its behavior. A UI is always work in progress and there are several interesting Kappa tools that have not yet been integrated. If you use the Kappa User Interface application, 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)

The KUI can be tested online. (Be aware that simulation with the online version is slow, as it utilizes a javascript transliteration of the original OCaml code.)

For special situations, here are the sources. (Check under 'development' below to learn how to compile the app yourself.)

Command line components

The individual command line components of the Kappa tool suite can either be compiled with 'make clean' and 'make all' from the sources (on github) or by downloading the app, which has the components (built nightly) located inside its directory. (Under MacOSX use "Inspect package content".)

To draw graphs generated by the command line versions of the Kappa tools, you will need Graphviz or any graph visualizer that accepts the dot format.

Programmatic interface

Kappa is available as a python API through the kappy package (available in pip). A toy session in ipython using looks like this:

In [2]: import kappy

In [3]: model_text = "%agent: A(x)\nA(x[.]), A(x[.]) <-> A(x[1]), A(x[1]) @ 1e-2,1\n%plot: |A(x[.])|\n%init: 100 A()"

In [4]: kappa_client = kappy.KappaStd()

In [5]: kappa_client.add_model_string(model_text)
Out[5]: [...]

In [6]: kappa_client.project_parse()
Out[6]: [...]

In [7]: kappa_client.simulation_start(kappy.SimulationParameter(.1,"[T] > 10"))
Out[7]: {'simulation_artifact_simulation_seed': 297327779}

In [8]: kappa_client.wait_for_simulation_stop()
Out[8]: [...]

In [9]: kappa_client.simulation_plot()
Out[9]:
  [6.7, 48.0],
[...]
  [0.4, 60.0],
  [0.3, 50.0],
  [0.2, 64.0],
  [0.1, 62.0],
  [0.0, 100.0]]}

Development version

If you would like to be at the cutting edge, download the nightly-builds of the development version.

Kappa software 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, which is available for many linux / bsd distributions as well as from macports, homebrew, etc.

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!

Integration with editors

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. It looks like this:

syntax highlighter Notepad++

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.