COPASI API  4.40.278
CSBMLExporter Class Reference

#include <CSBMLExporter.h>

Public Member Functions

virtual void clearCallBack ()
 
bool createProgressStepOrStop (unsigned C_INT32 globalStep, unsigned C_INT32 currentTotal, const std::string &title)
 
 CSBMLExporter ()
 
void disownSBMLDocument ()
 
bool exportLayout (unsigned int sbmlLevel, CDataModel &dataModel)
 
bool exportModel (CDataModel &dataModel, const std::string &filename, unsigned int sbmlLevel=2, unsigned int sbmlVersion=1, bool overwrite=false)
 
const std::string exportModelToString (CDataModel &dataModel, unsigned int sbmlLevel, unsigned int sbmlVersion)
 
void finishCurrentStep ()
 
void finishExport ()
 
const CProcessReportgetCallBack () const
 
const std::map< const CDataObject *, SBase * > & getCOPASI2SBMLMap () const
 
SBMLDocument * getSBMLDocument ()
 
bool isSetExportCOPASIMIRIAM () const
 
bool reportCurrentProgressOrStop ()
 
void setExportCOPASIMIRIAM (bool exportMIRIAM)
 
void setHandler (CProcessReport *pProcessReport)
 
 ~CSBMLExporter ()
 

Static Public Member Functions

static XMLNode * createSBMLNotes (const std::string &notes_string)
 
static const std::string createUniqueId (const std::map< std::string, const SBase * > &idMap, const std::string &prefix, bool addIndexForFirst, const std::string &separator="_")
 
static const std::vector< SBMLIncompatibilityisModelSBMLCompatible (const CDataModel &pDataModel, int sbmlLevel, int sbmlVersion, std::map< std::string, const SBase * > &idMap)
 

Protected Member Functions

void addInitialAssignmentsToModel (const CDataModel &dataModel)
 
void assignSBMLIdsToReactions (CModel *pModel)
 
void checkForUnsupportedFunctionCalls (const CDataModel &dataModel, unsigned int sbmlLEvel, unsigned int sbmlVersion, std::vector< SBMLIncompatibility > &result)
 
void checkForUnsupportedObjectReferences (const CDataModel &dataModel, unsigned int sbmlLevel, unsigned int sbmlVersion, std::vector< SBMLIncompatibility > &result)
 
void collectIds (const CDataModel &dataModel, std::map< std::string, const SBase * > &idMap)
 
ASTNode * convertToASTNode (const CEvaluationNode *pOrig, CDataModel &dataModel)
 
void convertToLevel1 ()
 
void createAreaUnit (const CDataModel &dataModel)
 
void createAvogadroIfNeeded (const CDataModel &dataModel)
 
void createCompartment (const CCompartment &compartment)
 
bool createCompartments (CDataModel &dataModel)
 
void createEvent (const CEvent &event, Event *pSBMLEvent, CDataModel &dataModel)
 
bool createEvents (CDataModel &dataModel)
 
void createFunctionDefinition (CFunction &function, CDataModel &dataModel)
 
bool createFunctionDefinitions (CDataModel &dataModel)
 
const std::map< std::string, const SBase * > createIdMap (const Model &sbmlModel)
 
void createInitialAssignment (const CModelEntity &modelEntity, CDataModel &dataModel)
 
bool createInitialAssignments (CDataModel &dataModel)
 
CEvaluationNodecreateKineticExpression (CFunction *pFun, const std::vector< std::vector< const CDataObject * > > &arguments)
 
KineticLaw * createKineticLaw (const CReaction &reaction, CDataModel &dataModel, unsigned int level, unsigned int version)
 
void createLengthUnit (const CDataModel &dataModel)
 
void createMetabolite (const CMetab &metab)
 
bool createMetabolites (CDataModel &dataModel)
 
void createParameter (const CModelValue &parameter)
 
bool createParameters (CDataModel &dataModel)
 
void createReaction (const CReaction &reaction, CDataModel &dataModel)
 
bool createReactions (CDataModel &dataModel)
 
void createRule (const CModelEntity &modelEntity, CDataModel &dataModel, Rule *pOldRule)
 
bool createRules (CDataModel &dataModel)
 
bool createSBMLDocument (CDataModel &dataModel)
 
void createSubstanceUnit (const CDataModel &dataModel)
 
void createTimeUnit (const CDataModel &dataModel)
 
UnitDefinition * createUnitDefinitionFor (const CUnit &unit)
 creates and SBML UnitDefinition for the given unit More...
 
void createUnits (const CDataModel &dataModel)
 
void createVolumeUnit (const CDataModel &dataModel)
 
void exportAndAssignUnit (const CUnit &unit, SBase *sbmlElement)
 exports the given unit to the sbmlElement More...
 
void exportEventAssignments (const CEvent &event, Event *pSBMLEvent, CDataModel &dataModel)
 
void findAvogadro (const CDataModel &dataModel)
 
bool hasVolumeAssignment (const CDataModel &dataModel)
 
std::vector< const CModelEntity * > orderRules (const CDataModel &dataModel)
 
void outputIncompatibilities () const
 
void removeInitialAssignment (const std::string &sbmlId)
 
void removeRule (const std::string &sbmlId)
 
void removeUnusedObjects ()
 
void replace_local_parameters (ASTNode *pOrigNode, const CDataModel &dataModel)
 
XMLNode * replaceChild (const XMLNode *pParent, const XMLNode *pNewChild, unsigned int index)
 
CEvaluationNodereplaceSpeciesReferences (const CEvaluationNode *pOrigNode, const CDataModel &dataModel)
 
void restore_local_parameters (ASTNode *pOrigNode, const CDataModel &dataModel)
 
void setFunctionSBMLIds (const CEvaluationNode *pNode, CDataModel &dataModel)
 
void updateCOPASI2SBMLMap (const CDataModel &dataModel)
 
bool updateMIRIAMAnnotation (const CDataObject *pCOPASIObject, SBase *pSBMLObject, std::map< std::string, const SBase * > &metaIds)
 

Static Protected Member Functions

