#include <sbml/SBMLTypes.h>
#include "../src/sbmlsolver/exportdefs.h"
#include "../src/sbmlsolver/integratorInstance.h"
Include dependency graph for commandLine.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Functions | |
SBMLDocument_t * | parseModelWithArguments (char *file) |
int | integrator (integratorInstance_t *engine, int PrintMessage, int PrintOnTheFly, FILE *outfile) |
int | odeSolver (int argc, char *argv[]) |
|
|
|
The function "static int integrator(cvodeData_t *data)" gets a filled structure "CvodeData" and calls CVODE via the integratorInstance group of functions, to integrate the ODEs. Command-line option -f/--onthefly: print initial values, if on-the-fly printint is set |
|
odeSolver(): Starting the SBML_odeSolver from command-line !! Command-line options are interpreted mainly from here and the according procedures are started. See file sbml.c for parsing and validation of SBML (Step C.1 of the documentation), see file odeConstruct.c for construction of an ODE model and initialisation of CVODE data (Steps I.1, C.2-C.5 of the documentation), see file odeIntegrate.c for the integration procedure using CVODE. The file printModel.c contains all printing functions, from model structures to results, including printing to XMGrace, (Step X in the documentation). The file drawModel.c contains the graph drawing functions, using graphviz layout algorithms. -i: Enter Interactive Mode See files interactive.c. If stdin && stdout are bound to a terminal then option '-i' will redirect you to the interactive mode Parse the Model from File, -v: validation See file sbml.c. The SBMLDocument will be read in, validate if requested by command-line option '-v' and converted to level 2. All further routines are written for SBML level 2! Then the model will be retrieved from the document and used for further processing. -g: Draw a Graph of the Reaction Network See file drawModel.c. On option -g the program will call the graph drawing function to draw a graph of the reaction network and then leave the program. Thus option '-g' overrules any of the following actions and many other command-line options. -d + -e, -de: Print Determinant of the Jacobian Matrix See file odeConstruct.c. First the differential equations will be constructed from the SBML model, this function will also construct the symbolic expressions of the jacobian matrix, and upon a combination of command-line options '-e' and '-d', the determinant of the jacobian will be calculated and printed out. The program is left afterwards, again overruling the following actions and many command-line options. -e: Print All Model Contents and ODEs See files printModel.c. With command-line option '-e', the program will just print out everything: model contents, and the derived ODE system; the jacobian matrix expressions will NOT be printed ONLY when additionally option '-j' was set. Exit afterwards. -o: Print ODE Model See files odeConstruct.c and printModel.c. When option '-o' is given, the model will be simplified just like done for integration with CVODE. This simplified model will be printed to the given outfile or to stdout. Exit afterwards. Default: Start Integration Procedure See files odeConstruct.c, odeIntegrate.c and printModel.c. At first, the function Model_reduceToOdes(m) will attempt to construct a simplified SBML model, that only consists of species and their ODEs, represented as Rate Rules, and of Events. All constant species, parameters compartments, assignment rules and function definitions will be replaced by their values or expressions respectively in all remaining formulas (ie. rate and algebraic rules and events). Then the initial values and ODEs of the remaining species will be written to the structure cvodeData_t *data. Set integration parameters: Now that we have arrived here, we can set the parameters for integration, like the end time and the number of steps to be printed out, absolute and relative error tolerances, use of exact or approximated Jacobian matrix, printing of messages during integration, event handling, steady state detection, and runtime printing of results. And then .. .... we can call the integrator functions, that invoke CVODE and stores results. The function will also handle events and check for steady states. Finally, print out the results in the format specified by commanline option, -f, --onthefly: print results during integration no other printing needed -a, --all: print all results -y: print time course of the jacobian matrix expressions -k: print time course of the reactions, i.e. kinetic law expressions -r: print time coures of ODE values -d: print time course of the determinant of the jacobian matrix Default (no printing options): print species concentrations -a, --all: print all results -m: Draw the jacobian interaction graph with values from the last integration point (tout) defining edge color and arrowheads (red, ie. inhibitory for negative values, black, activating for positive values. |