public void test_SBMLTransforms_replaceFD()
 {
   SBMLReader reader = new SBMLReader();
   SBMLDocument d;
   Model m;
   ASTNode ast;
   FunctionDefinition fd;
   ListOfFunctionDefinitions lofd;
   string filename =  "../../sbml/test/test-data/";
   filename += "multiple-functions.xml";
   d = reader.readSBML(filename);
   if (d == null);
   {
   }
   m = d.getModel();
   assertTrue( m.getNumFunctionDefinitions() == 2 );
   d.expandFunctionDefinitions();
   assertTrue( d.getModel().getNumFunctionDefinitions() == 0 );
   ast = d.getModel().getReaction(0).getKineticLaw().getMath();
   assertTrue((  "S1 * p * compartmentOne / t" == libsbml.formulaToString(ast) ));
   ast = d.getModel().getReaction(1).getKineticLaw().getMath();
   assertTrue((  "S1 * p * compartmentOne / t" == libsbml.formulaToString(ast) ));
   ast = d.getModel().getReaction(2).getKineticLaw().getMath();
   assertTrue((  "S1 * p * compartmentOne / t" == libsbml.formulaToString(ast) ));
 }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            if (args.Length != 2)
            {
                string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]);
                Console.WriteLine("Usage: {0} input-filename output-filename", myname);
                Environment.Exit(1);
            }

            string inputFile  = args[0];
            string outputFile = args[1];

            if (!File.Exists(inputFile))
            {
                Console.WriteLine("[Error] {0} : No such file.", inputFile);
                Environment.Exit(1);
            }

            SBMLReader   reader  = new SBMLReader();
            SBMLWriter   writer  = new SBMLWriter();
            SBMLDocument sbmlDoc = reader.readSBML(inputFile);

            if (sbmlDoc.getNumErrors() > 0)
            {
                sbmlDoc.printErrors();
                Console.WriteLine("[Error] Cannot read {0}", inputFile);
                Environment.Exit(1);
            }

            writer.writeSBML(sbmlDoc, outputFile);

            Console.WriteLine("[OK] Echoed {0} to {1}", inputFile, outputFile);
        }
Exemplo n.º 3
0
        public void test_GetMultipleObjects_noLocalParameters()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            string       filename = "../../sbml/test/test-data/";

            filename += "multiple-ids.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            SBase rxn = d.getElementBySId("J0");

            assertTrue(rxn != null);
            SBase obj = rxn.getElementBySId("x");

            assertTrue(obj == null);
            obj = rxn.getElementByMetaId("meta28");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LOCAL_PARAMETER);
            d = null;
        }
Exemplo n.º 4
0
        public static void Main(String[] args)
        {
            if (args.Length < 2 || args.Length > 3)
            {
                Console.WriteLine("Usage: FlattenModel [-p] input-filename output-filename");
                Console.WriteLine(" -p : list unused ports");
                Environment.Exit(2);
            }

            SBMLReader reader     = new SBMLReader();
            SBMLWriter writer     = new SBMLWriter();
            bool       leavePorts = false;

            SBMLDocument doc;

            if (args.Length == 2)
            {
                doc = reader.readSBML(args[0]);
            }
            else
            {
                doc        = reader.readSBML(args[1]);
                leavePorts = true;
            }


            if (doc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0)
            {
                doc.printErrors();
            }
            else
            {
                /* create a new conversion properties structure */
                ConversionProperties props = new ConversionProperties();

                /* add an option that we want to flatten */
                props.addOption("flatten comp", true, "flatten comp");

                /* add an option to leave ports if the user has requested this */
                props.addOption("leavePorts", leavePorts, "unused ports should be listed in the flattened model");

                /* perform the conversion */
                int result = doc.convert(props);
                if (result != libsbml.LIBSBML_OPERATION_SUCCESS)
                {
                    Console.WriteLine("conversion failed ... ({0})", result);
                    doc.printErrors();
                    Environment.Exit(3);
                }

                if (args.Length == 2)
                {
                    writer.writeSBML(doc, args[1]);
                }
                else
                {
                    writer.writeSBML(doc, args[2]);
                }
            }
        }
 public void test_SBMLTransforms_replaceIA_species()
 {
   SBMLReader reader = new SBMLReader();
   SBMLDocument d;
   Model m;
   ASTNode ast;
   FunctionDefinition fd;
   ListOfFunctionDefinitions lofd;
   string filename =  "../../sbml/test/test-data/";
   filename += "initialAssignments_species.xml";
   d = reader.readSBML(filename);
   if (d == null);
   {
   }
   m = d.getModel();
   assertTrue( m.getNumInitialAssignments() == 3 );
   assertTrue( m.getParameter(1).getValue() == 0.75 );
   assertEquals( false, (m.getParameter(2).isSetValue()) );
   assertEquals( true, m.getSpecies(2).isSetInitialAmount() );
   assertTrue( m.getSpecies(2).getInitialAmount() == 2 );
   d.expandInitialAssignments();
   assertTrue( d.getModel().getNumInitialAssignments() == 0 );
   assertTrue( m.getParameter(1).getValue() == 3 );
   assertEquals( true, m.getParameter(2).isSetValue() );
   assertTrue( m.getParameter(2).getValue() == 0.75 );
   assertEquals( false, (m.getSpecies(2).isSetInitialAmount()) );
   assertTrue( m.getSpecies(2).getInitialConcentration() == 2 );
 }
Exemplo n.º 6
0
        public static void Main(string[] args)
        {
            if (args.Length != 2)
            {
                string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]);
                Console.WriteLine("Usage: {0} input-filename output-filename", myname);
                Environment.Exit(1);
            }

            string inputFile  = args[0];
            string outputFile = args[1];


            if (!File.Exists(inputFile))
            {
                Console.WriteLine("[Error] {0} : No such file.", inputFile);
                Environment.Exit(1);
            }

            var now = DateTime.Now.Ticks;

            SBMLReader   reader  = new SBMLReader();
            SBMLWriter   writer  = new SBMLWriter();
            SBMLDocument sbmlDoc = reader.readSBML(inputFile);

            if (sbmlDoc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0)
            {
                sbmlDoc.printErrors();
                Console.WriteLine("[Error] Cannot read {0}", inputFile);
                Environment.Exit(1);
            }

            Console.WriteLine("Read {0} in {1}", inputFile, new TimeSpan(DateTime.Now.Ticks - now).TotalMilliseconds);

            /* create a new conversion properties structure */
            ConversionProperties props = new ConversionProperties();

            /* add an option that we want to convert a model  with
             * L3 FBC to L2 with COBRA annotation */
            props.addOption("convert fbc to cobra", true, "Convert FBC model to Cobra model");

            now = DateTime.Now.Ticks;

            /* perform the conversion */
            int result = sbmlDoc.convert(props);

            if (result != libsbml.LIBSBML_OPERATION_SUCCESS)
            {
                Console.WriteLine("conversion failed ... ");
                Environment.Exit(3);
            }

            writer.writeSBML(sbmlDoc, outputFile);

            Console.WriteLine("[OK] converted to FBC from {0} and wrote to {1}  (in {2} msec)", inputFile, outputFile, new TimeSpan(DateTime.Now.Ticks - now).TotalMilliseconds);
        }
Exemplo n.º 7
0
        /// <summary>
        ///     Initializes and returns a new binary model based on an SBML file.
        /// </summary>
        /// <param name="filePath">The SBML file path</param>
        /// <returns>A new <see cref="BinaryModel" /> instance initialized from <paramref name="filePath" /></returns>
        public BinaryModel ReadFromSbmlFile(string filePath)
        {
            var reader    = new SBMLReader();
            var sbmlDoc   = reader.readSBML(filePath);
            var sbmlModel = sbmlDoc.getModel();

            Console.WriteLine("Initializing boolean model");
            var binaryModel = new BinaryModel();

            InitFromSbmlQualModel(binaryModel, sbmlModel);
            return(binaryModel);
        }
Exemplo n.º 8
0
        public static void Main(string[] args)
        {
            if (args.Length != 3)
            {
                string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]);
                Console.WriteLine("Usage: {0} input-filename package-to-strip output-filename", myname);
                Environment.Exit(1);
            }

            string inputFile      = args[0];
            string packageToStrip = args[1];
            string outputFile     = args[2];

            if (!File.Exists(inputFile))
            {
                Console.WriteLine("[Error] {0} : No such file.", inputFile);
                Environment.Exit(1);
            }

            SBMLReader   reader  = new SBMLReader();
            SBMLWriter   writer  = new SBMLWriter();
            SBMLDocument sbmlDoc = reader.readSBML(inputFile);

            if (sbmlDoc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0)
            {
                sbmlDoc.printErrors();
                Console.WriteLine("[Error] Cannot read {0}", inputFile);
                Environment.Exit(1);
            }

            /* create a new conversion properties structure */
            ConversionProperties props = new ConversionProperties();

            /* add an option that we want to strip a given package */
            props.addOption("stripPackage", true, "Strip SBML Level 3 package constructs from the model");

            /* add an option with the package we want to remove */
            props.addOption("package", packageToStrip, "Name of the SBML Level 3 package to be stripped");

            /* perform the conversion */
            if (sbmlDoc.convert(props) != libsbml.LIBSBML_OPERATION_SUCCESS)
            {
                Console.WriteLine("conversion failed ... ");
                Environment.Exit(3);
            }

            writer.writeSBML(sbmlDoc, outputFile);

            Console.WriteLine("[OK] Stripped package '{0}' from {1} and wrote to {2}", packageToStrip, inputFile, outputFile);
        }
        public void test_consistency_checks()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            long         errors;
            string       filename = "../../sbml/test/test-data/";

            filename += "inconsistent.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            errors = d.checkConsistency();
            assertTrue(errors == 1);
            assertTrue(d.getError(0).getErrorId() == 10301);
            d.getErrorLog().clearLog();
            d.setConsistencyChecks(libsbml.LIBSBML_CAT_IDENTIFIER_CONSISTENCY, false);
            errors = d.checkConsistency();
            assertTrue(errors == 2);
            assertTrue(d.getError(0).getErrorId() == 10214);
            assertTrue(d.getError(1).getErrorId() == 20612);
            d.getErrorLog().clearLog();
            d.setConsistencyChecks(libsbml.LIBSBML_CAT_GENERAL_CONSISTENCY, false);
            errors = d.checkConsistency();
            assertTrue(errors == 1);
            assertTrue(d.getError(0).getErrorId() == 10701);
            d.getErrorLog().clearLog();
            d.setConsistencyChecks(libsbml.LIBSBML_CAT_SBO_CONSISTENCY, false);
            errors = d.checkConsistency();
            assertTrue(errors == 1);
            assertTrue(d.getError(0).getErrorId() == 10214);
            d.getErrorLog().clearLog();
            d.setConsistencyChecks(libsbml.LIBSBML_CAT_MATHML_CONSISTENCY, false);
            errors = d.checkConsistency();
            assertTrue(errors == 4);
            assertTrue(d.getError(0).getErrorId() == 99505);
            assertTrue(d.getError(1).getErrorId() == 99505);
            assertTrue(d.getError(2).getErrorId() == 99505);
            assertTrue(d.getError(3).getErrorId() == 80701);
            d.getErrorLog().clearLog();
            d.setConsistencyChecks(libsbml.LIBSBML_CAT_UNITS_CONSISTENCY, false);
            errors = d.checkConsistency();
            assertTrue(errors == 0);
            d = null;
        }
Exemplo n.º 10
0
        public void test_read_l2v4_new()
        {
            SBMLReader      reader = new SBMLReader();
            SBMLDocument    d;
            Model           m;
            Compartment     c;
            Event           e;
            Trigger         trigger;
            EventAssignment ea;
            ASTNode         ast;
            string          filename = "../../sbml/test/test-data/";

            filename += "l2v4-new.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            assertTrue(d.getLevel() == 2);
            assertTrue(d.getVersion() == 4);
            m = d.getModel();
            assertTrue(m != null);
            assertTrue(m.getId() == "l2v4_all");
            assertTrue(m.getNumCompartments() == 1);
            c = m.getCompartment(0);
            assertTrue(c != null);
            assertTrue(c.getId() == "a");
            assertTrue(c.getSize() == 1);
            assertEquals(false, c.getConstant());
            assertTrue(m.getNumEvents() == 1);
            e = m.getEvent(0);
            assertTrue(e != null);
            assertEquals(true, e.getUseValuesFromTriggerTime());
            assertEquals(true, e.isSetTrigger());
            trigger = e.getTrigger();
            assertTrue(trigger != null);
            ast = trigger.getMath();
            assertTrue(("lt(x, 3)" == libsbml.formulaToString(ast)));
            assertTrue(e.getNumEventAssignments() == 1);
            ea = e.getEventAssignment(0);
            assertTrue(ea != null);
            assertTrue(ea.getVariable() == "a");
            ast = ea.getMath();
            assertTrue(("x * p3" == libsbml.formulaToString(ast)));
            d = null;
        }
        public static void Main(string[] args)
        {
            if (args.Length != 2)
            {
                string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]);
                Console.WriteLine("Usage: {0} input-filenameoutput-filename", myname);
                Environment.Exit(1);
            }

            string inputFile  = args[0];
            string outputFile = args[1];

            if (!File.Exists(inputFile))
            {
                Console.WriteLine("[Error] {0} : No such file.", inputFile);
                Environment.Exit(1);
            }

            SBMLReader   reader  = new SBMLReader();
            SBMLWriter   writer  = new SBMLWriter();
            SBMLDocument sbmlDoc = reader.readSBML(inputFile);

            if (sbmlDoc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0)
            {
                sbmlDoc.printErrors();
                Console.WriteLine("[Error] Cannot read {0}", inputFile);
                Environment.Exit(1);
            }

            /* create a new conversion properties structure */
            ConversionProperties props = new ConversionProperties();

            /* add an option that we want to promote parameters */
            props.addOption("promoteLocalParameters", true, "Promotes all Local Parameters to Global ones");

            /* perform the conversion */
            if (sbmlDoc.convert(props) != libsbml.LIBSBML_OPERATION_SUCCESS)
            {
                Console.WriteLine("conversion failed ... ");
                Environment.Exit(3);
            }

            writer.writeSBML(sbmlDoc, outputFile);

            Console.WriteLine("[OK] promoted paramters from {0} and wrote to {1}", inputFile, outputFile);
        }
Exemplo n.º 12
0
        public void test_GetMultipleObjects_allElements()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            string       filename = "../../sbml/test/test-data/";

            filename += "multiple-ids.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            SBaseList list = d.getListOfAllElements();

            assertTrue(list.getSize() == 37);
            d = null;
        }
Exemplo n.º 13
0
        public void test_GetMultipleObjects_getId()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            string       filename = "../../sbml/test/test-data/";

            filename += "multiple-ids.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            SBase obj = d.getElementBySId("no_id");

            assertTrue(obj == null);
            obj = d.getElementBySId("");
            assertTrue(obj == null);
            obj = d.getElementBySId("find_id");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_MODEL);
            obj = d.getElementBySId("func1");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_FUNCTION_DEFINITION);
            obj = d.getElementBySId("comp");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_COMPARTMENT);
            obj = d.getElementBySId("b");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_SPECIES);
            obj = d.getElementBySId("x");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_PARAMETER);
            obj = d.getElementBySId("J0");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_REACTION);
            obj = d.getElementBySId("E0");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT);
            d = null;
        }
Exemplo n.º 14
0
        public void test_GetMultipleObjects_noUnits()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            string       filename = "../../sbml/test/test-data/";

            filename += "multiple-ids.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            SBase obj = d.getElementBySId("volume");

            assertTrue(obj == null);
            obj = d.getElementByMetaId("meta30");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_UNIT_DEFINITION);
            d = null;
        }
Exemplo n.º 15
0
        public void test_GetMultipleObjects_noAssignments()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            string       filename = "../../sbml/test/test-data/";

            filename += "assignments-invalid.xml";
            d         = reader.readSBML(filename);
            if (d.getModel() == null)
            {
                ;
            }
            {
            }
            SBase obj = d.getElementBySId("ia");

            assertTrue(obj == null);
            obj = d.getElementByMetaId("ia_meta");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_INITIAL_ASSIGNMENT);
            obj = d.getElementBySId("ar");
            assertTrue(obj == null);
            obj = d.getElementByMetaId("ar_meta");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_ASSIGNMENT_RULE);
            obj = d.getElementBySId("rr");
            assertTrue(obj == null);
            obj = d.getElementByMetaId("rr_meta");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_RATE_RULE);
            obj = d.getElementBySId("ea");
            assertTrue(obj == null);
            obj = d.getElementByMetaId("ea_meta");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT);
            d = null;
        }
Exemplo n.º 16
0
        public void test_read_l3v1_new()
        {
            SBMLReader       reader = new SBMLReader();
            SBMLDocument     d;
            Model            m;
            UnitDefinition   ud;
            Unit             u;
            Compartment      c;
            Species          s;
            Parameter        p;
            Reaction         r;
            SpeciesReference sr;
            KineticLaw       kl;
            LocalParameter   lp;
            Event            e;
            Trigger          t;
            Priority         pr;
            string           filename = "../../sbml/test/test-data/";

            filename += "l3v1-new-invalid.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            assertTrue(d.getLevel() == 3);
            assertTrue(d.getVersion() == 1);
            m = d.getModel();
            assertTrue(m != null);
            assertEquals(true, m.isSetSubstanceUnits());
            assertEquals(true, m.isSetTimeUnits());
            assertEquals(true, m.isSetVolumeUnits());
            assertEquals(true, m.isSetLengthUnits());
            assertEquals(true, m.isSetAreaUnits());
            assertEquals(true, m.isSetExtentUnits());
            assertEquals(true, m.isSetConversionFactor());
            assertTrue(m.getSubstanceUnits() == "mole");
            assertTrue(m.getTimeUnits() == "second");
            assertTrue(m.getVolumeUnits() == "litre");
            assertTrue(m.getLengthUnits() == "metre");
            assertTrue(m.getAreaUnits() == "metre");
            assertTrue(m.getExtentUnits() == "mole");
            assertTrue(m.getConversionFactor() == "p");
            assertTrue(m.getNumUnitDefinitions() == 2);
            ud = m.getUnitDefinition(0);
            assertTrue(ud.getNumUnits() == 1);
            u = ud.getUnit(0);
            assertEquals(false, u.isSetExponent());
            assertEquals(false, u.isSetScale());
            assertEquals(false, u.isSetMultiplier());
            assertEquals(true, isnan(u.getExponentAsDouble()));
            assertTrue(u.getScale() == SBML_INT_MAX);
            assertEquals(true, isnan(u.getMultiplier()));
            ud = m.getUnitDefinition(1);
            assertTrue(ud.getNumUnits() == 3);
            u = ud.getUnit(0);
            assertEquals(true, u.isSetExponent());
            assertEquals(true, u.isSetScale());
            assertEquals(true, u.isSetMultiplier());
            assertTrue(u.getExponent() == -1);
            assertTrue(u.getExponentAsDouble() == -1);
            assertTrue(u.getScale() == 2);
            assertTrue(u.getMultiplier() == 1.3);
            u = ud.getUnit(1);
            assertEquals(true, u.isSetExponent());
            assertEquals(true, u.isSetScale());
            assertEquals(true, u.isSetMultiplier());
            assertTrue(u.getExponentAsDouble() == 1.5);
            assertTrue(u.getScale() == 10);
            assertTrue(u.getMultiplier() == 0.5);
            u = ud.getUnit(2);
            assertEquals(true, u.isSetExponent());
            assertEquals(true, u.isSetScale());
            assertEquals(true, u.isSetMultiplier());
            assertTrue(u.getExponent() == 1);
            assertTrue(u.getScale() == 0);
            assertTrue(u.getMultiplier() == 1);
            assertTrue(m.getNumCompartments() == 3);
            c = m.getCompartment(0);
            assertEquals(true, c.isSetSize());
            assertEquals(true, c.isSetSpatialDimensions());
            assertEquals(true, c.isSetConstant());
            assertTrue(c.getId() == "comp");
            assertTrue(c.getSize() == 1e-14);
            assertTrue(c.getSpatialDimensions() == 3);
            assertTrue(c.getSpatialDimensionsAsDouble() == 3);
            assertTrue(c.getUnits() == "litre");
            assertTrue(c.getConstant() == true);
            c = m.getCompartment(1);
            assertEquals(false, c.isSetSize());
            assertEquals(false, c.isSetSpatialDimensions());
            assertEquals(true, c.isSetConstant());
            assertTrue(c.getId() == "comp1");
            assertEquals(true, isnan(c.getSize()));
            assertEquals(true, isnan(c.getSpatialDimensionsAsDouble()));
            assertTrue(c.getConstant() == false);
            c = m.getCompartment(2);
            assertEquals(false, c.isSetSize());
            assertEquals(true, c.isSetSpatialDimensions());
            assertEquals(false, c.isSetConstant());
            assertTrue(c.getId() == "comp2");
            assertTrue(c.getSpatialDimensionsAsDouble() == 4.6);
            assertTrue(m.getNumSpecies() == 2);
            s = m.getSpecies(0);
            assertTrue(s.getId() == "ES");
            assertTrue(s.getCompartment() == "comp");
            assertEquals(true, s.isSetConversionFactor());
            assertTrue(s.getConversionFactor() == "p");
            assertEquals(true, s.isSetBoundaryCondition());
            assertTrue(s.getBoundaryCondition() == false);
            assertEquals(true, s.isSetHasOnlySubstanceUnits());
            assertTrue(s.getHasOnlySubstanceUnits() == false);
            assertEquals(true, s.isSetSubstanceUnits());
            assertTrue(s.getSubstanceUnits() == "mole");
            assertEquals(true, s.isSetConstant());
            assertTrue(s.getConstant() == false);
            assertEquals(true, s.isSetInitialAmount());
            assertTrue(s.getInitialAmount() == 0);
            assertEquals(false, s.isSetInitialConcentration());
            assertEquals(true, isnan(s.getInitialConcentration()));
            s = m.getSpecies(1);
            assertTrue(s.getId() == "P");
            assertTrue(s.getCompartment() == "comp");
            assertEquals(false, s.isSetConversionFactor());
            assertTrue(s.getConversionFactor() == "");
            assertEquals(false, s.isSetBoundaryCondition());
            assertEquals(false, s.isSetHasOnlySubstanceUnits());
            assertEquals(false, s.isSetSubstanceUnits());
            assertTrue(s.getSubstanceUnits() == "");
            assertEquals(false, s.isSetConstant());
            assertEquals(false, s.isSetInitialAmount());
            assertEquals(true, isnan(s.getInitialAmount()));
            assertEquals(false, s.isSetInitialConcentration());
            assertEquals(true, isnan(s.getInitialConcentration()));
            assertTrue(m.getNumParameters() == 3);
            p = m.getParameter(0);
            assertTrue(p.getId() == "Keq");
            assertEquals(true, p.isSetValue());
            assertTrue(p.getValue() == 2.5);
            assertEquals(true, p.isSetUnits());
            assertTrue(p.getUnits() == "dimensionless");
            assertEquals(true, p.isSetConstant());
            assertTrue(p.getConstant() == true);
            p = m.getParameter(1);
            assertTrue(p.getId() == "Keq1");
            assertEquals(false, p.isSetValue());
            assertEquals(true, isnan(p.getValue()));
            assertEquals(false, p.isSetUnits());
            assertTrue(p.getUnits() == "");
            assertEquals(true, p.isSetConstant());
            assertTrue(p.getConstant() == false);
            p = m.getParameter(2);
            assertTrue(p.getId() == "Keq2");
            assertEquals(false, p.isSetValue());
            assertEquals(true, isnan(p.getValue()));
            assertEquals(false, p.isSetUnits());
            assertTrue(p.getUnits() == "");
            assertEquals(false, p.isSetConstant());
            assertTrue(m.getNumReactions() == 3);
            r = m.getReaction(0);
            assertEquals(true, r.isSetFast());
            assertTrue(r.getFast() == false);
            assertEquals(true, r.isSetReversible());
            assertTrue(r.getReversible() == false);
            assertEquals(true, r.isSetCompartment());
            assertTrue(r.getCompartment() == "comp");
            sr = r.getReactant(0);
            assertEquals(true, sr.isSetConstant());
            assertTrue(sr.getConstant() == true);
            assertEquals(true, sr.isSetStoichiometry());
            assertTrue(sr.getStoichiometry() == 1);
            sr = r.getProduct(0);
            assertEquals(true, sr.isSetConstant());
            assertTrue(sr.getConstant() == false);
            assertEquals(false, sr.isSetStoichiometry());
            assertEquals(true, isnan(sr.getStoichiometry()));
            kl = r.getKineticLaw();
            assertTrue(kl.getNumLocalParameters() == 2);
            assertTrue(kl.getNumParameters() == 2);
            p = kl.getParameter(0);
            assertEquals(true, p.isSetUnits());
            assertTrue(p.getUnits() == "per_second");
            assertEquals(true, p.isSetValue());
            assertTrue(p.getValue() == 0.1);
            lp = kl.getLocalParameter(0);
            assertEquals(true, lp.isSetUnits());
            assertTrue(lp.getUnits() == "per_second");
            assertEquals(true, lp.isSetValue());
            assertTrue(lp.getValue() == 0.1);
            lp = kl.getLocalParameter(1);
            assertEquals(false, lp.isSetUnits());
            assertTrue(lp.getUnits() == "");
            assertEquals(false, lp.isSetValue());
            assertEquals(true, isnan(lp.getValue()));
            r = m.getReaction(1);
            assertEquals(true, r.isSetFast());
            assertTrue(r.getFast() == true);
            assertEquals(true, r.isSetReversible());
            assertTrue(r.getReversible() == true);
            assertEquals(false, r.isSetCompartment());
            assertTrue(r.getCompartment() == "");
            sr = r.getReactant(0);
            assertEquals(false, sr.isSetConstant());
            r = m.getReaction(2);
            assertEquals(false, r.isSetFast());
            assertEquals(false, r.isSetReversible());
            assertEquals(false, r.isSetCompartment());
            assertTrue(r.getCompartment() == "");
            e = m.getEvent(0);
            t = e.getTrigger();
            assertEquals(true, t.isSetPersistent());
            assertTrue(t.getPersistent() == false);
            assertEquals(true, t.isSetInitialValue());
            assertTrue(t.getInitialValue() == false);
            assertEquals(true, e.isSetPriority());
            pr = e.getPriority();
            assertTrue(pr != null);
            assertEquals(true, pr.isSetMath());
            e = m.getEvent(1);
            assertEquals(false, e.isSetPriority());
            t = e.getTrigger();
            assertEquals(false, (t.isSetPersistent()));
            assertEquals(false, (t.isSetInitialValue()));
            d = null;
        }
Exemplo n.º 17
0
        public void test_read_l2v2_newComponents()
        {
            SBMLReader               reader = new SBMLReader();
            SBMLDocument             d;
            Model                    m;
            Compartment              c;
            CompartmentType          ct;
            Species                  s;
            Parameter                p;
            Reaction                 r;
            SpeciesReference         sr;
            KineticLaw               kl;
            Constraint               con;
            InitialAssignment        ia;
            SpeciesType              st;
            ListOfCompartmentTypes   loct;
            CompartmentType          ct1;
            ListOfConstraints        locon;
            Constraint               con1;
            ListOfInitialAssignments loia;
            InitialAssignment        ia1;
            ListOfReactions          lor;
            Reaction                 r1;
            ListOfSpeciesReferences  losr;
            SpeciesReference         sr1;
            ASTNode                  ast;
            string                   filename = "../../sbml/test/test-data/";

            filename += "l2v2-newComponents.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            assertTrue(d.getLevel() == 2);
            assertTrue(d.getVersion() == 2);
            m = d.getModel();
            assertTrue(m != null);
            assertTrue(m.getId() == "l2v2_newComponents");
            assertTrue(m.getSBOTerm() == 4);
            assertTrue(m.getSBOTermID() == "SBO:0000004");
            assertTrue(m.getNumCompartments() == 2);
            c = m.getCompartment(0);
            assertTrue(c != null);
            assertTrue(c.getId() == "cell");
            assertEquals(c.getCompartmentType(), "mitochondria");
            assertTrue(c.getOutside() == "m");
            assertTrue(c.getSBOTerm() == -1);
            assertTrue(c.getSBOTermID() == "");
            c = m.getCompartment(1);
            assertTrue(c != null);
            assertTrue(c.getId() == "m");
            assertEquals(c.getCompartmentType(), "mitochondria");
            assertTrue(m.getNumCompartmentTypes() == 1);
            ct = m.getCompartmentType(0);
            assertTrue(ct != null);
            assertTrue(ct.getId() == "mitochondria");
            loct = m.getListOfCompartmentTypes();
            ct1  = loct.get(0);
            assertTrue(ct1 == ct);
            ct1 = loct.get("mitochondria");
            assertTrue(ct1 == ct);
            assertTrue(m.getNumSpeciesTypes() == 1);
            st = m.getSpeciesType(0);
            assertTrue(st != null);
            assertTrue(st.getId() == "Glucose");
            assertTrue(m.getNumSpecies() == 2);
            s = m.getSpecies(0);
            assertTrue(s != null);
            assertTrue(s.getId() == "X0");
            assertEquals(s.getSpeciesType(), "Glucose");
            assertTrue(s.getCompartment() == "cell");
            assertEquals(false, s.isSetInitialAmount());
            assertEquals(false, s.isSetInitialConcentration());
            s = m.getSpecies(1);
            assertTrue(s != null);
            assertTrue(s.getId() == "X1");
            assertEquals(false, s.isSetSpeciesType());
            assertTrue(s.getCompartment() == "cell");
            assertTrue(s.getInitialConcentration() == 0.013);
            assertEquals(false, s.isSetInitialAmount());
            assertEquals(true, s.isSetInitialConcentration());
            assertTrue(m.getNumParameters() == 1);
            p = m.getParameter(0);
            assertTrue(p != null);
            assertTrue(p.getId() == "y");
            assertTrue(p.getValue() == 2);
            assertTrue(p.getUnits() == "dimensionless");
            assertTrue(p.getId() == "y");
            assertTrue(p.getSBOTerm() == 2);
            assertTrue(p.getSBOTermID() == "SBO:0000002");
            assertTrue(m.getNumConstraints() == 1);
            con = m.getConstraint(0);
            assertTrue(con != null);
            assertTrue(con.getSBOTerm() == 64);
            assertTrue(con.getSBOTermID() == "SBO:0000064");
            ast = con.getMath();
            assertTrue(("lt(1, cell)" == libsbml.formulaToString(ast)));
            locon = m.getListOfConstraints();
            con1  = locon.get(0);
            assertTrue(con1 == con);
            assertTrue(m.getNumInitialAssignments() == 1);
            ia = m.getInitialAssignment(0);
            assertTrue(ia != null);
            assertTrue(ia.getSBOTerm() == 64);
            assertTrue(ia.getSBOTermID() == "SBO:0000064");
            assertTrue(ia.getSymbol() == "X0");
            ast = ia.getMath();
            assertTrue(("y * X1" == libsbml.formulaToString(ast)));
            loia = m.getListOfInitialAssignments();
            ia1  = loia.get(0);
            assertTrue(ia1 == ia);
            ia1 = loia.get("X0");
            assertTrue(ia1 == ia);
            assertTrue(m.getNumReactions() == 1);
            r = m.getReaction(0);
            assertTrue(r != null);
            assertTrue(r.getSBOTerm() == 231);
            assertTrue(r.getSBOTermID() == "SBO:0000231");
            assertTrue(r.getId() == "in");
            lor = m.getListOfReactions();
            r1  = lor.get(0);
            assertTrue(r1 == r);
            r1 = lor.get("in");
            assertTrue(r1 == r);
            assertEquals(true, r.isSetKineticLaw());
            kl = r.getKineticLaw();
            assertTrue(kl != null);
            assertTrue(kl.getSBOTerm() == 1);
            assertTrue(kl.getSBOTermID() == "SBO:0000001");
            assertEquals(true, kl.isSetMath());
            ast = kl.getMath();
            assertTrue(("v * X0 / t" == libsbml.formulaToString(ast)));
            assertTrue(kl.getNumParameters() == 2);
            p = kl.getParameter(0);
            assertTrue(p != null);
            assertTrue(p.getSBOTerm() == 2);
            assertTrue(p.getSBOTermID() == "SBO:0000002");
            assertTrue(p.getId() == "v");
            assertTrue(p.getUnits() == "litre");
            assertTrue(r.getNumReactants() == 1);
            assertTrue(r.getNumProducts() == 0);
            assertTrue(r.getNumModifiers() == 0);
            sr = r.getReactant(0);
            assertTrue(sr != null);
            assertTrue(sr.getName() == "sarah");
            assertTrue(sr.getId() == "me");
            assertTrue(sr.getSpecies() == "X0");
            losr = r.getListOfReactants();
            sr1  = (SpeciesReference)losr.get(0);
            assertTrue(sr1 == sr);
            sr1 = (SpeciesReference)losr.get("me");
            assertTrue(sr1 == sr);
            d = null;
        }
Exemplo n.º 18
0
        public void test_read_MathML_1()
        {
            SBMLReader         reader = new SBMLReader();
            SBMLDocument       d;
            Model              m;
            FunctionDefinition fd;
            InitialAssignment  ia;
            Rule       r;
            KineticLaw kl;
            string     filename = "../../sbml/math/test/test-data/";

            filename += "mathML_1-invalid.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            m = d.getModel();
            assertTrue(m != null);
            assertTrue(m.getNumFunctionDefinitions() == 2);
            assertTrue(m.getNumInitialAssignments() == 1);
            assertTrue(m.getNumRules() == 2);
            assertTrue(m.getNumReactions() == 1);
            fd = m.getFunctionDefinition(0);
            ASTNode fd_math = fd.getMath();

            assertTrue(fd_math.getType() == libsbml.AST_LAMBDA);
            assertTrue(fd_math.getNumChildren() == 2);
            assertTrue(("lambda(x, )" == libsbml.formulaToString(fd_math)));
            assertTrue(fd_math.getParentSBMLObject() == fd);
            ASTNode child = fd_math.getRightChild();

            assertTrue(child.getType() == libsbml.AST_UNKNOWN);
            assertTrue(child.getNumChildren() == 0);
            assertTrue(("" == libsbml.formulaToString(child)));
            fd = m.getFunctionDefinition(1);
            ASTNode fd1_math = fd.getMath();

            assertTrue(fd1_math.getType() == libsbml.AST_LAMBDA);
            assertTrue(fd1_math.getNumChildren() == 2);
            assertTrue(("lambda(x, true)" == libsbml.formulaToString(fd1_math)));
            assertTrue(fd1_math.getParentSBMLObject() == fd);
            ASTNode child1 = fd1_math.getRightChild();

            assertTrue(child1.getType() == libsbml.AST_CONSTANT_TRUE);
            assertTrue(child1.getNumChildren() == 0);
            assertTrue(("true" == libsbml.formulaToString(child1)));
            ia = m.getInitialAssignment(0);
            ASTNode ia_math = ia.getMath();

            assertTrue(ia_math.getType() == libsbml.AST_UNKNOWN);
            assertTrue(ia_math.getNumChildren() == 0);
            assertTrue(("" == libsbml.formulaToString(ia_math)));
            assertTrue(ia_math.getParentSBMLObject() == ia);
            r = m.getRule(0);
            ASTNode r_math = r.getMath();

            assertTrue(r_math.getType() == libsbml.AST_CONSTANT_TRUE);
            assertTrue(r_math.getNumChildren() == 0);
            assertTrue(("true" == libsbml.formulaToString(r_math)));
            assertTrue(r_math.getParentSBMLObject() == r);
            r = m.getRule(1);
            ASTNode r1_math = r.getMath();

            assertTrue(r1_math.getType() == libsbml.AST_REAL);
            assertTrue(r1_math.getNumChildren() == 0);
            assertTrue(("INF" == libsbml.formulaToString(r1_math)));
            assertTrue(r1_math.getParentSBMLObject() == r);
            kl = m.getReaction(0).getKineticLaw();
            //ASTNode kl_math = kl.getMath();
            //assertTrue( kl_math == null );
            d = null;
        }
