libRoadRunner C API  1.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
rrc_api.cpp File Reference

roadRunner C API 2012 More...

#include <string>
#include <iostream>
#include <sstream>
#include <fstream>
#include "rrRoadRunner.h"
#include "c/rrCModelGenerator.h"
#include "rrLogger.h"
#include "rrException.h"
#include "rrVersionInfo.h"
#include "rrUtils.h"
#include "rrc_api.h"
#include "rrc_utilities.h"
#include "rrc_cpp_support.h"
#include <unistd.h>
#include <limits.h>

Macros

#define RR_MAX_PATH   PATH_MAX
 macro for MAX_PATH
 

Functions

RRHandle createRRInstance ()
 Initialize a new roadRunner instance and return a handle to it. More...
 
RRHandle createRRInstanceEx (const char *tempFolder, const char *compiler_cstr)
 Initialize a new roadRunner instance and return a handle to it. More...
 
char * getInstallFolder ()
 Returns the folder in which the RoadRunner API is installed. More...
 
bool setInstallFolder (const char *folder)
 Set the internal string containing the folder in where the RoadRunner C API is installed. More...
 
char * getAPIVersion ()
 Retrieve the current version number of the C API library. More...
 
char * getCPPAPIVersion (RRHandle handle)
 Retrieve the current version number of the C++ API (Core RoadRunner API) library. More...
 
int getVersion ()
 
char * getVersionStr ()
 
char * getVersionEx ()
 
char * getRRCAPILocation ()
 Retrieve the directory path of the shared rrCApi library. More...
 
char * getCopyright ()
 Retrieve the current copyright notice for the library. More...
 
char * getInfo (RRHandle handle)
 Retrieve info about current state of roadrunner, e.g. loaded model, conservationAnalysis etc. More...
 
char * getExtendedAPIInfo ()
 Retrieve extended API info. More...
 
char * getlibSBMLVersion (RRHandle handle)
 Retrieve the current version number of the libSBML library. More...
 
char * getCurrentSBML (RRHandle handle)
 Retrieve the current state of the model in the form of an SBML string. More...
 
bool setComputeAndAssignConservationLaws (RRHandle handle, const bool OnOrOff)
 Enable or disable conservation analysis. More...
 
bool setTempFolder (RRHandle handle, const char *folder)
 Set the path to the temporary folder where the C code will be stored. More...
 
char * getTempFolder (RRHandle handle)
 Retrieve the current temporary folder path. More...
 
bool setCompiler (RRHandle handle, const char *fName)
 Set the path and filename to the compiler to be used by roadrunner. More...
 
char * getCompiler (RRHandle handle)
 Get the name of the compiler currently being used by roadrunner.
 
bool setCompilerLocation (RRHandle handle, const char *folder)
 Set the path to a folder containing the compiler to be used. More...
 
char * getCompilerLocation (RRHandle handle)
 Get the path to a folder containing the compiler being used. More...
 
bool setSupportCodeFolder (RRHandle handle, const char *folder)
 Set the path to a folder containing support code for model generation. More...
 
char * getSupportCodeFolder (RRHandle handle)
 Get the path to a folder containing support code. More...
 
char * getWorkingDirectory ()
 Retrieve the current working directory path. More...
 
bool loadSBMLFromFile (RRHandle _handle, const char *fileName)
 Load a model from a SBML file. More...
 
bool loadSBMLFromFileE (RRHandle _handle, const char *fileName, bool forceRecompile)
 Load a model from a SBML file, force recompilation. More...
 
bool loadSBML (RRHandle handle, const char *sbml)
 Load a model from an SBML string. More...
 
bool loadSBMLEx (RRHandle handle, const char *sbml, bool forceRecompile)
 Load a model from an SBML string. More...
 
bool loadSimulationSettings (RRHandle handle, const char *fileName)
 Load simulation settings from a file. More...
 
char * getSBML (RRHandle handle)
 Retrieve the SBML model that was last loaded into roadRunner. More...
 
bool isModelLoaded (RRHandle handle)
 check if a model is loaded More...
 
bool unLoadModel (RRHandle handle)
 Unload current model. More...
 
bool setTimeStart (RRHandle handle, const double timeStart)
 Set the time start for a time course simulation. More...
 
bool setTimeEnd (RRHandle handle, const double timeEnd)
 Set the time end for a time course simulation. More...
 
