4 #include "rrOSSpecifics.h"
5 #include "rrSelectionRecord.h"
6 #include "rrRoadRunnerOptions.h"
7 #include "sbml/Species.h"
11 #pragma warning(disable: 26812)
12 #pragma warning(disable: 26451)
15 #include "rr-libstruct/lsMatrix.h"
18 #pragma warning(disable: 26812)
19 #pragma warning(disable: 26451)
36 class SBMLModelSimulation;
38 class ExecutableModel;
42 class SteadyStateSolver;
44 class SensitivitySolver;
46 template<
class IndexType,
class DataType>
49 static std::mutex rrMtx;
66 RoadRunner(
unsigned int level = 3,
unsigned int version = 2);
91 RoadRunner(
const std::string &compiler,
const std::string &tempDir,
92 const std::string &supportCodeDir);
117 int getInstanceCount();
133 double getCurrentTime();
167 Integrator *getIntegratorByName(
const std::string &name);
182 Integrator *makeIntegrator(
const std::string &name);
197 std::vector<std::string> getExistingIntegratorNames();
202 std::vector<std::string> getExistingSteadyStateSolverNames();
207 std::vector<std::string> getExistingSensitivitySolverNames();
212 static std::vector<std::string> getRegisteredIntegratorNames();
217 static std::vector<std::string> getRegisteredSteadyStateSolverNames();
222 static std::vector<std::string> getRegisteredSensitivitySolverNames();
228 void setIntegrator(
const std::string &name);
235 void setSteadyStateSolver(
const std::string &name);
242 void setSensitivitySolver(
const std::string &name);
249 bool integratorExists(
const std::string &name);
254 bool steadyStateSolverExists(
const std::string &name);
259 bool sensitivitySolverExists(
const std::string &name);
264 static void registerSolvers();
304 double oneStep(
double currentTime,
double stepSize,
bool reset =
true);
313 double internalOneStep(
double currentTime,
double stepSize,
bool reset =
true);
377 const ls::DoubleMatrix *
simulate(
double start,
double stop,
int points);
383 const ls::DoubleMatrix *
simulate(
const std::vector<double> ×);
404 double start,
double stop,
int num,
405 std::vector<std::string> params = std::vector<std::string>(),
406 std::vector<std::string> species = std::vector<std::string>(),
416 void saveState(std::string filename,
char opt =
'b');
428 std::stringstream* saveStateS(
char opt =
'b');
436 void loadState(
const std::string& filename);
447 void loadStateS(std::stringstream* state) ;
453 const ls::DoubleMatrix *getSimulationData()
const;
482 std::string
getSBML(
int level = 0,
int version = 0);
518 void reset(
int options);
523 void resetSelectionLists();
530 void changeInitialConditions(
const std::vector<double> &ic);
548 void load(
const std::string &uriOrSBML,
563 std::vector<rr::SelectionRecord> &getSelections();
569 double getValue(
const std::string &sel);
574 void setSelections(
const std::vector<std::string> &selections);
576 void setSelections(
const std::vector<rr::SelectionRecord> &selections);
581 std::vector<double> getSelectedValues();
586 void getIds(
int types, std::list<std::string> &ids);
622 int getSupportedIdTypes();
630 void setValue(
const std::string &
id,
double value);
638 ls::DoubleMatrix getFloatingSpeciesAmountsNamedArray();
644 ls::DoubleMatrix getFloatingSpeciesConcentrationsNamedArray();
650 ls::DoubleMatrix getBoundarySpeciesAmountsNamedArray();
656 ls::DoubleMatrix getBoundarySpeciesConcentrationsNamedArray();
662 std::vector<double> getIndependentFloatingSpeciesAmountsV();
668 std::vector<double> getDependentFloatingSpeciesAmountsV();
674 std::vector<double> getIndependentFloatingSpeciesConcentrationsV();
680 std::vector<double> getDependentFloatingSpeciesConcentrationsV();
686 ls::DoubleMatrix getIndependentFloatingSpeciesAmountsNamedArray();
692 ls::DoubleMatrix getDependentFloatingSpeciesAmountsNamedArray();
698 ls::DoubleMatrix getIndependentFloatingSpeciesConcentrationsNamedArray();
704 ls::DoubleMatrix getDependentFloatingSpeciesConcentrationsNamedArray();
716 ls::DoubleMatrix getRatesOfChangeNamedArray();
722 std::vector<double> getIndependentRatesOfChange();
728 ls::DoubleMatrix getIndependentRatesOfChangeNamedArray();
734 std::vector<double> getDependentRatesOfChange();
740 ls::DoubleMatrix getDependentRatesOfChangeNamedArray();
747 ls::DoubleMatrix getFullReorderedJacobian();
763 std::vector<std::complex<double>> getFullEigenValues();
772 std::vector<std::complex<double>> getReducedEigenValues();
783 ls::DoubleMatrix getFullEigenValuesNamedArray();
793 ls::DoubleMatrix getReducedEigenValuesNamedArray();
811 ls::DoubleMatrix getKMatrix();
819 ls::DoubleMatrix getReducedStoichiometryMatrix();
825 ls::DoubleMatrix getFullStoichiometryMatrix();
827 ls::DoubleMatrix getExtendedStoichiometryMatrix();
848 std::vector<std::string> getEigenValueIds();
854 double getUnscaledParameterElasticity(
const std::string &reactionName,
855 const std::string ¶meterName);
858 ls::DoubleMatrix getFrequencyResponse(
double startFrequency,
859 int numberOfDecades,
int numberOfPoints,
860 const std::string ¶meterName,
const std::string &variableName,
861 bool useDB,
bool useHz);
866 void setConservedMoietyAnalysis(
bool value);
871 bool getConservedMoietyAnalysis();
877 static std::string getExtendedVersionInfo();
898 double getSteadyStateThreshold()
const;
906 void setSteadyStateThreshold(
double val);
913 double getFluxThreshold()
const;
919 void setFluxThreshold(
double val);
929 double getuCC(
const std::string &variableName,
const std::string ¶meterName);
939 double getCC(
const std::string &variableName,
const std::string ¶meterName);
944 double getuEE(
const std::string &reactionName,
const std::string ¶meterName);
950 double getuEE(
const std::string &reactionName,
const std::string ¶meterName,
951 bool computeSteadystate);
956 double getEE(
const std::string &reactionName,
const std::string ¶meterName);
962 double getEE(
const std::string &reactionName,
const std::string ¶meterName,
963 bool computeSteadyState);
979 const std::string &speciesName);
986 double getUnscaledSpeciesElasticity(
int reactionId,
int speciesIndex);
1003 void addSpeciesConcentration(
const std::string &sid,
const std::string &compartment,
double initConcentration,
1004 bool hasOnlySubstanceUnits =
false,
bool boundaryCondition =
false,
1005 const std::string &substanceUnits =
"",
bool forceRegenerate =
true);
1022 void addSpeciesAmount(
const std::string &sid,
const std::string &compartment,
double initAmount = 0,
1023 bool hasOnlySubstanceUnits =
false,
bool boundaryCondition =
false,
1024 const std::string &substanceUnits =
"",
bool forceRegenerate =
true);
1038 void removeSpecies(
const std::string &sid,
bool forceRegenerate =
true);
1052 void setBoundary(
const std::string &sid,
bool boundaryCondition,
bool forceRegenerate =
true);
1071 bool getHasOnlySubstanceUnits(
const std::string &sid);
1084 void setInitAmount(
const std::string &sid,
double initAmount,
bool forceRegenerate =
true);
1098 void setInitConcentration(
const std::string &sid,
double initConcentration,
bool forceRegenerate =
true);
1113 void setConstant(
const std::string &sid,
bool constant,
bool forceRegenerate =
true);
1126 void addReaction(
const std::string &sbmlRep,
bool forceRegenerate =
true);
1145 void addReaction(
const std::string &rid, std::vector<std::string> reactants, std::vector<std::string> products,
1146 const std::string &kineticLaw,
bool forceRegenerate =
true);
1159 void removeReaction(
const std::string &rid,
bool deleteUnusedParameters =
false,
bool forceRegenerate =
true);
1172 void setReversible(
const std::string &rid,
bool reversible,
bool forceRegenerate =
true);
1186 void setKineticLaw(
const std::string &rid,
const std::string &kineticLaw,
bool forceRegenerate =
true);
1206 void addParameter(
const std::string &pid,
double value,
bool forceRegenerate =
true);
1218 void removeParameter(
const std::string &pid,
bool forceRegenerate =
true);
1232 void addCompartment(
const std::string &cid,
double initVolume,
bool forceRegenerate =
true);
1258 void addAssignmentRule(
const std::string &vid,
const std::string &formula,
bool forceRegenerate =
true);
1272 void addRateRule(
const std::string &vid,
const std::string &formula,
bool forceRegenerate =
true);
1288 void removeRules(
const std::string &vid,
bool useInitialValue =
false,
bool forceRegenerate =
true);
1302 void addInitialAssignment(
const std::string &vid,
const std::string &formula,
bool forceRegenerate =
true);
1315 void removeInitialAssignment(
const std::string &vid,
bool forceRegenerate =
true,
bool errIfNotExist =
true);
1330 void addEvent(
const std::string &eid,
bool useValuesFromTriggerTime,
const std::string &trigger,
1331 bool forceRegenerate =
true);
1346 void addTrigger(
const std::string &eid,
const std::string &trigger,
bool forceRegenerate =
true);
1359 void setPersistent(
const std::string &eid,
bool persistent,
bool forceRegenerate =
true);
1386 void addPriority(
const std::string &eid,
const std::string &priority,
bool forceRegenerate =
true);
1400 void addDelay(
const std::string &eid,
const std::string &delay,
bool forceRegenerate =
true);
1415 void addEventAssignment(
const std::string &eid,
const std::string &vid,
const std::string &formula,
1416 bool forceRegenerate =
true);
1430 void removeEventAssignments(
const std::string &eid,
const std::string &vid,
bool forceRegenerate =
true);
1442 void removeEvent(
const std::string &eid,
bool forceRegenerate =
true);
1452 double mcaSteadyState();
1471 ls::DoubleMatrix steadyStateNamedArray(
const Dictionary *dict = 0);
1476 std::vector<rr::SelectionRecord> &getSteadyStateSelections();
1482 void setSteadyStateSelections(
const std::vector<std::string> &
1483 steadyStateSelections);
1489 void setSteadyStateSelections(
const std::vector<rr::SelectionRecord> &
1490 steadyStateSelections);
1497 std::vector<double> getSteadyStateValues();
1502 std::vector<std::string> getSteadyStateSelectionStrings()
const;
1507 ls::DoubleMatrix getSteadyStateValuesNamedArray();
1514 void regenerateModel(
bool forceRegenerate =
true,
bool reset =
false);
1550 std::vector<std::string> getAssignmentRuleIds();
1555 std::vector<std::string> getRateRuleIds();
1560 std::vector<std::string> getInitialAssignmentIds();
1582 void setGlobalParameterByName(
const std::string ¶m,
double value);
1589 double getGlobalParameterByName(
const std::string ¶m);
1599 std::vector<double> getConservedMoietyValues();
1601 std::vector<std::string> getConservedMoietyIds();
1606 void setSeed(
long int seed,
bool resetModel =
true);
1611 int64_t getSeed(
const std::string &integratorName=
"");
1641 std::vector<std::string> getRateOfChangeIds();
1676 void setBoundarySpeciesAmounts(
const std::vector<double> &values);
1696 std::vector<double> getFloatingSpeciesConcentrationsV();
1701 std::vector<double> getFloatingSpeciesAmountsV();
1706 std::vector<double> getBoundarySpeciesConcentrationsV();
1711 std::vector<double> getBoundarySpeciesAmountsV();
1727 const double &value);
1788 void setTempDir(
const std::string &folder);
1796 std::string getTempDir();
1801 static const libsbml::SBase* getElementWithMathematicalMeaning(
const libsbml::Model* model,
const std::string&
id);
1812 static bool llvmInitialized;
1813 static bool solversRegistered;
1821 const int fileMagicNumber = 0xAD6F52;
1822 const int dataVersionNumber;
1824 void fixDependentSpeciesValues(
int except,
double *ref);
1831 size_t createDefaultSteadyStateSelectionList();
1833 size_t createDefaultTimeCourseSelectionList();
1839 void getSelectedValues(ls::DoubleMatrix &results,
int nRow,
1840 double currentTime);
1845 void getSelectedValues(std::vector<double> &results,
double currentTime);
1847 bool populateResult();
1850 double getNthSelectedOutput(
size_t index,
double currentTime);
1852 bool isParameterUsed(
const std::string &sid);
1854 void getAllVariables(
const libsbml::ASTNode *node, std::set<std::string> &ids);
1857 int getTimeRowIndex();
1860 vtSpecies = 0, vtFlux
1863 double getVariableValue(
const VariableType variableType,
1864 const int variableIndex);
1869 ls::LibStructural *getLibStruct();
1877 bool createDefaultSelectionLists();
1883 size_t createTimeCourseSelectionList();
1885 std::vector<SelectionRecord> getSelectionList();
1892 void applySimulateOptions();
1896 JACOBIAN_FULL, JACOBIAN_REDUCED
1899 std::vector<std::complex<double> > getEigenValues(JacobianMode mode);
1901 ls::DoubleMatrix getEigenValuesNamedArray(JacobianMode mode);
1906 void checkID(
const std::string &functionName,
const std::string &sid);
1911 void parseSpecies(
const std::string &species,
double *stoichiometry,
char **sid);
1916 void removeVariable(
const std::string &sid);
1921 bool hasVariable(
const libsbml::ASTNode *node,
const std::string &sid);
1926 void getSpeciesIdsFromAST(
const libsbml::ASTNode *node, std::vector<std::string> &species);
1928 void getSpeciesIdsFromAST(
const libsbml::ASTNode *node, std::vector<std::string> &species,
1929 std::vector<std::string> &speciesNames);
1931 void saveSelectionVector(std::ostream &, std::vector<SelectionRecord> &);
1933 void loadSelectionVector(std::istream &, std::vector<SelectionRecord> &);
interface to manipulate 'compiler' settings.
Definition: rrCompiler.h:26
This class is frozen, no new features A dictionary interface that objects can implement.
Definition: Dictionary.h:30
Base class for all code generation systems; allows compiling and evaluating the model.
Definition: rrExecutableModel.h:118
Integrator is an abstract base class that provides an interface to specific integrator class implemen...
Definition: Integrator.h:60
A basic local 3D version of the Matrix class, based on initializer_list.
Definition: Matrix3D.h:17
implemention class, hide all details here.
Definition: rrRoadRunner.cpp:184
The main RoadRunner class.
Definition: rrRoadRunner.h:59
a way to find sbml model elements using the RoadRunner syntax.
Definition: rrSelectionRecord.h:18
generic interface for all SensitivitySolvers
Definition: SensitivitySolver.h:22
This class is frozen, no new features RoadRunner simulation options.
Definition: rrRoadRunnerOptions.h:294
SteadyStateSolver is an abstract base class that provides an interface to specific steady-state solve...
Definition: SteadyStateSolver.h:38
C_DECL_SPEC char *rrcCallConv getModelId(RRHandle handle)
Returns the id of currently loaded SBML model.
C_DECL_SPEC void rrcCallConv setModelName(RRHandle handle, char *name)
Sets the name of currently loaded SBML model.
C_DECL_SPEC void rrcCallConv setModelId(RRHandle handle, char *id)
Sets the id of currently loaded SBML model.
C_DECL_SPEC char *rrcCallConv getModelName(RRHandle handle)
Returns the name of currently loaded SBML model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getReducedJacobian(RRHandle handle)
Retrieve the reduced Jacobian for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getFullJacobian(RRHandle handle)
Retrieve the full Jacobian for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getNrMatrix(RRHandle handle)
Retrieve the reduced stoichiometry matrix for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getConservationMatrix(RRHandle handle)
Retrieve the conservation matrix for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getL0Matrix(RRHandle handle)
Returns the L0 Matrix.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getLinkMatrix(RRHandle handle)
Retrieve the Link matrix for the current model.
C_DECL_SPEC bool rrcCallConv setBoundarySpeciesByIndex(RRHandle handle, const unsigned int index, const double value)
Set the concentration for a particular boundary species.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getBoundarySpeciesConcentrationIds(RRHandle handle)
Obtain the list of boundary species concentration Ids.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getBoundarySpeciesIds(RRHandle handle)
Obtain the list of boundary species Ids.
C_DECL_SPEC bool rrcCallConv getBoundarySpeciesByIndex(RRHandle handle, const int index, double *value)
Retrieve the concentration for a particular floating species.
C_DECL_SPEC int rrcCallConv getNumberOfBoundarySpecies(RRHandle handle)
Returns the number of boundary species in the model.
C_DECL_SPEC bool rrcCallConv setBoundarySpeciesConcentrations(RRHandle handle, const RRVectorPtr vec)
Set the boundary species concentration to the vector vec.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getCompartmentIds(RRHandle handle)
Obtain the list of compartment Ids.
C_DECL_SPEC bool rrcCallConv getCompartmentByIndex(RRHandle handle, const int index, double *value)
Retrieve the compartment volume for a particular compartment.
C_DECL_SPEC bool rrcCallConv setCompartmentByIndex(RRHandle handle, const int index, const double value)
Set the volume for a particular compartment.
C_DECL_SPEC int rrcCallConv getNumberOfCompartments(RRHandle handle)
Returns the number of compartments in the model.
C_DECL_SPEC bool rrcCallConv removeEventAssignments(RRHandle handle, const char *eid, const char *vid)
Remove event assignments for given variable from an existing event.
C_DECL_SPEC bool rrcCallConv removeReaction(RRHandle handle, const char *rid)
Remove a reaction from the current model.
C_DECL_SPEC bool rrcCallConv addSpeciesConcentration(RRHandle handle, const char *sid, const char *compartment, double initialConcentration, bool hasOnlySubstanceUnits, bool boundaryCondition)
Add a species to the current model.
C_DECL_SPEC bool rrcCallConv setHasOnlySubstanceUnits(RRHandle handle, const char *sid, bool hasOnlySubstanceUnits)
Set the hasOnlySubstanceUnits attribute for an existing species.
C_DECL_SPEC bool rrcCallConv setReversible(RRHandle handle, const char *rid, bool reversible)
Set the reversible attribut for an existing reaction in the current model.
C_DECL_SPEC bool rrcCallConv addEvent(RRHandle handle, const char *eid, bool useValuesFromTriggerTime, const char *trigger)
Add an event to the current model.
C_DECL_SPEC bool rrcCallConv setInitConcentration(RRHandle handle, const char *sid, double initConcentration)
Set initial concentration for an existing species. Initial amount/concentration set before will be un...
C_DECL_SPEC bool rrcCallConv setPersistent(RRHandle handle, const char *eid, bool persistent)
Set the persistent attribute of the trigger of given event.
C_DECL_SPEC bool rrcCallConv validateCurrentSBML(RRHandle handle)
Validate the current SBML file.
C_DECL_SPEC bool rrcCallConv setKineticLaw(RRHandle handle, const char *rid, const char *kineticLaw)
Set the kinetic law for a existing reaction in the current model.
C_DECL_SPEC bool rrcCallConv setConstant(RRHandle handle, const char *sid, bool constant)
Set the constant attribute for an existing species/ parameter/ compartment.
C_DECL_SPEC bool rrcCallConv addRateRule(RRHandle handle, const char *vid, const char *formula)
Add a rate rule to the current model.
C_DECL_SPEC bool rrcCallConv addPriority(RRHandle handle, const char *eid, const char *priority)
Add priority to an existing event in the model If the given event already has a priority object,...
C_DECL_SPEC bool rrcCallConv addCompartment(RRHandle handle, const char *cid, double initVolume)
Add a compartment to the current model.
C_DECL_SPEC bool rrcCallConv setBoundary(RRHandle handle, const char *sid, bool boundaryCondition)
Set the boundary condition of an existing species.
C_DECL_SPEC bool rrcCallConv setInitAmount(RRHandle handle, const char *sid, double initAmount)
Set initial amount for an existing species. Initial amount/concentration set before will be unset.
C_DECL_SPEC bool rrcCallConv addEventAssignment(RRHandle handle, const char *eid, const char *vid, const char *formula)
Add an event assignment to an existing event in the current model.
C_DECL_SPEC bool rrcCallConv addReaction(RRHandle handle, const char *rid, const char **reactants, int numReactants, const char **products, int numProducts, const char *kineticLaw)
Add a reaction to the current model.
C_DECL_SPEC bool rrcCallConv addTrigger(RRHandle handle, const char *eid, const char *trigger)
Add trigger to an existing event in the model If the given event already has a trigger object,...
C_DECL_SPEC bool rrcCallConv addAssignmentRule(RRHandle handle, const char *vid, const char *formula)
Add an assignment rule to the current model.
C_DECL_SPEC bool rrcCallConv removeParameter(RRHandle handle, const char *pid)
Remove a parameter from the current model.
C_DECL_SPEC bool rrcCallConv removeRules(RRHandle handle, const char *vid)
Remove rules related to given variable from the current model.
C_DECL_SPEC bool rrcCallConv setTriggerInitialValue(RRHandle handle, const char *eid, bool initValue)
Set the initial value attribute of the trigger of given event.
C_DECL_SPEC bool rrcCallConv addParameter(RRHandle handle, const char *pid, double value)
Add a parameter to the current model.
C_DECL_SPEC bool rrcCallConv addDelay(RRHandle handle, const char *eid, const char *delay)
Add delay to an existing event in the model If the given event already has a delay object,...
C_DECL_SPEC char *rrcCallConv getKineticLaw(RRHandle handle, const char *rid)
Get the kinetic law for a existing reaction in the current model.
C_DECL_SPEC bool rrcCallConv addSpeciesAmount(RRHandle handle, const char *sid, const char *compartment, double initialAmount, bool hasOnlySubstanceUnits, bool boundaryCondition)
Add a species to the current model.
C_DECL_SPEC bool rrcCallConv removeSpecies(RRHandle handle, const char *sid)
Remove a species from the current model.
C_DECL_SPEC bool rrcCallConv removeCompartment(RRHandle handle, const char *cid)
Remove a compartment from the current model.
C_DECL_SPEC bool rrcCallConv removeEvent(RRHandle handle, const char *eid)
Remove an event from the current model.
C_DECL_SPEC bool rrcCallConv setFloatingSpeciesInitialConcentrationByIndex(RRHandle handle, int index, double value)
Set the initial concentration for a particular floating species.
C_DECL_SPEC int rrcCallConv getNumberOfDependentSpecies(RRHandle handle)
Returns the number of dependent species in the model.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getDependentFloatingSpeciesIds(RRHandle handle)
Obtain the list of dependent floating species Id.
C_DECL_SPEC bool rrcCallConv setFloatingSpeciesByIndex(RRHandle handle, const int index, const double value)
Set the concentration for a particular floating species.
C_DECL_SPEC bool rrcCallConv getFloatingSpeciesByIndex(RRHandle handle, const int index, double *value)
Retrieve the concentration for a particular floating species.
C_DECL_SPEC int rrcCallConv getNumberOfFloatingSpecies(RRHandle handle)
Returns the number of floating species in the model.
C_DECL_SPEC bool rrcCallConv setFloatingSpeciesConcentrations(RRHandle handle, const RRVectorPtr vec)
Set the floating species concentration to the vector vec.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesIds(RRHandle handle)
Obtain the list of floating species Id.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getIndependentFloatingSpeciesIds(RRHandle handle)
Obtain the list of independent floating species Id.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesConcentrationIds(RRHandle handle)
Obtain the list of floating species concentrations Id.
C_DECL_SPEC int rrcCallConv getNumberOfIndependentSpecies(RRHandle handle)
Returns the number of independent species in the model.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConditionIds(RRHandle handle)
Get the initial floating species Ids.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getFloatingSpeciesInitialConcentrationIds(RRHandle handle)
Get the initial floating species Ids.
C_DECL_SPEC bool rrcCallConv setFloatingSpeciesInitialConcentrations(RRHandle handle, const RRVectorPtr vec)
Set the initial floating species concentrations.
C_DECL_SPEC RRVectorPtr rrcCallConv getFloatingSpeciesInitialConcentrations(RRHandle handle)
Get the initial floating species concentrations.
C_DECL_SPEC bool rrcCallConv isModelLoaded(RRHandle handle)
check if a model is loaded
C_DECL_SPEC char *rrcCallConv getSBML(RRHandle handle)
Retrieve the SBML model that was last loaded into roadRunner.
C_DECL_SPEC bool rrcCallConv loadState(RRHandle handle, const char *filename)
Reload a road runner instance's state saved by saveState.
C_DECL_SPEC bool rrcCallConv clearModel(RRHandle handle)
Unload current model.
C_DECL_SPEC char *rrcCallConv getCurrentSBML(RRHandle handle)
Retrieve the current state of the model in the form of an SBML string.
C_DECL_SPEC bool rrcCallConv saveState(RRHandle handle, const char *filename)
Save a road runner instance's state to a platform-specific binary file.
C_DECL_SPEC bool rrcCallConv getuEE(RRHandle handle, const char *name, const char *species, double *value)
Retrieve a single unscaled elasticity coefficient.
C_DECL_SPEC bool rrcCallConv setDiffStepSize(RRHandle handle, const double value)
Sets the differential step size used in routines such as getCC.
C_DECL_SPEC bool rrcCallConv getCC(RRHandle handle, const char *variable, const char *parameter, double *value)
Retrieve a single control coefficient.
C_DECL_SPEC bool rrcCallConv getEE(RRHandle handle, const char *name, const char *species, double *value)
Retrieve a single elasticity coefficient.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledElasticityMatrix(RRHandle handle)
Retrieve the unscaled elasticity matrix for the current model.
C_DECL_SPEC bool rrcCallConv getDiffStepSize(RRHandle handle, double *value)
Retrieve the differential step size used in routines such as getCC.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledElasticityMatrix(RRHandle handle)
Retrieve the scaled elasticity matrix for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledFluxControlCoefficientMatrix(RRHandle handle)
Retrieve the matrix of unscaled flux control coefficients for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledFluxControlCoefficientMatrix(RRHandle handle)
Retrieve the matrix of scaled flux control coefficients for the current model.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getUnscaledConcentrationControlCoefficientMatrix(RRHandle handle)
Retrieve the matrix of unscaled concentration control coefficients for the current model.
C_DECL_SPEC bool rrcCallConv getScaledFloatingSpeciesElasticity(RRHandle handle, const char *reactionId, const char *speciesId, double *value)
Retrieve the scaled elasticity matrix for the current model.
C_DECL_SPEC bool rrcCallConv getuCC(RRHandle handle, const char *variable, const char *parameter, double *value)
Retrieve a single unscaled control coefficient.
C_DECL_SPEC RRDoubleMatrixPtr rrcCallConv getScaledConcentrationControlCoefficientMatrix(RRHandle handle)
Retrieve the matrix of scaled concentration control coefficients for the current model.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getGlobalParameterIds(RRHandle handle)
Obtain the list of global parameter Ids.
C_DECL_SPEC bool rrcCallConv setGlobalParameterByIndex(RRHandle handle, const int index, const double value)
Set the value for a particular global parameter.
C_DECL_SPEC int rrcCallConv getNumberOfGlobalParameters(RRHandle handle)
Returns the number of global parameters in the model.
C_DECL_SPEC RRVectorPtr rrcCallConv getGlobalParameterValues(RRHandle handle)
Retrieve the values for all the global parameter values in a vector.
C_DECL_SPEC bool rrcCallConv getGlobalParameterByIndex(RRHandle handle, const int index, double *value)
Retrieve the global parameter value.
C_DECL_SPEC bool rrcCallConv getRateOfChange(RRHandle handle, const int, double *value)
Retrieve the rate of change for a given floating species.
C_DECL_SPEC RRVectorPtr rrcCallConv getRatesOfChange(RRHandle handle)
Retrieve the vector of rates of change as determined by the current state of the model.
C_DECL_SPEC bool rrcCallConv getReactionRate(RRHandle handle, const int index, double *rate)
Retrieve a give reaction rate as indicated by the index parameter.
C_DECL_SPEC RRStringArrayPtr rrcCallConv getReactionIds(RRHandle handle)
Obtain the list of reaction Ids.
C_DECL_SPEC int rrcCallConv getNumberOfReactions(RRHandle handle)
Obtain the number of reactions in the loaded model.
C_DECL_SPEC RRVectorPtr rrcCallConv getReactionRates(RRHandle handle)
Retrieve a vector of reaction rates as determined by the current state of the model.
C_DECL_SPEC bool rrcCallConv reset(RRHandle handle)
Resets all variables of the model to their current initial values. Does not change the parameters.
C_DECL_SPEC bool rrcCallConv oneStep(RRHandle handle, const double currentTime, const double stepSize, double *value)
Carry out a one step integration of the model.
C_DECL_SPEC RRCDataPtr rrcCallConv simulate(RRHandle handle)
Carry out a time-course simulation. setTimeStart, setTimeEnd, setNumPoints, etc are used to set the s...
C_DECL_SPEC bool rrcCallConv evalModel(RRHandle handle)
Evaluate the current model, that it update all assignments and rates of change. Do not carry out an i...
C_DECL_SPEC bool rrcCallConv getValue(RRHandle handle, const char *symbolId, double *value)
Get the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols.
C_DECL_SPEC bool rrcCallConv setValue(RRHandle handle, const char *symbolId, const double value)
Set the value for a given symbol, use getAvailableTimeCourseSymbols(void) for a list of symbols.
C_DECL_SPEC bool rrcCallConv steadyState(RRHandle handle, double *value)
Compute the steady state of the current model.
C_DECL_SPEC bool rrcCallConv setCompiler(RRHandle handle, const char *fNameWithPath)
Set the path and filename to the compiler to be used by roadrunner.
C_DECL_SPEC char *rrcCallConv getInfo(RRHandle handle)
Retrieve info about current state of roadrunner, e.g. loaded model, conservationAnalysis etc.
C_DECL_SPEC char *rrcCallConv getCompiler(RRHandle handle)
Get the name of the compiler currently being used by roadrunner.
C_DECL_SPEC char *rrcCallConv getParamPromotedSBML(RRHandle handle, const char *sArg)
Promote any local parameters to global status.
C_DECL_SPEC bool rrcCallConv addInitialAssignment(RRHandle handle, const char *vid, const char *formula, bool forceRegenerate)
Add an initial assignment to an exsiting symbol of the current model.
A set of options that determine how the top level RoadRunner class should behave.
Definition: rrRoadRunnerOptions.h:424