Exemplo n.º 19
0
        public void test_read_l2v3_all()
        {
            SBMLReader         reader = new SBMLReader();
            SBMLDocument       d;
            Model              m;
            Compartment        c;
            CompartmentType    ct;
            Species            s;
            Parameter          p;
            AssignmentRule     ar;
            Reaction           r;
            SpeciesReference   sr;
            KineticLaw         kl;
            UnitDefinition     ud;
            Constraint         con;
            Event              e;
            Delay              delay;
            Trigger            trigger;
            EventAssignment    ea;
            FunctionDefinition fd;
            InitialAssignment  ia;
            AlgebraicRule      alg;
            RateRule           rr;
            SpeciesType        st;
            StoichiometryMath  stoich;
            Unit                      u;
            ListOfEvents              loe;
            Event                     e1;
            ListOfEventAssignments    loea;
            EventAssignment           ea1;
            ListOfFunctionDefinitions lofd;
            FunctionDefinition        fd1;
            ListOfParameters          lop;
            Parameter                 p1;
            ListOfSpeciesTypes        lost;
            SpeciesType               st1;
            ListOfUnitDefinitions     loud;
            UnitDefinition            ud1;
            ListOfUnits               lou;
            Unit                      u1;
            ASTNode                   ast;
            string                    filename = "../../sbml/test/test-data/";

            filename += "l2v3-all.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            assertTrue(d.getLevel() == 2);
            assertTrue(d.getVersion() == 3);
            m = d.getModel();
            assertTrue(m != null);
            assertTrue(m.getId() == "l2v3_all");
            assertTrue(m.getNumCompartments() == 1);
            c = m.getCompartment(0);
            assertTrue(c != null);
            assertTrue(c.getId() == "a");
            assertEquals(c.getCompartmentType(), "hh");
            assertTrue(c.getSBOTerm() == 236);
            assertTrue(c.getSBOTermID() == "SBO:0000236");
            assertTrue(c.getSize() == 2.3);
            assertTrue(m.getNumCompartmentTypes() == 1);
            ct = m.getCompartmentType(0);
            assertTrue(ct != null);
            assertTrue(ct.getId() == "hh");
            assertTrue(ct.getSBOTerm() == 236);
            assertTrue(ct.getSBOTermID() == "SBO:0000236");
            assertTrue(m.getNumSpeciesTypes() == 1);
            st = m.getSpeciesType(0);
            assertTrue(st != null);
            assertTrue(st.getId() == "gg");
            assertTrue(st.getName() == "dd");
            assertTrue(st.getSBOTerm() == 236);
            assertTrue(st.getSBOTermID() == "SBO:0000236");
            lost = m.getListOfSpeciesTypes();
            st1  = lost.get(0);
            assertTrue(st1 == st);
            st1 = lost.get("gg");
            assertTrue(st1 == st);
            assertTrue(m.getNumConstraints() == 1);
            con = m.getConstraint(0);
            assertTrue(con != null);
            ast = con.getMath();
            assertTrue(("lt(x, 3)" == libsbml.formulaToString(ast)));
            assertTrue(m.getNumEvents() == 1);
            e = m.getEvent(0);
            assertTrue(e != null);
            assertTrue(e.getId() == "e1");
            assertTrue(e.getSBOTerm() == 231);
            assertTrue(e.getSBOTermID() == "SBO:0000231");
            assertEquals(true, e.isSetDelay());
            delay = e.getDelay();
            assertTrue(delay != null);
            assertTrue(delay.getSBOTerm() == 64);
            assertTrue(delay.getSBOTermID() == "SBO:0000064");
            ast = delay.getMath();
            assertTrue(("p + 3" == libsbml.formulaToString(ast)));
            assertEquals(true, e.isSetTrigger());
            trigger = e.getTrigger();
            assertTrue(trigger != null);
            assertTrue(trigger.getSBOTerm() == 64);
            assertTrue(trigger.getSBOTermID() == "SBO:0000064");
            ast = trigger.getMath();
            assertTrue(("lt(x, 3)" == libsbml.formulaToString(ast)));
            loe = m.getListOfEvents();
            e1  = loe.get(0);
            assertTrue(e1 == e);
            e1 = loe.get("e1");
            assertTrue(e1 == e);
            assertTrue(e.getNumEventAssignments() == 1);
            ea = e.getEventAssignment(0);
            assertTrue(ea != null);
            assertTrue(ea.getVariable() == "a");
            assertTrue(ea.getSBOTerm() == 64);
            assertTrue(ea.getSBOTermID() == "SBO:0000064");
            ast = ea.getMath();
            assertTrue(("x * p3" == libsbml.formulaToString(ast)));
            loea = e.getListOfEventAssignments();
            ea1  = loea.get(0);
            assertTrue(ea1 == ea);
            ea1 = loea.get("a");
            assertTrue(ea1 == ea);
            assertTrue(m.getNumFunctionDefinitions() == 1);
            fd = m.getFunctionDefinition(0);
            assertTrue(fd != null);
            assertTrue(fd.getId() == "fd");
            assertTrue(fd.getSBOTerm() == 64);
            assertTrue(fd.getSBOTermID() == "SBO:0000064");
            ast = fd.getMath();
            assertTrue(("lambda(x, pow(x, 3))" == libsbml.formulaToString(ast)));
            lofd = m.getListOfFunctionDefinitions();
            fd1  = lofd.get(0);
            assertTrue(fd1 == fd);
            fd1 = lofd.get("fd");
            assertTrue(fd1 == fd);
            assertTrue(m.getNumInitialAssignments() == 1);
            ia = m.getInitialAssignment(0);
            assertTrue(ia != null);
            assertTrue(ia.getSymbol() == "p1");
            ast = ia.getMath();
            assertTrue(("x * p3" == libsbml.formulaToString(ast)));
            assertTrue(m.getNumRules() == 3);
            alg = (AlgebraicRule)m.getRule(0);
            assertTrue(alg != null);
            assertTrue(alg.getSBOTerm() == 64);
            assertTrue(alg.getSBOTermID() == "SBO:0000064");
            ast = alg.getMath();
            assertTrue(("pow(x, 3)" == libsbml.formulaToString(ast)));
            ar = (AssignmentRule)m.getRule(1);
            assertTrue(ar != null);
            assertTrue(ar.getVariable() == "p2");
            assertTrue(ar.getSBOTerm() == 64);
            assertTrue(ar.getSBOTermID() == "SBO:0000064");
            ast = ar.getMath();
            assertTrue(("x * p3" == libsbml.formulaToString(ast)));
            rr = (RateRule)m.getRule(2);
            assertTrue(rr != null);
            assertTrue(rr.getVariable() == "p3");
            assertTrue(rr.getSBOTerm() == 64);
            assertTrue(rr.getSBOTermID() == "SBO:0000064");
            ast = rr.getMath();
            assertTrue(("p1 / p" == libsbml.formulaToString(ast)));
            assertTrue(m.getNumSpecies() == 1);
            s = m.getSpecies(0);
            assertTrue(s != null);
            assertTrue(s.getId() == "s");
            assertEquals(s.getSpeciesType(), "gg");
            assertTrue(s.getCompartment() == "a");
            assertTrue(s.getSBOTerm() == 236);
            assertTrue(s.getSBOTermID() == "SBO:0000236");
            assertEquals(true, s.isSetInitialAmount());
            assertEquals(false, s.isSetInitialConcentration());
            assertTrue(s.getInitialAmount() == 0);
            assertTrue(m.getNumReactions() == 1);
            r = m.getReaction(0);
            assertTrue(r != null);
            assertTrue(r.getId() == "r");
            assertEquals(false, r.getReversible());
            assertEquals(true, r.getFast());
            assertEquals(true, r.isSetKineticLaw());
            kl = r.getKineticLaw();
            assertTrue(kl != null);
            assertEquals(true, kl.isSetMath());
            ast = kl.getMath();
            assertTrue(("s * k / p" == libsbml.formulaToString(ast)));
            assertTrue(kl.getNumParameters() == 2);
            p = kl.getParameter(0);
            assertTrue(p != null);
            assertTrue(p.getId() == "k");
            assertTrue(p.getUnits() == "litre");
            assertTrue(p.getValue() == 9);
            ud = p.getDerivedUnitDefinition();
            assertTrue(ud.getNumUnits() == 1);
            assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_LITRE);
            assertTrue(ud.getUnit(0).getExponent() == 1);
            lop = kl.getListOfParameters();
            p1  = lop.get(0);
            assertTrue(p1 == p);
            p1 = lop.get("k");
            assertTrue(p1 == p);
            p = kl.getParameter(1);
            assertTrue(p != null);
            assertTrue(p.getId() == "k1");
            assertTrue(p.getUnits() == "ud1");
            assertTrue(p.getValue() == 9);
            ud = p.getDerivedUnitDefinition();
            assertTrue(ud.getNumUnits() == 1);
            assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_MOLE);
            assertTrue(ud.getUnit(0).getExponent() == 1);
            assertTrue(r.getNumReactants() == 1);
            assertTrue(r.getNumProducts() == 0);
            assertTrue(r.getNumModifiers() == 0);
            sr = r.getReactant(0);
            assertTrue(sr != null);
            assertTrue(sr.getSpecies() == "s");
            assertTrue(sr.getSBOTerm() == 11);
            assertTrue(sr.getSBOTermID() == "SBO:0000011");
            stoich = sr.getStoichiometryMath();
            assertTrue(stoich != null);
            assertTrue(stoich.getSBOTerm() == 64);
            assertTrue(stoich.getSBOTermID() == "SBO:0000064");
            ast = stoich.getMath();
            assertTrue(("s * p" == libsbml.formulaToString(ast)));
            assertTrue(m.getNumUnitDefinitions() == 1);
            ud = m.getUnitDefinition(0);
            assertTrue(ud != null);
            assertTrue(ud.getId() == "ud1");
            loud = m.getListOfUnitDefinitions();
            ud1  = loud.get(0);
            assertTrue(ud1 == ud);
            ud1 = loud.get("ud1");
            assertTrue(ud1 == ud);
            assertTrue(ud.getNumUnits() == 1);
            u = ud.getUnit(0);
            assertTrue(u != null);
            assertTrue(u.getKind() == libsbml.UNIT_KIND_MOLE);
            lou = ud.getListOfUnits();
            u1  = lou.get(0);
            assertTrue(u1 == u);
            d = null;
        }