static bool checkForEvents (const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void checkForInitialAssignments (const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void checkForODESpeciesInNonfixedCompartment (const CDataModel &dataModel, std::vector< SBMLIncompatibility > result)
 
static void checkForPiecewiseFunctions (const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void checkForPiecewiseFunctions (const CEvaluationNode &node, std::vector< SBMLIncompatibility > &result, const std::string &objectName, const std::string &objectType)
 
static void checkForUnsupportedFunctionCalls (const CEvaluationNode &node, const std::set< CEvaluationNode::SubType > &unsupportedFunctions, std::vector< SBMLIncompatibility > &result, const std::string &objectDescription)
 
static void checkForUnsupportedObjectReferences (const CEvaluationTree &expression, const CDataModel &dataModel, unsigned int sbmlLevel, unsigned int sbmlVersion, std::vector< SBMLIncompatibility > &result, std::map< std::string, const SBase * > &idMap, bool initialExpression=false, std::map< const std::string, Parameter * > *initialMap=NULL)
 
static void convert_to_l1v1 (std::string &l1v2_string)
 
static ASTNode * convertASTTreeToLevel1 (const ASTNode *pNode, const ListOfFunctionDefinitions &functions, std::string &message)
 
static const std::set< CFunction * > createFunctionSetFromFunctionNames (const std::set< std::string > &names, CFunctionDB *pFunDB)
 
static CEvaluationNodecreateMassActionExpression (const std::vector< std::vector< const CDataObject * > > &arguments, bool isReversible)
 
static ASTNode * createTimesTree (const CDataVector< CChemEqElement > &vect, unsigned int pos=0)
 
static const std::set< CEvaluationNode::SubTypecreateUnsupportedFunctionTypeSet (unsigned int sbmlLevel)
 
static void findDirectlyUsedFunctions (const CEvaluationNode *pRootNode, std::set< std::string > &result)
 
static void findModelEntityDependencies (const CEvaluationNode *pNode, const CDataModel &dataModel, std::set< const CModelEntity * > &dependencies)
 
static const std::vector< CFunction * > findUsedFunctions (std::set< CFunction * > &functions, CFunctionDB *pFunctionDB)
 
static ASTNode * isDividedByVolume (const ASTNode *pRootNode, const std::string &compartmentId)
 
static void isEventAssignmentSBMLCompatible (const CDataObject *pTarget, const CExpression *pExpression, const CDataModel &dataModel, unsigned int sbmlLevel, unsigned int sbmlVersion, const std::string &eventName, std::vector< SBMLIncompatibility > &result, std::map< std::string, const SBase * > &idMap)
 
static void isEventSBMLCompatible (const CEvent *pEvent, const CDataModel &dataModel, unsigned int sbmlLevel, unsigned int sbmlVersion, std::vector< SBMLIncompatibility > &result, std::map< std::string, const SBase * > &idMap)
 
static void isExpressionSBMLCompatible (const CEvaluationTree &expr, const CDataModel &dataModel, int sbmlLevel, int sbmlVersion, std::vector< SBMLIncompatibility > &result, std::map< std::string, const SBase * > &idMap, const std::string &objectDescription, bool initialExression=false, std::map< const std::string, Parameter * > *initialMap=NULL)
 
static void isExpressionSBMLL1Compatible (const CEvaluationTree &expr, const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void isExpressionSBMLL2V1Compatible (const CEvaluationTree &expr, const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void isExpressionSBMLL2V3Compatible (const CEvaluationTree &expression, const CDataModel &pDataModel, std::vector< SBMLIncompatibility > &result)
 
static void isModelSBMLL1Compatible (const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void isModelSBMLL2V1Compatible (const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static void isModelSBMLL2V3Compatible (const CDataModel &dataModel, std::vector< SBMLIncompatibility > &result)
 
static bool isValidSId (const std::string &id)
 
static CEvaluationNodemultiplyByObject (const CEvaluationNode *pOrigNode, const CDataObject *pObject)
 
static ASTNode * replaceL1IncompatibleNodes (const ASTNode *pNode)
 
static bool setSBMLNotes (SBase *pSBase, const CAnnotation *pAnno)
 

Protected Attributes

std::vector< const CModelEntity * > mAssignmentVector
 
bool mAvogadroCreated
 
std::string mAvogadroId
 
std::map< const CDataObject *, SBase * > mCOPASI2SBMLMap
 
unsigned C_INT32 mCurrentStepCounter
 
size_t mCurrentStepHandle
 
unsigned C_INT32 mCurrentStepTotal
 
bool mDocumentDisowned
 
bool mExportCOPASIMIRIAM
 
ListOfFunctionDefinitions mExportedFunctions
 
std::map< std::string, const CEvaluationTree * > mFunctionIdMap
 
std::map< const FunctionDefinition *, const CDataObject * > mFunctionMap
 
unsigned C_INT32 mGlobalStepCounter
 
size_t mGlobalStepHandle
 
unsigned C_INT32 mGlobalStepTotal
 
std::set< SBase * > mHandledSBMLObjects
 
std::map< std::string, const SBase * > mIdMap
 
std::vector< SBMLIncompatibilitymIncompatibilities
 
bool mIncompleteExport
 
std::vector< const CModelEntity * > mInitialAssignmentVector
 
std::map< const std::string, Parameter * > mInitialValueMap
 
std::map< std::string, const SBase * > mMetaIdMap
 
bool mMIRIAMWarning
 
std::vector< const CModelEntity * > mODEVector
 
std::map< std::string, Parameter * > mParameterReplacementMap
 
const CModelValuempAvogadro
 
CProcessReportmpProcessReport
 
SBMLDocument * mpSBMLDocument
 
unsigned int mSBMLLevel
 
unsigned int mSBMLVersion
 
std::set< std::string > mSpatialSizeUnitsSpecies
 
std::set< CFunction * > mUsedFunctions
 
bool mVariableVolumes
 

Constructor & Destructor Documentation

◆ CSBMLExporter()

CSBMLExporter::CSBMLExporter ( )

Default constructor

◆ ~CSBMLExporter()

CSBMLExporter::~CSBMLExporter ( )

Destructor

References mDocumentDisowned, mpSBMLDocument, and pdelete.

Member Function Documentation

◆ addInitialAssignmentsToModel()

void CSBMLExporter::addInitialAssignmentsToModel ( const CDataModel dataModel)
protected

◆ assignSBMLIdsToReactions()

void CSBMLExporter::assignSBMLIdsToReactions ( CModel pModel)
protected

Since we want to replace local reaction parameters by global parameters if they are used in an assignment, we have to create the reactions after creating the rules and events. On the other hand, a reaction flux might also be referenced in an assignment or an event and the creation of this rule or event only works if the reactions already have SBML ids. To solve this problem, the reactions have to be assigned SBML ids prior to creating rules and events.

References CDataVector< CType >::begin(), createUniqueId(), CDataVector< CType >::empty(), CDataVector< CType >::end(), CDataObject::getObjectName(), CModel::getReactions(), and mIdMap.

Referenced by createSBMLDocument().

◆ checkForEvents()

bool CSBMLExporter::checkForEvents ( const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks if the given datamodel contains events. This is called if SBML Level 1 is to be exported.

Returns
false if an event was used in the model, true otherwise

References CDataVector< CType >::empty(), CModel::getEvents(), and CDataModel::getModel().

Referenced by createEvents(), and isModelSBMLL1Compatible().

◆ checkForInitialAssignments()

void CSBMLExporter::checkForInitialAssignments ( const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

◆ checkForODESpeciesInNonfixedCompartment()

void CSBMLExporter::checkForODESpeciesInNonfixedCompartment ( const CDataModel dataModel,
std::vector< SBMLIncompatibility result 
)
staticprotected

Checks whether the model contains a metabolite that is defined by an ODE expression and that is located in a variable volume. Since COPASI interprets the expression differently from SBML, we can not correctly export this yet. See Bug 903.

References CDataVector< CType >::begin(), CDataVector< CType >::end(), CModelEntity::FIXED, CModel::getMetabolites(), CDataModel::getModel(), CDataObject::getObjectName(), CModelEntity::getStatus(), and CModelEntity::ODE.

Referenced by isModelSBMLCompatible().

◆ checkForPiecewiseFunctions() [1/2]

◆ checkForPiecewiseFunctions() [2/2]

void CSBMLExporter::checkForPiecewiseFunctions ( const CEvaluationNode node,
std::vector< SBMLIncompatibility > &  result,
const std::string &  objectName,
const std::string &  objectType 
)
staticprotected

Checks the given node and all it's children for the occurrence of piecewise functions.

References checkForPiecewiseFunctions(), CEvaluationNode::CHOICE, CCopasiNode< _Data >::getChild(), CCopasiNode< _Data >::getSibling(), and CEvaluationNode::mainType().

◆ checkForUnsupportedFunctionCalls() [1/2]

void CSBMLExporter::checkForUnsupportedFunctionCalls ( const CDataModel dataModel,
unsigned int  sbmlLevel,
unsigned int  sbmlVersion,
std::vector< SBMLIncompatibility > &  result 
)
protected

This methods checks, whether the model uses any function calls that can not be expressed in SBML like the random distribution functions.

This static methods checks, whether the model uses any function calls that can not be expressed in SBML like the random distribution functions.

References createUnsupportedFunctionTypeSet(), CModelEntity::getExpressionPtr(), CModelEntity::getInitialExpressionPtr(), CDataObject::getObjectName(), CDataObject::getObjectType(), CEvaluationTree::getRoot(), mAssignmentVector, mInitialAssignmentVector, mODEVector, and mUsedFunctions.

Referenced by checkForUnsupportedFunctionCalls(), and isExpressionSBMLCompatible().

◆ checkForUnsupportedFunctionCalls() [2/2]

void CSBMLExporter::checkForUnsupportedFunctionCalls ( const CEvaluationNode node,
const std::set< CEvaluationNode::SubType > &  unsupportedFunctions,
std::vector< SBMLIncompatibility > &  result,
const std::string &  objectDescription 
)
staticprotected

This static methods checks recursively, whether the given CEvaluationNode contains any function calls that can not be expressed in SBML like the random distribution functions.

This static methods checks recursively, whether the given CEvaluationNode constains any function calls that can not be expressed in SBML like the random distribution functions.

References checkForUnsupportedFunctionCalls(), CEvaluationNode::FUNCTION, CCopasiNode< _Data >::getChild(), CCopasiNode< _Data >::getData(), CCopasiNode< _Data >::getSibling(), CEvaluationNode::mainType(), and CEvaluationNode::subType().

◆ checkForUnsupportedObjectReferences() [1/2]

void CSBMLExporter::checkForUnsupportedObjectReferences ( const CDataModel dataModel,
unsigned int  sbmlLevel,
unsigned int  sbmlVersion,
std::vector< SBMLIncompatibility > &  result 
)
protected

Checks all assignments (initial and transient) for references to objects that can not be exported to SBML.

References CModelEntity::getExpressionPtr(), CModelEntity::getInitialExpressionPtr(), CDataModel::getModel(), mAssignmentVector, mIdMap, mInitialAssignmentVector, mInitialValueMap, and mODEVector.

Referenced by isExpressionSBMLCompatible().

◆ checkForUnsupportedObjectReferences() [2/2]

void CSBMLExporter::checkForUnsupportedObjectReferences ( const CEvaluationTree expression,
const CDataModel dataModel,
unsigned int  sbmlLevel,
unsigned int  sbmlVersion,
std::vector< SBMLIncompatibility > &  result,
std::map< std::string, const SBase * > &  idMap,
bool  initialExpression = false,
std::map< const std::string, Parameter * > *  initialMap = NULL 
)
staticprotected

◆ clearCallBack()

void CSBMLExporter::clearCallBack ( )
virtual

resets the currently set callback by calling setHandler(NULL)

References setHandler().

◆ collectIds()

void CSBMLExporter::collectIds ( const CDataModel dataModel,
std::map< std::string, const SBase * > &  idMap 
)
protected

◆ convert_to_l1v1()

void CSBMLExporter::convert_to_l1v1 ( std::string &  l1v2_string)
staticprotected

Converts the SBML model given in SBML Level 1 Version 2 format to SBML Level 1 Version 1. The method basically removes the namespace attribute on the sbml element and changes the version from 2 to 1. It also renames all "species" elements to "specie". All other changes between SBML Level 1 Version 2 and Level 1 Version 1 should not be relevant here.

References CCopasiMessage::EXCEPTION.

◆ convertASTTreeToLevel1()

ASTNode * CSBMLExporter::convertASTTreeToLevel1 ( const ASTNode *  pNode,
const ListOfFunctionDefinitions &  functions,
std::string &  message 
)
staticprotected

Creates an ASTNode based tree where all occurrences of nodes that are not supported in SBML Level 1 are replaced by supported constructs. On error an exception is created. The caller is responsible for freeing the memory of the returned object.

References CCopasiMessage::EXCEPTION, MCSBML, and replaceL1IncompatibleNodes().

Referenced by convertToLevel1().

◆ convertToASTNode()

ASTNode * CSBMLExporter::convertToASTNode ( const CEvaluationNode pOrig,
CDataModel dataModel 
)
protected

This converts an CEvaluationNode based tree to an ASTNode tree. It makes sure that all functions used in function calls already have a unique SBML id.

References adjustNames(), mIdMap, mpSBMLDocument, setFunctionSBMLIds(), and CEvaluationNode::toAST().

Referenced by createEvent(), createFunctionDefinition(), createInitialAssignment(), createKineticLaw(), createRule(), and exportEventAssignments().

◆ convertToLevel1()

void CSBMLExporter::convertToLevel1 ( )
protected

This method takes care of expanding all function calls in all expressions and converting functions that are not supported in Level 1 as well as constants that were not supported in Level 1

References convertASTTreeToLevel1(), fatalError, mExportedFunctions, and mpSBMLDocument.

Referenced by createSBMLDocument().

◆ createAreaUnit()

void CSBMLExporter::createAreaUnit ( const CDataModel dataModel)
protected

Creates the volume unit for the SBML model.

Creates the area unit for the SBML model.

References createUnitDefinitionFor(), CModel::getAreaUnit(), CDataModel::getModel(), CModelEntity::getModel(), mpSBMLDocument, and pdelete.

Referenced by createUnits().

◆ createAvogadroIfNeeded()

◆ createCompartment()

◆ createCompartments()

bool CSBMLExporter::createCompartments ( CDataModel dataModel)
protected

◆ createEvent()

◆ createEvents()

◆ createFunctionDefinition()

◆ createFunctionDefinitions()

◆ createFunctionSetFromFunctionNames()

const std::set< CFunction * > CSBMLExporter::createFunctionSetFromFunctionNames ( const std::set< std::string > &  names,
CFunctionDB pFunDB 
)
staticprotected

◆ createIdMap()

const std::map< std::string, const SBase * > CSBMLExporter::createIdMap ( const Model &  sbmlModel)
protected

Goes through the given SBML model and puts all ids with the corresponding object into a map.

◆ createInitialAssignment()

◆ createInitialAssignments()

bool CSBMLExporter::createInitialAssignments ( CDataModel dataModel)
protected

Creates the initial assignments for the model.

References createInitialAssignment(), mInitialAssignmentVector, and reportCurrentProgressOrStop().

Referenced by createSBMLDocument().

◆ createKineticExpression()

CEvaluationNode * CSBMLExporter::createKineticExpression ( CFunction pFun,
const std::vector< std::vector< const CDataObject * > > &  arguments 
)
protected

Creates an expression from a given node and a set of parameter mappings by replacing the function arguments with the parameters. static CEvaluationNode* createExpressionTree(const CEvaluationNode* const pNode, const std::map<std::string, std::string>& parameterMap, const CDataModel& dataModel); Creates an expression from a given function and a set of parameters by replacing the function arguments with the parameters. static CEvaluationNode* createExpressionTree(const CFunction* const pFun, const std::vector<std::vector<std::string> >& arguments, const CDataModel& dataModel); Create an expression that corresponds to a kinetic law. If the kinetic law was mass action, the expression is a mass action term , otherwise it is a function call.

References CEvaluationNodeCall::addChild(), CEvaluationNode::CN, createMassActionExpression(), fatalError, CEvaluationNode::FUNCTION, CDataObject::getCN(), CDataObject::getObjectName(), CEvaluationTree::getType(), CFunction::getVariables(), CFunction::isReversible(), CEvaluationTree::MassAction, mUsedFunctions, CFunctionParameters::size(), and TriTrue.

Referenced by createKineticLaw().

◆ createKineticLaw()

◆ createLengthUnit()

void CSBMLExporter::createLengthUnit ( const CDataModel dataModel)
protected

Creates the volume unit for the SBML model.

Creates the length unit for the SBML model.

References createUnitDefinitionFor(), CModel::getLengthUnit(), CDataModel::getModel(), CModelEntity::getModel(), mpSBMLDocument, and pdelete.

Referenced by createUnits().

◆ createMassActionExpression()

CEvaluationNode * CSBMLExporter::createMassActionExpression ( const std::vector< std::vector< const CDataObject * > > &  arguments,
bool  isReversible 
)
staticprotected

This method creates the CEvaluationNode based tree for a reversible or irreversible Mass Action call. The first parameter contains the arguments from the COPASI reaction. The second argument determines whether it is reversible or irreversible mass action.

References CCopasiNode< _Data >::addChild(), CEvaluationNode::CN, CEvaluationNode::DOUBLE, CDataObject::getCN(), CEvaluationNode::MINUS, CEvaluationNode::MULTIPLY, and CEvaluationNode::POWER.

Referenced by createKineticExpression().

◆ createMetabolite()

◆ createMetabolites()

◆ createParameter()

◆ createParameters()

bool CSBMLExporter::createParameters ( CDataModel dataModel)
protected

◆ createProgressStepOrStop()

bool CSBMLExporter::createProgressStepOrStop ( unsigned C_INT32  globalStep,
unsigned C_INT32  currentTotal,
const std::string &  title 
)

This utility functions adds a new step to the progress dialog (if present)

Parameters
globalStepthe global steps that have been completed
currentTotalthe total for current task
titlethe title of the current task
Returns
a boolean indicating whether processing should be stopped

References CProcessReport::addItem(), C_INVALID_INDEX, CProcessReport::finishItem(), mCurrentStepCounter, mCurrentStepHandle, mCurrentStepTotal, mGlobalStepCounter, mGlobalStepHandle, mpProcessReport, and CProcessReport::progressItem().

Referenced by createSBMLDocument(), exportLayout(), and exportModelToString().

◆ createReaction()

◆ createReactions()

bool CSBMLExporter::createReactions ( CDataModel dataModel)
protected

◆ createRule()

◆ createRules()

bool CSBMLExporter::createRules ( CDataModel dataModel)
protected

◆ createSBMLDocument()

bool CSBMLExporter::createSBMLDocument ( CDataModel dataModel)
protected

Creates an SBMLDocument from the given CDataModelObject. It checks if an SBMLDocument already exists from an import and if this is the case, the old document is copied. If none exists a new one is created. Copying the old one makes sure that if something goes wrong during export, the original model is still consistent.

Returns
true, if exporting should continue, false otherwise

References addInitialAssignmentsToModel(), assignSBMLIdsToReactions(), checkForInitialAssignments(), collectIds(), SBMLUtils::collectIds(), convertToLevel1(), createCompartments(), createEvents(), createFunctionDefinitions(), createInitialAssignments(), createMetabolites(), createParameters(), createProgressStepOrStop(), createReactions(), createRules(), createUniqueId(), createUnits(), CCopasiMessage::ERROR, CCopasiMessage::EXCEPTION, fatalError, findAvogadro(), finishExport(), CModel::getCompartments(), CDataModel::getCurrentSBMLDocument(), CModel::getEvents(), CModelEntity::getKey(), CModel::getMetabolites(), CDataModel::getModel(), CModel::getModelValues(), CDataObject::getObjectName(), CModel::getReactions(), CModelEntity::getSBMLId(), hasVolumeAssignment(), mAvogadroCreated, mCOPASI2SBMLMap, mExportedFunctions, mFunctionIdMap, mFunctionMap, mIdMap, mIncompatibilities, mInitialValueMap, mpAvogadro, mpSBMLDocument, mSBMLLevel, mSBMLVersion, mVariableVolumes, outputIncompatibilities(), CModel::removeModelValue(), setSBMLNotes(), CDataVector< CType >::size(), updateCOPASI2SBMLMap(), and updateMIRIAMAnnotation().

Referenced by exportModelToString().

◆ createSBMLNotes()

XMLNode * CSBMLExporter::createSBMLNotes ( const std::string &  notes_string)
static

Method to create a valid XHTML node from a CModels comments string. This method is declared public so that I can call it from the unit tests.

Method to create a valid XHTML node from a CModels comments string.

Referenced by setSBMLNotes().

◆ createSubstanceUnit()

void CSBMLExporter::createSubstanceUnit ( const CDataModel dataModel)
protected

◆ createTimesTree()

ASTNode * CSBMLExporter::createTimesTree ( const CDataVector< CChemEqElement > &  vect,
unsigned int  pos = 0 
)
staticprotected

This method creates an ASTNode tree where all the species specified in the given vector are multiplied. This is used to create the mass action kinetic law.

References CModelEntity::getSBMLId(), and CDataVector< CType >::size().

◆ createTimeUnit()

void CSBMLExporter::createTimeUnit ( const CDataModel dataModel)
protected

Creates the time unit for the SBML model.

References createUnitDefinitionFor(), CDataModel::getModel(), CModelEntity::getModel(), CModel::getTimeUnit(), mpSBMLDocument, and pdelete.

Referenced by createUnits().

◆ createUniqueId()

const std::string CSBMLExporter::createUniqueId ( const std::map< std::string, const SBase * > &  idMap,
const std::string &  prefix,
bool  addIndexForFirst,
const std::string &  separator = "_" 
)
static

Create a unique id for an SBML object. I can't just take the Copasi key of the object since this might conflict with an already existing sbml id which came from the sbmlid attribute in a copasi file or directly by importing an SBML file.

Create a unique id for an SBML object. I can't just take the COPASI key of the object since this might conflict with an already existing SBML id which came from the sbmlid attribute in a COPASI file or directly by importing an SBML file.

References nameToSbmlId().

Referenced by addParticleNumberToInitialValueMap(), addToInitialValueMap(), assignSBMLIdsToReactions(), checkForUnsupportedObjectReferences(), createAvogadroIfNeeded(), createCompartment(), createEvent(), createFunctionDefinition(), createFunctionDefinitonForURI(), createMetabolite(), createParameter(), createReaction(), createSBMLDocument(), CLGraphicalObject::exportToSBML(), CLayout::exportToSBML(), replace_local_parameters(), setFunctionSBMLIds(), and updateMIRIAMAnnotation().

◆ createUnitDefinitionFor()

UnitDefinition * CSBMLExporter::createUnitDefinitionFor ( const CUnit unit)
protected

◆ createUnits()

void CSBMLExporter::createUnits ( const CDataModel dataModel)
protected

Creates the units for the SBML model.

References createAreaUnit(), createLengthUnit(), createSubstanceUnit(), createTimeUnit(), and createVolumeUnit().

Referenced by createSBMLDocument().

◆ createUnsupportedFunctionTypeSet()

const std::set< CEvaluationNode::SubType > CSBMLExporter::createUnsupportedFunctionTypeSet ( unsigned int  sbmlLevel)
staticprotected

Creates a set of all function subtypes that can not be exported for a certain SBML level.

References CEvaluationNode::ARCCOTH, CEvaluationNode::MAX, and CEvaluationNode::MIN.

Referenced by checkForUnsupportedFunctionCalls(), and isExpressionSBMLCompatible().

◆ createVolumeUnit()

void CSBMLExporter::createVolumeUnit ( const CDataModel dataModel)
protected

Creates the volume unit for the SBML model.

References createUnitDefinitionFor(), CDataModel::getModel(), CModelEntity::getModel(), CModel::getVolumeUnit(), mpSBMLDocument, and pdelete.

Referenced by createUnits().

◆ disownSBMLDocument()

void CSBMLExporter::disownSBMLDocument ( )

This method assures that the SBMLDocument is not deleted by the destructor of the exporter. This allows us to get the SBMLDocument from the exporter and store it in the data model without having to copy it.

References mDocumentDisowned.

Referenced by CDataModel::exportSBML(), and CDataModel::exportSBMLToString().

◆ exportAndAssignUnit()

void CSBMLExporter::exportAndAssignUnit ( const CUnit unit,
SBase *  sbmlElement 
)
protected

exports the given unit to the sbmlElement

Parameters
unitthe unit to export
sbmlElementthe sbml element that the unit should be assigned to

References createUnitDefinitionFor(), CUnit::isUndefined(), and mpSBMLDocument.

Referenced by createParameter().

◆ exportEventAssignments()

◆ exportLayout()

bool CSBMLExporter::exportLayout ( unsigned int  sbmlLevel,
CDataModel dataModel 
)

Export the model to SBML. The SBML model is returned as a string. In case of an error, an empty string is returned.

References createProgressStepOrStop(), CListOfLayouts::exportToSBML(), finishExport(), getDefaultStyle(), CDataModel::getListOfLayouts(), getNumDefaultStyles(), mCOPASI2SBMLMap, mIdMap, mpSBMLDocument, and CLGlobalRenderInformation::toSBML().

Referenced by exportModelToString().

◆ exportModel()

bool CSBMLExporter::exportModel ( CDataModel dataModel,
const std::string &  filename,
unsigned int  sbmlLevel = 2,
unsigned int  sbmlVersion = 1,
bool  overwrite = false 
)

Export the model to SBML. The model is written to the file given by filename. If the export fails, false is returned.

References CCopasiMessage::ERROR, exportModelToString(), CLocaleString::fromUtf8(), and MCDirEntry.

Referenced by CDataModel::exportSBML().

◆ exportModelToString()

const std::string CSBMLExporter::exportModelToString ( CDataModel dataModel,
unsigned int  sbmlLevel,
unsigned int  sbmlVersion 
)

◆ findAvogadro()

void CSBMLExporter::findAvogadro ( const CDataModel dataModel)
protected

◆ findDirectlyUsedFunctions()

void CSBMLExporter::findDirectlyUsedFunctions ( const CEvaluationNode pRootNode,
std::set< std::string > &  result 
)
staticprotected

◆ findModelEntityDependencies()

void CSBMLExporter::findModelEntityDependencies ( const CEvaluationNode pNode,
const CDataModel dataModel,
std::set< const CModelEntity * > &  dependencies 
)
staticprotected

◆ findUsedFunctions()

const std::vector< CFunction * > CSBMLExporter::findUsedFunctions ( std::set< CFunction * > &  functions,
CFunctionDB pFunctionDB 
)
staticprotected

Takes a set of functions and recursively finds functions used by those functions

References createFunctionSetFromFunctionNames(), CCopasiMessage::EXCEPTION, findDirectlyUsedFunctions(), and CEvaluationTree::getRoot().

Referenced by checkForPiecewiseFunctions(), and createFunctionDefinitions().

◆ finishCurrentStep()

void CSBMLExporter::finishCurrentStep ( )

Notifies the progress dialog that a step finished

References C_INVALID_INDEX, CProcessReport::finishItem(), mCurrentStepHandle, and mpProcessReport.

Referenced by finishExport().

◆ finishExport()

void CSBMLExporter::finishExport ( )

Notifies the progress dialog that the overall exporting is complete

References finishCurrentStep(), CProcessReport::finishItem(), mGlobalStepHandle, and mpProcessReport.

Referenced by createSBMLDocument(), exportLayout(), and exportModelToString().

◆ getCallBack()

const CProcessReport * CSBMLExporter::getCallBack ( ) const
Returns
the currently set callback handler

References mpProcessReport.

◆ getCOPASI2SBMLMap()

const std::map< const CDataObject *, SBase * > & CSBMLExporter::getCOPASI2SBMLMap ( ) const

Returns a const pointer to the COPASI2SBMLMap.

References mCOPASI2SBMLMap.

Referenced by CDataModel::exportSBML(), and CDataModel::exportSBMLToString().

◆ getSBMLDocument()

SBMLDocument * CSBMLExporter::getSBMLDocument ( )

◆ hasVolumeAssignment()

◆ isDividedByVolume()

ASTNode * CSBMLExporter::isDividedByVolume ( const ASTNode *  pRootNode,
const std::string &  compartmentId 
)
staticprotected

checks if the given ASTNode based tree is divided by the volume of the compartment identified by the given id string.

Referenced by createKineticLaw().

◆ isEventAssignmentSBMLCompatible()

void CSBMLExporter::isEventAssignmentSBMLCompatible ( const CDataObject pTarget,
const CExpression pExpression,
const CDataModel dataModel,
unsigned int  sbmlLevel,
unsigned int  sbmlVersion,
const std::string &  eventName,
std::vector< SBMLIncompatibility > &  result,
std::map< std::string, const SBase * > &  idMap 
)
staticprotected

◆ isEventSBMLCompatible()

void CSBMLExporter::isEventSBMLCompatible ( const CEvent pEvent,
const CDataModel dataModel,
unsigned int  sbmlLevel,
unsigned int  sbmlVersion,
std::vector< SBMLIncompatibility > &  result,
std::map< std::string, const SBase * > &  idMap 
)
staticprotected

◆ isExpressionSBMLCompatible()

void CSBMLExporter::isExpressionSBMLCompatible ( const CEvaluationTree expr,
const CDataModel dataModel,
int  sbmlLevel,
int  sbmlVersion,
std::vector< SBMLIncompatibility > &  result,
std::map< std::string, const SBase * > &  idMap,
const std::string &  objectDescription,
bool  initialExpression = false,
std::map< const std::string, Parameter * > *  initialMap = NULL 
)
staticprotected

Checks whether the rule in the given model entity can be exported to the specified version of SBML. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

References checkForUnsupportedFunctionCalls(), checkForUnsupportedObjectReferences(), createUnsupportedFunctionTypeSet(), and CEvaluationTree::getRoot().

Referenced by createEvent(), createFunctionDefinition(), createInitialAssignment(), createRule(), exportEventAssignments(), isEventAssignmentSBMLCompatible(), isEventSBMLCompatible(), and isModelSBMLCompatible().

◆ isExpressionSBMLL1Compatible()

static void CSBMLExporter::isExpressionSBMLL1Compatible ( const CEvaluationTree expr,
const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks whether the rule in the given model entity can be exported to SBML Level2 Version1. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

◆ isExpressionSBMLL2V1Compatible()

static void CSBMLExporter::isExpressionSBMLL2V1Compatible ( const CEvaluationTree expr,
const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks whether the rule in the given model entity can be exported to SBML Level2 Version1. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

◆ isExpressionSBMLL2V3Compatible()

static void CSBMLExporter::isExpressionSBMLL2V3Compatible ( const CEvaluationTree expression,
const CDataModel pDataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks whether the rule in the given model entity can be exported to SBML Level2 Version3. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

◆ isModelSBMLCompatible()

const std::vector< SBMLIncompatibility > CSBMLExporter::isModelSBMLCompatible ( const CDataModel dataModel,
int  sbmlLevel,
int  sbmlVersion,
std::map< std::string, const SBase * > &  idMap 
)
static

Checks wether the given data model can be exported to a certain version of SBML. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

Checks whether the given data model can be exported to a certain version of SBML. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

References CModelEntity::ASSIGNMENT, CDataVector< CType >::begin(), checkForODESpeciesInNonfixedCompartment(), CDataVector< CType >::end(), findDirectlyUsedFunctions(), CModel::getCompartments(), CModel::getEvents(), CModel::getMetabolites(), CDataModel::getModel(), CModel::getModelValues(), CDataObject::getObjectName(), CEvaluationTree::getRoot(), isEventSBMLCompatible(), isExpressionSBMLCompatible(), isModelSBMLL1Compatible(), isModelSBMLL2V1Compatible(), isModelSBMLL2V3Compatible(), and CModelEntity::ODE.

◆ isModelSBMLL1Compatible()

void CSBMLExporter::isModelSBMLL1Compatible ( const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks whether the given data model can be exported to SBML Level1 If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

References checkForEvents(), checkForInitialAssignments(), and checkForPiecewiseFunctions().

Referenced by isModelSBMLCompatible().

◆ isModelSBMLL2V1Compatible()

void CSBMLExporter::isModelSBMLL2V1Compatible ( const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks whether the given data model can be exported to SBML Level2 Version1. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

References checkForInitialAssignments().

Referenced by isModelSBMLCompatible().

◆ isModelSBMLL2V3Compatible()

void CSBMLExporter::isModelSBMLL2V3Compatible ( const CDataModel dataModel,
std::vector< SBMLIncompatibility > &  result 
)
staticprotected

Checks whether the given data model can be exported to SBML Level2 Version3. If it can be exported, the result vector will be empty, otherwise it will contain a number of messages that specify why it can't be exported.

References SBMLUnitSupport::checkForSpatialSizeUnits().

Referenced by isModelSBMLCompatible().

◆ isSetExportCOPASIMIRIAM()

bool CSBMLExporter::isSetExportCOPASIMIRIAM ( ) const

Returns whether the exporter is supposed to export COPASIs MIRIAM annotation in addition to SBML MIRIAM.

References mExportCOPASIMIRIAM.

◆ isValidSId()

bool CSBMLExporter::isValidSId ( const std::string &  id)
staticprotected

Checks if the given string is a valid SId

Referenced by createFunctionDefinition(), and setFunctionSBMLIds().

◆ multiplyByObject()

CEvaluationNode * CSBMLExporter::multiplyByObject ( const CEvaluationNode pOrigNode,
const CDataObject pObject 
)
staticprotected

◆ orderRules()

std::vector< const CModelEntity * > CSBMLExporter::orderRules ( const CDataModel dataModel)
protected

◆ outputIncompatibilities()

void CSBMLExporter::outputIncompatibilities ( ) const
protected

◆ removeInitialAssignment()

void CSBMLExporter::removeInitialAssignment ( const std::string &  sbmlId)
protected

Remove the initial assignment for the entity with the given id if there is any.

References mpSBMLDocument.

Referenced by createCompartment(), createMetabolite(), and createParameter().

◆ removeRule()

void CSBMLExporter::removeRule ( const std::string &  sbmlId)
protected

Remove the rule for the entity with the given id if there is any.

References mpSBMLDocument.

Referenced by createCompartment(), createMetabolite(), and createParameter().

◆ removeUnusedObjects()

void CSBMLExporter::removeUnusedObjects ( )
protected

Remove all compartments, species, parameters and reactions that did not end up in mHandledSBMLObjects during an export.

Remove all compartments, species, parameters and reactions and initial assignments that did not end up in mHandledSBMLObjects during an export.

References mCOPASI2SBMLMap, mHandledSBMLObjects, and mpSBMLDocument.

Referenced by exportModelToString().

◆ replace_local_parameters()

void CSBMLExporter::replace_local_parameters ( ASTNode *  pOrigNode,
const CDataModel dataModel 
)
protected

Goes through the expression tree and tries to find occurences of local parameters. If one is found, a global parameter is created and all references to the local parameters are substituted.

References C_FLOAT64, createUniqueId(), CObjectInterface::DataObject(), CCopasiParameter::getCN(), CDataObject::getObjectFromCN(), CDataObject::getObjectName(), CDataObject::getObjectParent(), CCopasiParameter::getValue(), mHandledSBMLObjects, mIdMap, mParameterReplacementMap, and mpSBMLDocument.

Referenced by createEvent(), createInitialAssignment(), createRule(), and exportEventAssignments().

◆ replaceChild()

XMLNode * CSBMLExporter::replaceChild ( const XMLNode *  pParent,
const XMLNode *  pNewChild,
unsigned int  index 
)
protected

This method creates a copy of parent where the child with the given index is replaced by the new child given as the second argument. If index is greater than the number of children - 1, NULL is returned.

This method creates a copy of parent where the child with the given index is replaced by the new child given as the second argument. If index is greater than the number of children - 1, NULL is returned. If the new child is a null pointer, this method deleted the old node at the given index.

Referenced by updateMIRIAMAnnotation().

◆ replaceL1IncompatibleNodes()

ASTNode * CSBMLExporter::replaceL1IncompatibleNodes ( const ASTNode *  pNode)
staticprotected

This method goes through the ASTNode based tree rooted at pNode and replaces all unsupported nodes with constructs supported by SBML Level 1 The caller is responsible for freeing the memory of the returned object.

References fatalError, max, and ConverterASTNode::shallowCopy().

Referenced by convertASTTreeToLevel1().

◆ replaceSpeciesReferences()

CEvaluationNode * CSBMLExporter::replaceSpeciesReferences ( const CEvaluationNode pOrigNode,
const CDataModel dataModel 
)
protected

Replaces references to species with reference to species divided by volume if it is a reference to a concentration or by a reference to the species times avogadros number if it is a reference to the amount. The method also takes into consideration the substance units of the model.

References CCopasiNode< _Data >::addChild(), addRateOfIfItDoesNotExist(), CEvaluationNode::CN, CEvaluationNode::copyBranch(), CEvaluationNode::copyNode(), createAvogadroIfNeeded(), CObjectInterface::DataObject(), CEvaluationNode::DIVIDE, CEvaluationNode::DOUBLE, CEvaluationNode::ENOTATION, fatalError, CModelEntity::FIXED, CCopasiNode< _Data >::getChild(), CDataObject::getCN(), CMetab::getCompartment(), CMetab::getConcentrationReference(), CCopasiNode< _Data >::getData(), CDataModel::getModel(), CDataContainer::getObject(), CEvaluationNodeObject::getObjectCN(), CDataObject::getObjectFromCN(), CDataObject::getObjectName(), CDataObject::getObjectParent(), CModel::getQuantity2NumberFactor(), CModel::getQuantityUnit(), CCopasiNode< _Data >::getSibling(), CModelEntity::getStatus(), CModelEntity::getValue(), CModelEntity::getValueReference(), CDataObject::hasFlag(), CEvaluationNode::INVALID, CEvaluationNode::mainType(), mIdMap, mpAvogadro, mpSBMLDocument, CEvaluationNode::MULTIPLY, mVariableVolumes, CEvaluationNode::NUMBER, CEvaluationNode::OBJECT, CEvaluationNode::OPERATOR, CDataObject::Reference, and CEvaluationNode::subType().

Referenced by createEvent(), createInitialAssignment(), createKineticLaw(), createRule(), and exportEventAssignments().

◆ reportCurrentProgressOrStop()

bool CSBMLExporter::reportCurrentProgressOrStop ( )

Notifies the progress dialog of local progress

Returns
a boolean indicating whether processing should be stopped

References mCurrentStepHandle, mpProcessReport, and CProcessReport::progressItem().

Referenced by createCompartments(), createEvents(), createFunctionDefinitions(), createInitialAssignments(), createMetabolites(), createParameters(), createReactions(), and createRules().

◆ restore_local_parameters()

void CSBMLExporter::restore_local_parameters ( ASTNode *  pOrigNode,
const CDataModel dataModel 
)
protected

This method goes through the expression tree and tries to find node names that correspond to common names of local parameters. If the common name also occurs in the replacement map, the node name has to be set to the id of the corresponding global parameter, otherwise the name has to be set to the object name of the parameter.

References CObjectInterface::DataObject(), CDataObject::getObjectFromCN(), CDataObject::getObjectName(), and mParameterReplacementMap.

Referenced by createKineticLaw().

◆ setExportCOPASIMIRIAM()

void CSBMLExporter::setExportCOPASIMIRIAM ( bool  exportMIRIAM)

Sets whether the exporter is supposed to export COPASIs MIRIAM annotation in addition to SBML MIRIAM.

References mExportCOPASIMIRIAM.

Referenced by CDataModel::exportSBML(), and CDataModel::exportSBMLToString().

◆ setFunctionSBMLIds()

void CSBMLExporter::setFunctionSBMLIds ( const CEvaluationNode pNode,
CDataModel dataModel 
)
protected

◆ setHandler()

void CSBMLExporter::setHandler ( CProcessReport pProcessReport)

Sets the progress handler to be used while exporting set to NULL, to stop reporting

Parameters
pHandlerthe progress handler to be used, or NULL

References mpProcessReport.

Referenced by clearCallBack(), CDataModel::exportSBML(), and CDataModel::exportSBMLToString().

◆ setSBMLNotes()

bool CSBMLExporter::setSBMLNotes ( SBase *  pSBase,
const CAnnotation pAnno 
)
staticprotected

This is a general method to set the notes of an SBase object based on a COPASI Annotation. This will allow us to export notes on objects other than just the model.

References createSBMLNotes(), CAnnotation::getNotes(), CAnnotation::getUnsupportedAnnotations(), and CCopasiMessage::WARNING.

Referenced by createCompartment(), createEvent(), createFunctionDefinition(), createMetabolite(), createParameter(), createReaction(), and createSBMLDocument().

◆ updateCOPASI2SBMLMap()

void CSBMLExporter::updateCOPASI2SBMLMap ( const CDataModel dataModel)
protected

Creates a new COPASI2SBMLMap based on the old map and the copied SBMLDocument.

References mCOPASI2SBMLMap, and mIdMap.

Referenced by createSBMLDocument().

◆ updateMIRIAMAnnotation()

bool CSBMLExporter::updateMIRIAMAnnotation ( const CDataObject pCOPASIObject,
SBase *  pSBMLObject,
std::map< std::string, const SBase * > &  metaIds 
)
protected

This method gets the MIRIAM annotation from the given COPASI object and sets it on the given SBML object.

This method updates the MIRIAM annotation on different model entities like the model itself, compartments, species, reactions, functions and global parameters

References CRDFPredicate::bqbiol_encodes, CRDFPredicate::bqbiol_hasPart, CRDFPredicate::bqbiol_hasProperty, CRDFPredicate::bqbiol_hasTaxon, CRDFPredicate::bqbiol_hasVersion, CRDFPredicate::bqbiol_is, CRDFPredicate::bqbiol_isDescribedBy, CRDFPredicate::bqbiol_isEncodedBy, CRDFPredicate::bqbiol_isHomologTo, CRDFPredicate::bqbiol_isPartOf, CRDFPredicate::bqbiol_isPropertyOf, CRDFPredicate::bqbiol_isVersionOf, CRDFPredicate::bqbiol_occursIn, CRDFPredicate::bqmodel_hasInstance, CRDFPredicate::bqmodel_is, CRDFPredicate::bqmodel_isDerivedFrom, CRDFPredicate::bqmodel_isDescribedBy, CRDFPredicate::bqmodel_isInstanceOf, CAnnotation::castObject(), CRDFPredicate::copasi_encodes, CRDFPredicate::copasi_hasPart, CRDFPredicate::copasi_hasVersion, CRDFPredicate::copasi_is, CRDFPredicate::copasi_isDescribedBy, CRDFPredicate::copasi_isEncodedBy, CRDFPredicate::copasi_isHomologTo, CRDFPredicate::copasi_isPartOf, CRDFPredicate::copasi_isVersionOf, CRDFPredicate::copasi_occursIn, createUniqueId(), CMIRIAMInfo::empty(), CRDFPredicate::end, CRDFUtilities::fixLocalFileAboutReference(), CMIRIAMInfo::getBiologicalDescriptions(), CMIRIAMInfo::getCreatedDT(), CMIRIAMInfo::getCreators(), CModification::getDate(), CRDFNode::getDescendantsWithPredicate(), CCreator::getEmail(), CCreator::getFamilyName(), CCreator::getGivenName(), CBiologicalDescription::getId(), CMIRIAMResourceObject::getIdentifiersOrgURL(), CDataObject::getKey(), CAnnotation::getMiriamAnnotation(), CBiologicalDescription::getMIRIAMResourceObject(), CReference::getMIRIAMResourceObject(), CMIRIAMInfo::getModifications(), CCreator::getORG(), CMIRIAMInfo::getReferences(), CBiologicalDescription::getResource(), CBiologicalDescription::getTriplet(), CReference::getTriplet(), CRDFPredicate::getType(), CMIRIAMInfo::load(), mExportCOPASIMIRIAM, mSBMLLevel, CRDFTriplet::pObject, CRDFTriplet::Predicate, replaceChild(), and CDataVector< CType >::size().

Referenced by createCompartment(), createEvent(), createFunctionDefinition(), createMetabolite(), createParameter(), createReaction(), and createSBMLDocument().

Member Data Documentation

◆ mAssignmentVector

◆ mAvogadroCreated

bool CSBMLExporter::mAvogadroCreated
protected

◆ mAvogadroId

std::string CSBMLExporter::mAvogadroId
protected

◆ mCOPASI2SBMLMap

◆ mCurrentStepCounter

unsigned C_INT32 CSBMLExporter::mCurrentStepCounter
protected

◆ mCurrentStepHandle

size_t CSBMLExporter::mCurrentStepHandle
protected

the current import step handle

Referenced by createProgressStepOrStop(), finishCurrentStep(), and reportCurrentProgressOrStop().

◆ mCurrentStepTotal

unsigned C_INT32 CSBMLExporter::mCurrentStepTotal
protected

total steps of current import task

Referenced by createProgressStepOrStop().

◆ mDocumentDisowned

bool CSBMLExporter::mDocumentDisowned
protected

◆ mExportCOPASIMIRIAM

bool CSBMLExporter::mExportCOPASIMIRIAM
protected

◆ mExportedFunctions

ListOfFunctionDefinitions CSBMLExporter::mExportedFunctions
protected

◆ mFunctionIdMap

std::map<std::string, const CEvaluationTree*> CSBMLExporter::mFunctionIdMap
protected

◆ mFunctionMap

std::map<const FunctionDefinition*, const CDataObject*> CSBMLExporter::mFunctionMap
protected

◆ mGlobalStepCounter

unsigned C_INT32 CSBMLExporter::mGlobalStepCounter
protected

global step counter

Referenced by createProgressStepOrStop(), and exportModelToString().

◆ mGlobalStepHandle

size_t CSBMLExporter::mGlobalStepHandle
protected

the global import step handle

Referenced by createProgressStepOrStop(), exportModelToString(), and finishExport().

◆ mGlobalStepTotal

unsigned C_INT32 CSBMLExporter::mGlobalStepTotal
protected

total step counter for global import

Referenced by exportModelToString().

◆ mHandledSBMLObjects

◆ mIdMap

◆ mIncompatibilities

◆ mIncompleteExport

bool CSBMLExporter::mIncompleteExport
protected

◆ mInitialAssignmentVector

◆ mInitialValueMap

std::map<const std::string, Parameter*> CSBMLExporter::mInitialValueMap
protected

◆ mMetaIdMap

std::map<std::string, const SBase*> CSBMLExporter::mMetaIdMap
protected

◆ mMIRIAMWarning

bool CSBMLExporter::mMIRIAMWarning
protected

◆ mODEVector

◆ mParameterReplacementMap

std::map<std::string, Parameter*> CSBMLExporter::mParameterReplacementMap
protected

◆ mpAvogadro

const CModelValue* CSBMLExporter::mpAvogadro
protected

◆ mpProcessReport

CProcessReport* CSBMLExporter::mpProcessReport
protected

◆ mpSBMLDocument

◆ mSBMLLevel

◆ mSBMLVersion

◆ mSpatialSizeUnitsSpecies

std::set<std::string> CSBMLExporter::mSpatialSizeUnitsSpecies
protected

◆ mUsedFunctions

◆ mVariableVolumes

bool CSBMLExporter::mVariableVolumes
protected

The documentation for this class was generated from the following files: