本文整理汇总了C#中libsbml.Model.getRule方法的典型用法代码示例。如果您正苦于以下问题:C# Model.getRule方法的具体用法?C# Model.getRule怎么用?C# Model.getRule使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类libsbml.Model
的用法示例。
在下文中一共展示了Model.getRule方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: test_AssignmentRule_parent_create
public void test_AssignmentRule_parent_create()
{
Model m = new Model(2,4);
AssignmentRule r = m.createAssignmentRule();
ListOf lo = m.getListOfRules();
assertTrue( lo == m.getRule(0).getParentSBMLObject() );
assertTrue( lo == r.getParentSBMLObject() );
assertTrue( m == lo.getParentSBMLObject() );
}
示例2: test_AssignmentRule_ancestor_create
public void test_AssignmentRule_ancestor_create()
{
Model m = new Model(2,4);
AssignmentRule r = m.createAssignmentRule();
ListOf lo = m.getListOfRules();
assertTrue( r.getAncestorOfType(libsbml.SBML_MODEL) == m );
assertTrue( r.getAncestorOfType(libsbml.SBML_LIST_OF) == lo );
assertTrue( r.getAncestorOfType(libsbml.SBML_DOCUMENT) == null );
assertTrue( r.getAncestorOfType(libsbml.SBML_EVENT) == null );
Rule obj = m.getRule(0);
assertTrue( obj.getAncestorOfType(libsbml.SBML_MODEL) == m );
assertTrue( obj.getAncestorOfType(libsbml.SBML_LIST_OF) == lo );
assertTrue( obj.getAncestorOfType(libsbml.SBML_DOCUMENT) == null );
assertTrue( obj.getAncestorOfType(libsbml.SBML_EVENT) == null );
}
示例3: getRule
/// <summary>
/// [ RuleStruct ]
/// [[ RuleType, Formula, Variable ]]
/// </summary>
/// <param name="aSBMLmodel"></param>
/// <returns></returns>
public static List<RuleStruct> getRule(Model aSBMLmodel)
{
List<RuleStruct> list = new List<RuleStruct>();
ListOfRules rules = aSBMLmodel.getListOfRules();
for (int i = 0; i < rules.size(); i++ )
{
Rule aRule = aSBMLmodel.getRule(i);
int aRuleType = aRule.getTypeCode();
string aFormula = aRule.getFormula();
string aVariable = null;
if ( aRuleType == libsbml.libsbml.SBML_ALGEBRAIC_RULE )
aVariable = "";
else if (aRuleType == libsbml.libsbml.SBML_ASSIGNMENT_RULE ||
aRuleType == libsbml.libsbml.SBML_RATE_RULE)
aVariable = aRule.getVariable();
//else if (aRuleType == libsbml.libsbml.SBML_SPECIES_CONCENTRATION_RULE)
// aVariable = aRule.getSpecies();
//else if (aRuleType == libsbml.libsbml.SBML_COMPARTMENT_VOLUME_RULE)
// aVariable = aRule.getCompartment();
// ToDo: LibSBML3.2C#で呼び出せない。どうするか検討する。
else if (aRuleType == libsbml.libsbml.SBML_PARAMETER_RULE)
aVariable = aRule.getName();
else
throw new EcellException(" The type of Rule must be Algebraic, Assignment or Rate Rule");
RuleStruct rule = new RuleStruct(
aRuleType,
aFormula,
aVariable );
list.Add(rule);
}
return list;
}
示例4: test_Rule_parent_add
public void test_Rule_parent_add()
{
Rule ia = new RateRule(2,4);
ia.setVariable("a");
ia.setMath(libsbml.parseFormula("9"));
Model m = new Model(2,4);
m.addRule(ia);
ia = null;
ListOf lo = m.getListOfRules();
assertTrue( lo == m.getRule(0).getParentSBMLObject() );
assertTrue( m == lo.getParentSBMLObject() );
}
示例5: test_ReadSBML_ParameterRule
public void test_ReadSBML_ParameterRule()
{
Rule pr;
string s = wrapSBML_L1v2("<listOfRules>" +
" <parameterRule name='k' formula='k3/k2'/>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
pr = M.getRule(0);
assertEquals( true, pr.isParameter() );
assertTrue(( "k" == pr.getVariable() ));
assertTrue(( "k3/k2" == pr.getFormula() ));
assertTrue( pr.getType() == libsbml.RULE_TYPE_SCALAR );
}
示例6: test_Rule_ancestor_add
public void test_Rule_ancestor_add()
{
Rule ia = new RateRule(2,4);
ia.setVariable("a");
ia.setMath(libsbml.parseFormula("9"));
Model m = new Model(2,4);
m.addRule(ia);
ia = null;
ListOf lo = m.getListOfRules();
Rule obj = m.getRule(0);
assertTrue( obj.getAncestorOfType(libsbml.SBML_MODEL) == m );
assertTrue( obj.getAncestorOfType(libsbml.SBML_LIST_OF) == lo );
assertTrue( obj.getAncestorOfType(libsbml.SBML_DOCUMENT) == null );
assertTrue( obj.getAncestorOfType(libsbml.SBML_EVENT) == null );
}
示例7: test_ReadSBML_metaid
public void test_ReadSBML_metaid()
{
SBase sb;
string s = wrapSBML_L2v1("<listOfFunctionDefinitions>" +
" <functionDefinition metaid='fd'/>" +
"</listOfFunctionDefinitions>" +
"<listOfUnitDefinitions>" +
" <unitDefinition metaid='ud'/>" +
"</listOfUnitDefinitions>" +
"<listOfCompartments>" +
" <compartment metaid='c'/>" +
"</listOfCompartments>" +
"<listOfSpecies>" +
" <species metaid='s'/>" +
"</listOfSpecies>" +
"<listOfParameters>" +
" <parameter metaid='p'/>" +
"</listOfParameters>" +
"<listOfRules>" +
" <rateRule metaid='rr'/>" +
"</listOfRules>" +
"<listOfReactions>" +
" <reaction metaid='rx'/>" +
"</listOfReactions>" +
"<listOfEvents>" +
" <event metaid='e'/>" +
"</listOfEvents>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M != null );
sb = M.getFunctionDefinition(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "fd" == sb.getMetaId() ));
sb = M.getUnitDefinition(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "ud" == sb.getMetaId() ));
sb = M.getCompartment(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "c" == sb.getMetaId() ));
sb = M.getSpecies(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "s" == sb.getMetaId() ));
sb = M.getParameter(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "p" == sb.getMetaId() ));
sb = M.getRule(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "rr" == sb.getMetaId() ));
sb = M.getReaction(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "rx" == sb.getMetaId() ));
sb = M.getEvent(0);
assertEquals( true, sb.isSetMetaId() );
assertTrue(( "e" == sb.getMetaId() ));
}
示例8: test_ReadSBML_AlgebraicRule
public void test_ReadSBML_AlgebraicRule()
{
Rule ar;
string s = wrapSBML_L1v2("<listOfRules>" +
" <algebraicRule formula='x + 1'/>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
ar = M.getRule(0);
assertTrue(( "x + 1" == ar.getFormula() ));
}
示例9: test_ReadSBML_CompartmentVolumeRule
public void test_ReadSBML_CompartmentVolumeRule()
{
Rule cvr;
string s = wrapSBML_L1v2("<listOfRules>" +
" <compartmentVolumeRule compartment='A' formula='0.10 * t'/>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
cvr = M.getRule(0);
assertEquals( true, cvr.isCompartmentVolume() );
assertTrue(( "A" == cvr.getVariable() ));
assertTrue(( "0.10 * t" == cvr.getFormula() ));
assertTrue( cvr.getType() == libsbml.RULE_TYPE_SCALAR );
}
示例10: test_ReadSBML_AssignmentRule
public void test_ReadSBML_AssignmentRule()
{
Rule ar;
ASTNode math;
string formula;
string s = wrapSBML_L2v1("<listOfRules>" +
" <assignmentRule variable='k'>" +
" <math>" +
" <apply>" +
" <divide/>" +
" <ci> k3 </ci>" +
" <ci> k2 </ci>" +
" </apply>" +
" </math>" +
" </assignmentRule>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
ar = M.getRule(0);
assertTrue( ar != null );
assertEquals( true, ar.isSetMath() );
math = ar.getMath();
formula = ar.getFormula();
assertTrue( formula != null );
assertTrue(( "k3 / k2" == formula ));
}
示例11: test_ReadSBML_SpeciesConcentrationRule
public void test_ReadSBML_SpeciesConcentrationRule()
{
Rule scr;
string s = wrapSBML_L1v2("<listOfRules>" +
" <speciesConcentrationRule species='s2' formula='k * t/(1 + k)'/>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
scr = M.getRule(0);
assertEquals( true, scr.isSpeciesConcentration() );
assertTrue(( "s2" == scr.getVariable() ));
assertTrue(( "k * t/(1 + k)" == scr.getFormula() ));
assertTrue( scr.getType() == libsbml.RULE_TYPE_SCALAR );
}
示例12: test_ReadSBML_AlgebraicRule_L2
public void test_ReadSBML_AlgebraicRule_L2()
{
Rule ar;
ASTNode math;
string formula;
string s = wrapSBML_L2v1("<listOfRules>" +
" <algebraicRule>" +
" <math>" +
" <apply>" +
" <minus/>" +
" <apply>" +
" <plus/>" +
" <ci> S1 </ci>" +
" <ci> S2 </ci>" +
" </apply>" +
" <ci> T </ci>" +
" </apply>" +
" </math>" +
" </algebraicRule>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
ar = M.getRule(0);
assertTrue( ar != null );
assertEquals( true, ar.isSetMath() );
math = ar.getMath();
formula = ar.getFormula();
assertTrue( formula != null );
assertTrue(( "S1 + S2 - T" == formula ));
}
示例13: test_ReadSBML_RateRule
public void test_ReadSBML_RateRule()
{
Rule rr;
ASTNode math;
string formula;
string s = wrapSBML_L2v1("<listOfRules>" +
" <rateRule variable='x'>" +
" <math>" +
" <apply>" +
" <times/>" +
" <apply>" +
" <minus/>" +
" <cn> 1 </cn>" +
" <ci> x </ci>" +
" </apply>" +
" <apply>" +
" <ln/>" +
" <ci> x </ci>" +
" </apply>" +
" </apply>" +
" </math>" +
" </rateRule>" +
"</listOfRules>");
D = libsbml.readSBMLFromString(s);
M = D.getModel();
assertTrue( M.getNumRules() == 1 );
rr = M.getRule(0);
assertTrue( rr != null );
assertEquals( true, rr.isSetMath() );
math = rr.getMath();
formula = rr.getFormula();
assertTrue( formula != null );
assertTrue(( "(1 - x) * log(x)" == formula ));
}