Exemplo n.º 20
0
        public void test_GetMultipleObjects_getMetaId()
        {
            SBMLReader   reader = new SBMLReader();
            SBMLDocument d;
            string       filename = "../../sbml/test/test-data/";

            filename += "multiple-ids.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            SBase obj = d.getElementByMetaId("no_id");

            assertTrue(obj == null);
            obj = d.getElementByMetaId("");
            assertTrue(obj == null);
            obj = d.getElementByMetaId("meta1");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_DOCUMENT);
            obj = d.getElementByMetaId("meta2");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_MODEL);
            obj = d.getElementByMetaId("meta3");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_COMPARTMENT);
            obj = d.getElementByMetaId("meta4");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_COMPARTMENT);
            obj = d.getElementByMetaId("meta5");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_SPECIES);
            obj = d.getElementByMetaId("meta6");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_SPECIES);
            obj = d.getElementByMetaId("meta7");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_REACTION);
            obj = d.getElementByMetaId("meta8");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_REACTION);
            obj = d.getElementByMetaId("meta9");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_SPECIES_REFERENCE);
            obj = d.getElementByMetaId("meta10");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_SPECIES_REFERENCE);
            obj = d.getElementByMetaId("meta11");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_KINETIC_LAW);
            obj = d.getElementByMetaId("meta12");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_EVENT);
            obj = d.getElementByMetaId("meta13");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT);
            obj = d.getElementByMetaId("meta14");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_TRIGGER);
            obj = d.getElementByMetaId("meta15");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT);
            obj = d.getElementByMetaId("meta16");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT);
            obj = d.getElementByMetaId("meta17");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_DELAY);
            obj = d.getElementByMetaId("meta18");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_PARAMETER);
            obj = d.getElementByMetaId("meta19");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_PRIORITY);
            obj = d.getElementByMetaId("meta20");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_FUNCTION_DEFINITION);
            obj = d.getElementByMetaId("meta21");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_FUNCTION_DEFINITION);
            obj = d.getElementByMetaId("meta22");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_INITIAL_ASSIGNMENT);
            obj = d.getElementByMetaId("meta23");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_INITIAL_ASSIGNMENT);
            obj = d.getElementByMetaId("meta24");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_RULE);
            obj = d.getElementByMetaId("meta25");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_RATE_RULE);
            obj = d.getElementByMetaId("meta26");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_ASSIGNMENT_RULE);
            obj = d.getElementByMetaId("meta27");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_LOCAL_PARAMETER);
            obj = d.getElementByMetaId("meta28");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LOCAL_PARAMETER);
            obj = d.getElementByMetaId("meta29");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_UNIT_DEFINITION);
            obj = d.getElementByMetaId("meta30");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_UNIT_DEFINITION);
            obj = d.getElementByMetaId("meta31");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_UNIT);
            obj = d.getElementByMetaId("meta32");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_UNIT);
            obj = d.getElementByMetaId("meta33");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_PARAMETER);
            obj = d.getElementByMetaId("meta34");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF);
            assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_MODIFIER_SPECIES_REFERENCE);
            obj = d.getElementByMetaId("meta35");
            assertTrue(obj != null);
            assertTrue(obj.getTypeCode() == libsbml.SBML_MODIFIER_SPECIES_REFERENCE);
            d = null;
        }
Exemplo n.º 21
0
        public void test_read_MathML_2()
        {
            SBMLReader         reader = new SBMLReader();
            SBMLDocument       d;
            Model              m;
            FunctionDefinition fd;
            InitialAssignment  ia;
            Rule   r;
            string filename = "../../sbml/math/test/test-data/";

            filename += "mathML_2-invalid.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            m = d.getModel();
            assertTrue(m != null);
            assertTrue(m.getNumFunctionDefinitions() == 2);
            assertTrue(m.getNumInitialAssignments() == 1);
            assertTrue(m.getNumRules() == 2);
            fd = m.getFunctionDefinition(0);
            ASTNode fd_math = fd.getMath();

            assertTrue(fd_math.getType() == libsbml.AST_LAMBDA);
            assertTrue(fd_math.getNumChildren() == 1);
            assertTrue(("lambda()" == libsbml.formulaToString(fd_math)));
            ASTNode child = fd_math.getChild(0);

            assertTrue(child.getType() == libsbml.AST_UNKNOWN);
            assertTrue(child.getNumChildren() == 0);
            assertTrue(("" == libsbml.formulaToString(child)));
            fd = m.getFunctionDefinition(1);
            ASTNode fd1_math = fd.getMath();

            assertTrue(fd1_math.getType() == libsbml.AST_LAMBDA);
            assertTrue(fd1_math.getNumChildren() == 2);
            assertTrue(("lambda(x, piecewise(p, leq(x, 4)))" == libsbml.formulaToString(fd1_math)));
            ASTNode child1 = fd1_math.getRightChild();

            assertTrue(child1.getType() == libsbml.AST_FUNCTION_PIECEWISE);
            assertTrue(child1.getNumChildren() == 2);
            assertTrue(("piecewise(p, leq(x, 4))" == libsbml.formulaToString(child1)));
            ASTNode c1 = child1.getChild(0);

            assertTrue(c1.getType() == libsbml.AST_NAME);
            assertTrue(c1.getNumChildren() == 0);
            assertTrue(("p" == libsbml.formulaToString(c1)));
            ASTNode c2 = child1.getChild(1);

            assertTrue(c2.getType() == libsbml.AST_RELATIONAL_LEQ);
            assertTrue(c2.getNumChildren() == 2);
            assertTrue(("leq(x, 4)" == libsbml.formulaToString(c2)));
            ia = m.getInitialAssignment(0);
            ASTNode ia_math = ia.getMath();

            assertTrue(ia_math.getType() == libsbml.AST_FUNCTION_PIECEWISE);
            assertTrue(ia_math.getNumChildren() == 4);
            assertTrue(("piecewise(-x, lt(x, 0), 0, eq(x, 0))" == libsbml.formulaToString(ia_math)));
            child1 = ia_math.getChild(0);
            ASTNode child2 = ia_math.getChild(1);
            ASTNode child3 = ia_math.getChild(2);
            ASTNode child4 = ia_math.getChild(3);

            assertTrue(child1.getType() == libsbml.AST_MINUS);
            assertTrue(child1.getNumChildren() == 1);
            assertTrue(("-x" == libsbml.formulaToString(child1)));
            assertTrue(child2.getType() == libsbml.AST_RELATIONAL_LT);
            assertTrue(child2.getNumChildren() == 2);
            assertTrue(("lt(x, 0)" == libsbml.formulaToString(child2)));
            assertTrue(child3.getType() == libsbml.AST_REAL);
            assertTrue(child3.getNumChildren() == 0);
            assertTrue(("0" == libsbml.formulaToString(child3)));
            assertTrue(child4.getType() == libsbml.AST_RELATIONAL_EQ);
            assertTrue(child4.getNumChildren() == 2);
            assertTrue(("eq(x, 0)" == libsbml.formulaToString(child4)));
            r = m.getRule(0);
            //ASTNode r_math = r.getMath();
            //assertTrue( r_math == null );
            r = m.getRule(1);
            ASTNode r1_math = r.getMath();

            assertTrue(r1_math.getType() == libsbml.AST_FUNCTION_LOG);
            assertTrue(r1_math.getNumChildren() == 2);
            assertTrue(("log(3, x)" == libsbml.formulaToString(r1_math)));
            //child1 = r1_math.getChild(0);
            //child2 = r1_math.getChild(1);
            //assertTrue(child1.getType() == libsbml.AST_QUALIFIER_LOGBASE);
            //assertTrue( child1.getNumChildren() == 1 );
            //assertTrue( child2.getType() == libsbml.AST_NAME );
            //assertTrue( child2.getNumChildren() == 0 );
            //assertTrue((  "x" == libsbml.formulaToString(child2) ));
            //child2 = child1.getChild(0);
            //assertTrue(child2.getType() == libsbml.AST_REAL);
            //assertTrue(child2.getNumChildren() == 0);
            //assertTrue(("3" == libsbml.formulaToString(child2)));
            d = null;
        }
