getRule() public method

public getRule ( long n ) : Rule
n long
return Rule
 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() );
 }
Example #2
0
 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 );
 }
Example #3
0
        /// <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;
        }
 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() );
 }
Example #5
0
 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 );
 }
Example #6
0
 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 );
 }
Example #7
0
 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() ));
 }
Example #8
0
 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() ));
 }
Example #9
0
 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 );
 }
Example #10
0
 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 ));
 }
Example #11
0
 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 );
 }
Example #12
0
 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 ));
 }
Example #13
0
 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 ));
 }