本文整理汇总了C++中KineticLaw::createParameter方法的典型用法代码示例。如果您正苦于以下问题:C++ KineticLaw::createParameter方法的具体用法?C++ KineticLaw::createParameter怎么用?C++ KineticLaw::createParameter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KineticLaw
的用法示例。
在下文中一共展示了KineticLaw::createParameter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Reaction
END_TEST
START_TEST ( test_KineticLaw_parent_NULL )
{
Reaction * r = new Reaction(2, 4);
KineticLaw *kl = r->createKineticLaw();
Parameter *p = kl->createParameter();
fail_unless(r == kl->getParentSBMLObject());
fail_unless(r == p->getAncestorOfType(SBML_REACTION));
fail_unless(kl == p->getAncestorOfType(SBML_KINETIC_LAW));
KineticLaw *kl1 = kl->clone();
fail_unless(kl1->getParentSBMLObject() == NULL);
fail_unless(kl1->getParameter(0)->getAncestorOfType(SBML_REACTION) == NULL);
fail_unless(kl1 == kl1->getParameter(0)->getAncestorOfType(SBML_KINETIC_LAW));
delete r;
}
示例2: createExampleEnzymaticReaction
//.........这里部分代码省略.........
// <ci> ES </ci>
// </apply>
// </apply>
// </apply>
//
//--------------------------------------------
ASTNode* astMath = new ASTNode(AST_TIMES);
astMath->addChild(astCytosol);
astMath->addChild(astMinus);
//---------------------------------------------
//
// set the Math element
//
//------------------------------------------------
kl->setMath(astMath);
// KineticLaw::setMath(const ASTNode*) sets the math of the KineticLaw object
// to a copy of the given ASTNode, and thus basically the caller should delete
// the original ASTNode object if the caller has the ownership of the object to
// avoid memory leak.
delete astMath;
//---------------------------------------------------------------------------
// Creates local Parameter objects inside the KineticLaw object.
//---------------------------------------------------------------------------
// Creates a Parameter ("kon")
Parameter* para = kl->createParameter();
para->setId("kon");
para->setValue(1000000);
para->setUnits("litre_per_mole_per_second");
// Creates a Parameter ("koff")
para = kl->createParameter();
para->setId("koff");
para->setValue(0.2);
para->setUnits("per_second");
//---------------------------------------------------------------------------
// (Reaction2) Creates a Reaction object ("vcat") .
//---------------------------------------------------------------------------
reaction = model->createReaction();
reaction->setId("vcat");
reaction->setReversible(false);
//---------------------------------------------------------------------------
// Creates Reactant objects inside the Reaction object ("vcat").
//---------------------------------------------------------------------------
// (Reactant1) Creates a Reactant object that references Species "ES" in the
// model.
spr = reaction->createReactant();
spr->setSpecies("ES");
//---------------------------------------------------------------------------
// Creates a Product object inside the Reaction object ("vcat").
示例3: writeSBML
//.........这里部分代码省略.........
sp->setId("_void_");
sp->setInitialAmount(0);
sp->setBoundaryCondition(true);
sp->setConstant(true);
all_sp.push_back(sp);
//model.addSpecies(species[size]);
// SET SYNTHESIS AND DEGRADATION REACTIONS FOR EVERY GENE
for (int i=0; i<size; i++) {
//::logging::log::emit<Info>() << ::logging::log::dec << i <<
//::logging::log::endl;
// the ID of gene i
// String currentGeneID = nodeIds_.get(i);
string currentGeneID = (nodes_.at(i)).getLabel();
// The modifiers (regulators) of gene i
std::vector<std::string> inputGenes = (nodes_.at(i)).getInputGenes();
// SYNTHESIS REACTION
std::string reactionId = currentGeneID + "_synthesis";
Reaction *reaction = model->createReaction();
KineticLaw *kineticLaw = reaction->createKineticLaw();
SpeciesReference *spr;
ModifierSpeciesReference *msr;
reaction->setId(reactionId);
reaction->setReversible (false);
spr = reaction->createReactant();
spr->setSpecies(sp->getId());
spr = reaction->createProduct();
spr->setSpecies((all_sp.at(i))->getId());
std::stringstream ss;
ss << inputGenes.size();
//::logging::log::emit<Debug>() << "node = " << nodes_.at(i).getLabel().c_str() << " #inputs = " << ss.str().c_str() << ::logging::log::endl;
for (unsigned int r=0; r<inputGenes.size(); r++) {// set gene modifiers
// reaction.addModifier(species[inputIndexes.get(r)]);
//log.log(Level.INFO, "i = " + size);
msr = reaction->createModifier();
msr->setSpecies((all_sp.at(getIndexOfNode(inputGenes.at(r))))->getId());
}
//std::vector<RegulatoryModule> modules = (nodes_.at(i)).getRegulatoryModules();
//log.log(Level.INFO, "size = " + modules.size());
std::map<std::string, double> *params = new std::map<std::string, double>();
(nodes_.at(i)).compileParameters(*params);
//char buf[256];
//sprintf(buf, "%f", nodes_.at(i).getDelta());
//::logging::log::emit<Info>() << buf << ::logging::log::endl;
//::logging::log::emit<Info>() << ::logging::log::dec << nodes_.at(i).getAlpha().size() <<
// ::logging::log::endl;
Parameter *para;
// save gene parameters (note, the first param is the degradation rate)
std::map<std::string, double>::iterator p = params->begin();
//p++;
for (; p!=params->end(); p++) {
//if (p == params->begin()) {
// p++;
// continue;
//}
//::logging::log::emit<Info>() << p->first.c_str() <<
// ::logging::log::endl;
if (p->first != "delta") {
para = kineticLaw->createParameter();
para->setId(p->first);
para->setValue(p->second);
}
}
reaction->setKineticLaw(kineticLaw);
model->addReaction(reaction);
// DEGRADATION REACTION
reaction = model->createReaction();
kineticLaw = reaction->createKineticLaw();
reactionId = currentGeneID + "_degradation";
reaction->setId(reactionId);
reaction->setReversible(false);
spr = reaction->createReactant();
spr->setSpecies((all_sp.at(i))->getId());
spr = reaction->createProduct();
spr->setSpecies(sp->getId());
para = kineticLaw->createParameter();
std::map<std::string,double>::iterator it = params->find("delta");
para->setId(it->first);
para->setValue(it->second);
reaction->setKineticLaw (kineticLaw);
model->addReaction (reaction);
}
// PRINT FILE
SBMLWriter sbmlWriter;
sbmlWriter.writeSBML(sbmlDoc, filename);
delete sbmlDoc;
}