KaSim is a stochastic simulator for rule-based models written in Kappa. KaSa is
a static analyser for Kappa models.
Kappy is a python library to launch and analyse runs and outputs of
documentation is online.
The latex sources of the "older" reference manual (and KaSa one) are
available in the
man/ directory. To compile the manuel, in addition of
a decent LaTeX distribution you need
graphviz to generate images (make sure
dot is in the PATH of your OS). To generate the pdf of the
If you want or need your own build,
Install opam (the OCaml
package manager) and initialize it (by issuing
In the source directory, install all the dependencies by
opam install --deps-only .
You can be more fine grained if you only need the command-line tools
(and therefore could install less dependencies) by doing
opam install --deps-only kappa-binaries followed by
If nothing worked for you so far. Well, you're pretty much on your
own... Kappa tools depend upon the OCaml native compiler version
4.05.0 or above as well as dune, findlib, Lwt (>= 2.6.0), Re,
Fmt, Logs and Yojson libraries. Find any way to install them and
you'll be only a
make all away from getting Kappa binaries...
You should be able to
pip install kappy.
Under MacOS and linux (and if you're not using a python version so
cutting edge that we haven't notice its release yet), wheels that
contain the core binaries should be available.
For other platforms/python versions, you need to get kappa agents by
yourself thanks to the opam package manager by
opam install kappa-binaries kappa-agents(or use an externaly hosted REST API)
In order to develop in kappy and run all its tests, you need to
follow the "get your own build section" above as well as install
requests (and future).
In order to run a simulation for 100 time units printing observables values
every 0.5 time unit, type
bin/KaSim kappa_file_1 ... kappa_file_n -l 100 -p 0.5 -o data_file
This will produce a data file of 200 point containing the
trajectory that was produced during the simulation.
for a complete list of options.
import kappy client = kappy.KappaRest("http\://url_of/the_server","project_name")
to get a kappa client that uses the REST API hosted by
http://url_of/the_server and deals with project project_name.
import kappy client = kappy.KappaStd()
to get a kappa client that uses a kappa agent installed locally. Add a
string argument specifing the
path/to/KaSimAgent to use a specific agent.
A minimal example of usage is:
model = "\ %agent: A(x[x.A]) \ %var: n_0 100 \ %var: k_on 1e-2 \ 'rule' A(x[.]), A(x[.]) <-> A(x), A(x) @ k_on, 1 \ %plot: |A(x[.])| \ %init: n_0 A()" client.add_model_string(model) client.project_parse() sim_params = kappy.SimulationParameter(pause_condition="[T] > 100",plot_period=1) client.simulation_start(sim_params) client.wait_for_simulation_stop() results = client.simulation_plot() client.simulation_delete() # Rerun with some overwritten values for algebraic variables client.project_parse(k_on=5e-2,n_0=500) client.simulation_start(sim_params) client.wait_for_simulation_stop() results' = client.simulation_plot() client.shutdown()
Launch the core/integration tests by
Regenerate the reference files if you've changed something in the
Launch python tests by
nosetests (after having followed the "Get
your own build" section).