Exemplo n.º 22
0
        public void test_read_l2v1_assignment()
        {
            SBMLReader         reader = new SBMLReader();
            SBMLDocument       d;
            Model              m;
            Compartment        c;
            Species            s;
            Parameter          p;
            AssignmentRule     ar;
            Reaction           r;
            SpeciesReference   sr;
            KineticLaw         kl;
            UnitDefinition     ud;
            Reaction           r1;
            ListOfCompartments loc;
            Compartment        c1;
            ListOfRules        lor;
            AssignmentRule     ar1;
            ListOfParameters   lop;
            Parameter          p1;
            ListOfSpecies      los;
            Species            s1;
            string             filename = "../../sbml/test/test-data/";

            filename += "l2v1-assignment.xml";
            d         = reader.readSBML(filename);
            if (d == null)
            {
                ;
            }
            {
            }
            assertTrue(d.getLevel() == 2);
            assertTrue(d.getVersion() == 1);
            m = d.getModel();
            assertTrue(m != null);
            assertTrue(m.getNumCompartments() == 1);
            c = m.getCompartment(0);
            assertTrue(c != null);
            assertTrue(c.getId() == "cell");
            ud = c.getDerivedUnitDefinition();
            assertTrue(ud.getNumUnits() == 1);
            assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_LITRE);
            loc = m.getListOfCompartments();
            c1  = loc.get(0);
            assertTrue(c1 == c);
            c1 = loc.get("cell");
            assertTrue(c1 == c);
            assertTrue(m.getNumSpecies() == 5);
            s = m.getSpecies(0);
            assertTrue(s != null);
            assertTrue(s.getId() == "X0");
            assertTrue(s.getCompartment() == "cell");
            assertTrue(s.getInitialConcentration() == 1.0);
            los = m.getListOfSpecies();
            s1  = los.get(0);
            assertTrue(s1 == s);
            s1 = los.get("X0");
            assertTrue(s1 == s);
            s = m.getSpecies(1);
            assertTrue(s != null);
            assertTrue(s.getId() == "X1");
            assertTrue(s.getCompartment() == "cell");
            assertTrue(s.getInitialConcentration() == 0.0);
            s = m.getSpecies(2);
            assertTrue(s != null);
            assertTrue(s.getId() == "T");
            assertTrue(s.getCompartment() == "cell");
            assertTrue(s.getInitialConcentration() == 0.0);
            s = m.getSpecies(3);
            assertTrue(s != null);
            assertTrue(s.getId() == "S1");
            assertTrue(s.getCompartment() == "cell");
            assertTrue(s.getInitialConcentration() == 0.0);
            s = m.getSpecies(4);
            assertTrue(s != null);
            assertTrue(s.getId() == "S2");
            assertTrue(s.getCompartment() == "cell");
            assertTrue(s.getInitialConcentration() == 0.0);
            assertTrue(m.getNumParameters() == 1);
            p = m.getParameter(0);
            assertTrue(p != null);
            assertTrue(p.getId() == "Keq");
            assertTrue(p.getValue() == 2.5);
            lop = m.getListOfParameters();
            p1  = lop.get(0);
            assertTrue(p1 == p);
            p1 = lop.get("Keq");
            assertTrue(p1 == p);
            ud = p.getDerivedUnitDefinition();
            assertTrue(ud.getNumUnits() == 0);
            assertTrue(m.getNumRules() == 2);
            ar = (AssignmentRule)m.getRule(0);
            assertTrue(ar != null);
            assertTrue(ar.getVariable() == "S1");
            assertTrue(ar.getFormula() == "T / (1 + Keq)");
            ud = ar.getDerivedUnitDefinition();
            assertTrue(ud.getNumUnits() == 2);
            assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_MOLE);
            assertTrue(ud.getUnit(0).getExponent() == 1);
            assertTrue(ud.getUnit(1).getKind() == libsbml.UNIT_KIND_LITRE);
            assertTrue(ud.getUnit(1).getExponent() == -1);
            assertTrue(ar.containsUndeclaredUnits() == true);
            lor = m.getListOfRules();
            ar1 = (AssignmentRule)lor.get(0);
            assertTrue(ar1 == ar);
            ar1 = (AssignmentRule)lor.get("S1");
            assertTrue(ar1 == ar);
            ar = (AssignmentRule)m.getRule(1);
            assertTrue(ar != null);
            assertTrue(ar.getVariable() == "S2");
            assertTrue(ar.getFormula() == "Keq * S1");
            assertTrue(m.getNumReactions() == 2);
            r = m.getReaction(0);
            assertTrue(r != null);
            assertTrue(r.getId() == "in");
            assertTrue(r.getNumReactants() == 1);
            assertTrue(r.getNumProducts() == 1);
            sr = r.getReactant(0);
            assertTrue(sr != null);
            assertTrue(sr.getSpecies() == "X0");
            sr = r.getProduct(0);
            assertTrue(sr != null);
            assertTrue(sr.getSpecies() == "T");
            kl = r.getKineticLaw();
            assertTrue(kl != null);
            assertTrue(kl.getFormula() == "k1 * X0");
            assertTrue(kl.getNumParameters() == 1);
            r1 = (Reaction)kl.getParentSBMLObject();
            assertTrue(r1 != null);
            assertTrue(r1.getId() == "in");
            assertTrue(r1.getNumReactants() == 1);
            assertTrue(r1.getNumProducts() == 1);
            p = kl.getParameter(0);
            assertTrue(p != null);
            assertTrue(p.getId() == "k1");
            assertTrue(p.getValue() == 0.1);
            kl = (KineticLaw)p.getParentSBMLObject().getParentSBMLObject();
            assertTrue(kl != null);
            assertTrue(kl.getFormula() == "k1 * X0");
            assertTrue(kl.getNumParameters() == 1);
            r = m.getReaction(1);
            assertTrue(r != null);
            assertTrue(r.getId() == "out");
            assertTrue(r.getNumReactants() == 1);
            assertTrue(r.getNumProducts() == 1);
            sr = r.getReactant(0);
            assertTrue(sr != null);
            assertTrue(sr.getSpecies() == "T");
            sr = r.getProduct(0);
            assertTrue(sr != null);
            assertTrue(sr.getSpecies() == "X1");
            kl = r.getKineticLaw();
            assertTrue(kl != null);
            assertTrue(kl.getFormula() == "k2 * T");
            assertTrue(kl.getNumParameters() == 1);
            p = kl.getParameter(0);
            assertTrue(p != null);
            assertTrue(p.getId() == "k2");
            assertTrue(p.getValue() == 0.15);
            d = null;
        }