bool setNumPoints (RRHandle handle, const int nrPoints)
 Set the number of points to generate in a time course simulation. More...
 
bool getTimeStart (RRHandle handle, double *timeStart)
 Get the value of the current time start. More...
 
bool getTimeEnd (RRHandle handle, double *timeEnd)
 Get the value of the current time end. More...
 
bool getNumPoints (RRHandle handle, int *numPoints)
 Get the value of the current number of points. More...
 
bool setTimeCourseSelectionList (RRHandle handle, const char *list)
 Set the selection list for output from simulate(void) or simulateEx(void) More...
 
RRStringArrayPtr getTimeCourseSelectionList (RRHandle handle)
 Get the current selection list for simulate(void) or simulateEx(void) More...
 
RRDataHandle simulate (RRHandle handle)
 Carry out a time-course simulation, use setTimeStart, setTimeEnd and setNumPoints etc to set the simulation characteristics. More...
 
RRDataHandle simulateEx (RRHandle handle, const double timeStart, const double timeEnd, const int numberOfPoints)
 Carry out a time-course simulation based on the given arguments, time start, time end and number of points. More...
 
RRCDataPtr getSimulationResult (RRHandle handle)
 Retrieve the result of the last simulation. More...
 
RRDataHandle getRoadRunnerData (RRHandle handle)
 Retrieve a handle to RoadRunners internal data. More...
 
RRStringArrayPtr getReactionIds (RRHandle handle)
 Obtain the list of reaction Ids. More...
 
RRVectorPtr getRatesOfChange (RRHandle handle)
 Retrieve the vector of rates of change as determined by the current state of the model. More...
 
RRStringArrayPtr getRatesOfChangeIds (RRHandle handle)
 Retrieve the string list of rates of change Ids. More...
 
RRDoubleMatrixPtr getUnscaledElasticityMatrix (RRHandle handle)
 Retrieve the unscaled elasticity matrix for the current model. More...
 
RRDoubleMatrixPtr getScaledElasticityMatrix (RRHandle handle)
 Retrieve the scaled elasticity matrix for the current model. More...
 
bool getValue (RRHandle handle, const char *symbolId, double *value)
 Get the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols. More...
 
bool setValue (RRHandle handle, const char *symbolId, const double value)
 Set the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols. More...
 
RRDoubleMatrixPtr getStoichiometryMatrix (RRHandle handle)
 Retrieve the stoichiometry matrix for the current model. More...
 
RRDoubleMatrixPtr getConservationMatrix (RRHandle handle)
 Retrieve the conservation matrix for the current model. More...
 
RRDoubleMatrixPtr getLinkMatrix (RRHandle handle)
 Retrieve the Link matrix for the current model. More...
 
RRDoubleMatrixPtr getNrMatrix (RRHandle handle)
 Retrieve the reduced stoichiometry matrix for the current model. More...
 
bool hasError ()
 Check if there is an error string to retrieve. More...
 
char * getLastError ()
 Retrieve the current error string. More...
 
bool reset (RRHandle handle)
 Reset all floating species concentrations to their intial conditions. More...
 
int getNumberOfReactions (RRHandle handle)
 Obtain the number of reactions in the loaded model. More...
 
bool getReactionRate (RRHandle handle, const int rateNr, double *value)
 Retrieve a give reaction rate as indicated by the index parameter. More...
 
RRVectorPtr getReactionRates (RRHandle handle)
 Retrieve a vector of reaction rates as determined by the current state of the model. More...
 
int getNumberOfBoundarySpecies (RRHandle handle)
 Returns the number of boundary species in the model. More...
 
RRStringArrayPtr getBoundarySpeciesIds (RRHandle handle)
 Obtain the list of boundary species Ids. More...
 
int getNumberOfFloatingSpecies (RRHandle handle)
 Returns the number of floating species in the model. More...
 
RRStringArrayPtr getFloatingSpeciesIds (RRHandle handle)
 Obtain the list of floating species Id. More...
 
int getNumberOfGlobalParameters (RRHandle handle)
 Returns the number of global parameters in the model. More...
 
RRStringArrayPtr getGlobalParameterIds (RRHandle handle)
 Obtain the list of global parameter Ids. More...
 
bool getFloatingSpeciesInitialConcentrationByIndex (RRHandle handle, int index, double *value)
 Get the initial concentration for a particular floating species. More...
 
RRVectorPtr getFloatingSpeciesConcentrations (RRHandle handle)
 Retrieve in a vector the concentrations for all the floating species. More...
 
RRVectorPtr getBoundarySpeciesConcentrations (RRHandle handle)
 Retrieve the concentrations for all the boundary species in a vector. More...
 
RRVectorPtr getFloatingSpeciesInitialConcentrations (RRHandle handle)
 Get the initial floating species concentrations. More...
 
bool setFloatingSpeciesByIndex (RRHandle handle, const int index, const double value)
 Set the concentration for a particular floating species. More...
 
bool setBoundarySpeciesByIndex (RRHandle handle, const int index, const double value)
 Set the concentration for a particular boundary species. More...
 
bool setGlobalParameterByIndex (RRHandle handle, const int index, const double value)
 Set the value for a particular global parameter. More...
 
bool setFloatingSpeciesInitialConcentrationByIndex (RRHandle handle, const int index, const double value)
 Set the initial concentration for a particular floating species. More...
 
bool setFloatingSpeciesInitialConcentrations (RRHandle handle, const RRVectorPtr vec)
 Set the initial floating species concentrations. More...
 
bool setFloatingSpeciesConcentrations (RRHandle handle, const RRVectorPtr vec)
 Set the floating species concentration to the vector vec. More...
 
bool setBoundarySpeciesConcentrations (RRHandle handle, const RRVectorPtr vec)
 Set the boundary species concentration to the vector vec. More...
 
bool oneStep (RRHandle handle, const double currentTime, const double stepSize, double *value)
 Carry out a one step integration of the model. More...
 
RRVectorPtr getGlobalParameterValues (RRHandle handle)
 Retrieve the values for all the lgobal parameter values in a vector. More...
 
RRListPtr getAvailableTimeCourseSymbols (RRHandle handle)
 Obtain the list of all available symbols. More...
 
RRListPtr getAvailableSteadyStateSymbols (RRHandle handle)
 Obtain the list of all available steady state symbols. More...
 
bool getBoundarySpeciesByIndex (RRHandle handle, const int index, double *value)
 Retrieve the concentration for a particular floating species. More...
 
bool getFloatingSpeciesByIndex (RRHandle handle, const int index, double *value)
 Retrieve the concentration for a particular floating species. More...
 
bool getGlobalParameterByIndex (RRHandle handle, const int index, double *value)
 Retrieve the global parameter value. More...
 
bool getuCC (RRHandle handle, const char *variable, const char *parameter, double *value)
 Retrieve a single unscaled control coefficient. More...
 
bool getCC (RRHandle handle, const char *variable, const char *parameter, double *value)
 Retrieve a single control coefficient. More...
 
bool getuEE (RRHandle handle, const char *name, const char *species, double *value)
 Retrieve a single unscaled elasticity coefficient. More...
 
bool getEE (RRHandle handle, const char *name, const char *species, double *value)
 Retrieve a single elasticity coefficient. More...
 
int getNumberOfDependentSpecies (RRHandle handle)
 Returns the number of dependent species in the model. More...
 
int getNumberOfIndependentSpecies (RRHandle handle)
 Returns the number of independent species in the model. More...
 
bool steadyState (RRHandle handle, double *value)
 Compute the steady state of the current model. More...
 
bool evalModel (RRHandle handle)
 Evaluate the current model, that it update all assignments and rates of change. Do not carry out an integration step. More...
 
char * getParamPromotedSBML (RRHandle handle, const char *sArg)
 Promote any local parameters to global status. More...
 
RRVectorPtr computeSteadyStateValues (RRHandle handle)
 A convenient method for returning a vector of the steady state species concentrations. More...
 
bool setSteadyStateSelectionList (RRHandle handle, const char *list)
 Set the selection list of the steady state analysis. More...
 
RRStringArrayPtr getSteadyStateSelectionList (RRHandle handle)
 Get the selection list for the steady state analysis. More...
 
RRDoubleMatrixPtr getFullJacobian (RRHandle handle)
 Retrieve the full Jacobian for the current model. More...
 
RRDoubleMatrixPtr getReducedJacobian (RRHandle handle)
 Retrieve the reduced Jacobian for the current model. More...
 
RRDoubleMatrixPtr getEigenvalues (RRHandle handle)
 Retrieve the eigenvalue matrix for the current model. More...
 
bool setCodeGenerationMode (RRHandle handle, int mode)
 Set the runtime generation option [Not yet implemented]. More...
 
bool getScaledFloatingSpeciesElasticity (RRHandle handle, const char *reactionId, const char *speciesId, double *value)
 Retrieve the scaled elasticity matrix for the current model. More...
 
RRStringArrayPtr getFloatingSpeciesInitialConditionIds (RRHandle handle)
 Get the initial floating species Ids. More...
 
RRVectorPtr getRatesOfChangeEx (RRHandle handle, const RRVectorPtr vec)
 Retrieve the vector of rates of change given a vector of floating species concentrations. More...
 
RRVectorPtr getReactionRatesEx (RRHandle handle, const RRVectorPtr vec)
 Retrieve a vector of reaction rates given a vector of species concentrations. More...
 
RRListPtr getElasticityCoefficientIds (RRHandle handle)
 Obtain the list of elasticity coefficient Ids. More...
 
bool setConfigurationXML (RRHandle handle, const char *caps)
 Set the simulator's capabilities. More...
 
char * getConfigurationXML (RRHandle handle)
 Get the simulator's capabilities. More...
 
RRStringArrayPtr getEigenvalueIds (RRHandle handle)
 Obtain the list of eigenvalue Ids. More...
 
RRListPtr getFluxControlCoefficientIds (RRHandle handle)
 Obtain the list of flux control coefficient Ids. More...
 
RRDoubleMatrixPtr getUnscaledConcentrationControlCoefficientMatrix (RRHandle handle)
 Retrieve the matrix of unscaled concentration control coefficients for the current model. More...
 
RRDoubleMatrixPtr getScaledConcentrationControlCoefficientMatrix (RRHandle handle)
 Retrieve the matrix of scaled concentration control coefficients for the current model. More...
 
RRDoubleMatrixPtr getUnscaledFluxControlCoefficientMatrix (RRHandle handle)
 Retrieve the matrix of unscaled flux control coefficients for the current model. More...
 
RRDoubleMatrixPtr getScaledFluxControlCoefficientMatrix (RRHandle handle)
 Retrieve the matrix of scaled flux control coefficients for the current model. More...
 
RRListPtr getUnscaledFluxControlCoefficientIds (RRHandle handle)
 Obtain the list of unscaled flux control coefficient Ids. More...
 
RRListgetConcentrationControlCoefficientIds (RRHandle handle)
 Obtain the list of concentration coefficient Ids. More...
 
RRListPtr getUnscaledConcentrationControlCoefficientIds (RRHandle handle)
 Obtain the list of unscaled concentration control coefficient Ids. More...
 
int getNumberOfCompartments (RRHandle handle)
 Returns the number of compartments in the model. More...
 
bool getCompartmentByIndex (RRHandle handle, const int index, double *value)
 Retrieve the compartment volume for a particular compartment. More...
 
bool setCompartmentByIndex (RRHandle handle, const int index, const double value)
 Set the volume for a particular compartment. More...
 
RRStringArrayPtr getCompartmentIds (RRHandle handle)
 Obtain the list of compartment Ids. More...
 
bool getRateOfChange (RRHandle handle, const int index, double *value)
 Retrieve the rate of change for a given floating species. More...
 
char * getBuildDate ()
 Retrieve the current build date of the library. More...
 
char * getBuildTime ()
 Retrieve the current build time (HH:MM:SS) of the library. More...
 
char * getBuildDateTime ()
 Retrieve the current build date + time of the library. More...
 
bool freeRRInstance (RRHandle handle)
 Free the roadRunner instance. More...
 

Detailed Description

roadRunner C API 2012

Author
Totte Karlsson & Herbert M Sauro

<-----------------------------------------------------------— This file is part of cRoadRunner. See http://code.google.com/p/roadrunnerlib for more details.

Copyright (C) 2012-2013 University of Washington, Seattle, WA, USA

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

In plain english this means:

You CAN freely download and use this software, in whole or in part, for personal, company internal, or commercial purposes;

You CAN use the software in packages or distributions that you create.

You SHOULD include a copy of the license in any redistribution you may make;

You are NOT required include the source of software, or of any modifications you may have made to it, in any redistribution you may assemble that includes it.

YOU CANNOT:

redistribute any piece of this software without proper attribution;