COPASI carries out * simulation* and

Models in COPASI are based on *reactions* that convert a set of *species* into
another set of *species*. Each *species* is located in a *compartment*, which is
a physical location with a size (volume, area, etc). This maps directly to biochemical reaction
networks, but can also represent other types of processes (for example, the species could be
cell types). COPASI automatically converts the reaction network to a set of differential equations
or to a system of stochastic reaction events — the user does not have to write down the math
explicitly, the software does that. Models can also have:

- Unlimited number of species, reactions, and compartments.
- Arbitrary discrete events; these can be used to change the model, or just to monitor the progress of simulations.
- Arbitrary differential equations; these have to be added explicitly by the user and can be mapped to species, compartments, or generic variables.
- Compartments can have variable sizes (ie they can be variables of the model).
- The rates of reaction can be picked from a set of predefined kinetic functions (the most common in biochemistry), or arbitrary functions defined by the user.

Models can be visualized through

- the GUI interface, with tables for reactions, species, compartments, etc.;
- an arbitrary number of network diagrams (including an SBGN-compliant option);
- the full set of differential equations; these can be exported in Latex or MathML formats.

COPASI can import and export models in the SBML format (levels 1 to 3). Models can also be exported in XPP format, Berkeley Madonna format, and as C code (in addition to MathML and Latex).

Simulation can be performed either with * stochastic kinetics* or with

Algorithms available for simulation:

- LSODAR for ordinary differential equation modeling.
- Gillespie's direct method for exact stochastic kinetics.
- Gibson & Brooke's version of Gillespie's algorithm for exact stochastic kinetics.
- τ-leap algorithm for faster (approximate) stochastic kinetics.
- Adaptive SSA/τ-leap algorithm for faster (approximate) stochastic kinetics.
- Hybrid Runge-Kutta/SSA for hybrid simulations with stochastic kinetics and differential equations.
- Hybrid LSODA/SSA for hybrid simulations with stochastic kinetics and differential equations.

Simulations can be of * time courses* or

Models can be analyzed and modified with a large set of methods:

- Stoichiometric analysis of the reaction network, including
*mass conservation analysis*and*elementary flux modes*. - Optimization of arbitrary components of the model using a range of diverse algorithms.
- Parameter estimation using a range of diverse optimization algorithms. This can be done over several different experiments simultaneously, including mixtures of steady-state and time course experiments.
- Local sensitivity analysis.
- Metabolic control analysis (a special form of sensitivity analysis).
- Time scale separation analysis; this allows definition of fast and slow components of the model, in a time-dependent way.
- Analysis of stochasticity using the linear noise approximation (allows estimating variances and co-variances even in the presence of large numbers of particles).
- Cross sections, which allow to characterize non-linear dynamics properties, such as oscillations and chaos.
- Lyapunov exponents, which allows to establish if the system dynamics are chaotic.

COPASI allows users to visualize data in various ways:

- Network diagrams can be used to visualize time course simulations as movies;
- network diagrams can also be used to visualize mass conservation moieties, and elementary flux modes;
- arbitrary 2D plots of any model variables and parameters (including trajectories in phase space);
- a series of plots that are most commonly used are already pre-defined;
- Color-coded matrices, for easily identifying large and small values;
- 3D bar chart representation of matrices

COPASI allows users to define report files where data is written to during simulations and analyses. These report files are useful for importing data onto other applications for further analysis and visualization.