Cain is able to perform stochastic and deterministic simulations of different chemical reactions. It can spawn multiple simulation processes to utilize multi-core computers. It stores models, simulation parameters, and simulation results in an XML format. In addition, SBML models can be imported and exported. The models and simulation parameters can be read from input files or edited within the program.
The GUI (Graphical User Interface) is written in Python and uses the wxPython toolkit. The solvers are implemented as command line executables, written in C++, which are driven by Cain. This makes it easy to launch batch jobs. It also simplifies the process of adding new solvers. Cain offers a variety of solvers:
- Gillespie's direct method.
- Gillespie's first reaction method.
- Gibson and Bruck's next reaction method.
- Hybrid direct/tau-leaping.
- ODE integration.
- This release introduces significance testing for transient solutions and improves handling of SBML files.
- In addition, examples from the DSMTS are now presented in the documentation.