public void test_Model_createSpecies() { Model m = new Model(2,2); Species p = m.createSpecies(); assertTrue( m.getNumSpecies() == 1 ); assertTrue( (p).getLevel() == 2 ); assertTrue( (p).getVersion() == 2 ); m = null; }
public void test_Model_L1V1() { Model m = new Model(1,1); assertEquals( false, (m.hasRequiredElements()) ); m.createCompartment(); assertEquals( false, (m.hasRequiredElements()) ); m.createSpecies(); assertEquals( false, (m.hasRequiredElements()) ); m.createReaction(); assertEquals( true, m.hasRequiredElements() ); m = null; }
public void test_Species_parent_create() { Model m = new Model(2,4); Species s = m.createSpecies(); ListOf lo = m.getListOfSpecies(); assertTrue( lo == s.getParentSBMLObject() ); assertTrue( lo == m.getSpecies(0).getParentSBMLObject() ); assertTrue( m == lo.getParentSBMLObject() ); }
private static void createSpecies(EcellObject anEml, Model aSBMLModel) { string aCurrentCompartment = getCurrentCompartment( anEml.ParentSystemID ); Compartment aCurrentCompartmentObj = aSBMLModel.getCompartment( aCurrentCompartment ); if( aCurrentCompartment == "SBMLParameter" ) { // ------------------------ // create Parameter object // ------------------------ Parameter aParameter = aSBMLModel.createParameter(); string aParameterID; if ( ID_Namespace.Contains(anEml.LocalID) == false ) aParameterID = anEml.LocalID; else aParameterID = "SBMLParamter__" + anEml.LocalID; // set Paramter ID to Id namespace ID_Namespace.Add( aParameterID ); // set Parameter ID if (aSBMLModel.getLevel() == 1) aParameter.setName( aParameterID ); else if (aSBMLModel.getLevel() == 2) aParameter.setId( aParameterID ); // set Parameter Name, Value and Constant foreach(EcellData aProperty in anEml.Value) { string aFullPN = anEml.FullID + ":" + aProperty.Name; // set Parameter Name if ( aProperty.Name == "Name" ) { if (aSBMLModel.getLevel() == 1) { } if (aSBMLModel.getLevel() == 2) { aParameter.setName( (string)aProperty.Value ); } } // set Parameter Value else if ( aProperty.Name == "Value" ) { aParameter.setValue( (double)aProperty.Value ); } // set Constant else if ( aProperty.Name == "Fixed" ) { aParameter.setConstant(System.Convert.ToBoolean((int)aProperty.Value)); } else { Trace.WriteLine("Unrepresentable property; " + aFullPN); //throw new EcellException("Unrepresentable property; " + aFullPN); } } } else { if( anEml.LocalID != "SIZE" && anEml.LocalID != "Dimensions" ) { // create Species object Species aSpecies = aSBMLModel.createSpecies(); // set Species ID string aSpeciesID; if ( ID_Namespace.Contains( anEml.LocalID) == false ) aSpeciesID = anEml.LocalID; else { if ( !anEml.ParentSystemID.Equals("/") ) aSpeciesID = anEml.LocalID; else aSpeciesID = anEml.LocalID; } ID_Namespace.Add( aSpeciesID ); if (aSBMLModel.getLevel() == 1) aSpecies.setName( aSpeciesID ); if (aSBMLModel.getLevel() == 2) aSpecies.setId( aSpeciesID ); // set Compartment of Species if( aCurrentCompartment == "" ) aSpecies.setCompartment( "default" ); else aSpecies.setCompartment( aCurrentCompartment ); // set Species Name, Value and Constant foreach(EcellData aProperty in anEml.Value) { string aFullPN = anEml.FullID + ":" + aProperty.Name; // set Species Name if ( aProperty.Name == "Name" ) { if (aSBMLModel.getLevel() == 1) { } else if (aSBMLModel.getLevel() == 2) { aSpecies.setName( (string)aProperty.Value ); } } // set Species Value else if ( aProperty.Name == "Value" ) { // aMolarValue = convertToMoleUnit( // anEml.getEntityProperty( aFullPN )[0] ) aSpecies.setInitialAmount( (double)aProperty.Value / 6.0221367e+23 ); } // set Species Constant else if ( aProperty.Name == "Fixed" ) { aSpecies.setConstant(System.Convert.ToBoolean((int)aProperty.Value)); } // set Concentration by rule else if ( aProperty.Name == "MolarConc" ) { // XXX: units are just eventually correct here, because // SBML falls back to mole and liter for substance and // volume of the species if these are unspecified. if (aSBMLModel.getLevel() == 1) { double compVol; if (aCurrentCompartmentObj != null) compVol = aCurrentCompartmentObj.getVolume(); else compVol = 1.0; double propValue = (double)aProperty.Value; aSpecies.setInitialAmount( compVol * propValue ); } else // SBML lv.2 { aSpecies.setInitialConcentration( (double)aProperty.Value ); } } else { Trace.WriteLine("Unrepresentable property; " + aFullPN); //throw new EcellException("Unrepresentable property: " + aFullPN); } } } } }
public void test_create_l1v1_units() { SBMLDocument d; Model m; Compartment c; KineticLaw kl; Parameter p; Reaction r; Species s; SpeciesReference sr; Unit u; UnitDefinition ud; d = new SBMLDocument(); m = new Model(2,4); d.setModel(m); ud = m.createUnitDefinition(); ud.setName( "substance"); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_MOLE); u.setScale(-3); ud = m.createUnitDefinition(); ud.setName( "mls"); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_MOLE); u.setScale(-3); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_LITER); u.setExponent(-1); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_SECOND); u.setExponent(-1); c = m.createCompartment(); c.setName( "cell"); s = m.createSpecies(); s.setName( "x0"); s.setCompartment( "cell"); s.setInitialAmount(1); s = m.createSpecies(); s.setName( "x1"); s.setCompartment( "cell"); s.setInitialAmount(1); s = m.createSpecies(); s.setName( "s1"); s.setCompartment( "cell"); s.setInitialAmount(1); s = m.createSpecies(); s.setName( "s2"); s.setCompartment( "cell"); s.setInitialAmount(1); p = m.createParameter(); p.setName( "vm"); p.setUnits( "mls"); p.setValue(2); p = m.createParameter(); p.setName( "km"); p.setValue(2); r = m.createReaction(); r.setName( "v1"); sr = m.createReactant(); sr.setSpecies( "x0"); sr = m.createProduct(); sr.setSpecies( "s1"); kl = m.createKineticLaw(); kl.setFormula( "(vm * s1)/(km + s1)"); r = m.createReaction(); r.setName( "v2"); sr = m.createReactant(); sr.setSpecies( "s1"); sr = m.createProduct(); sr.setSpecies( "s2"); kl = m.createKineticLaw(); kl.setFormula( "(vm * s2)/(km + s2)"); r = m.createReaction(); r.setName( "v3"); sr = m.createReactant(); sr.setSpecies( "s2"); sr = m.createProduct(); sr.setSpecies( "x1"); kl = m.createKineticLaw(); kl.setFormula( "(vm * s1)/(km + s1)"); d = null; }
public void test_Species_ancestor_create() { Model m = new Model(2,4); Species s = m.createSpecies(); ListOf lo = m.getListOfSpecies(); assertTrue( s.getAncestorOfType(libsbml.SBML_MODEL) == m ); assertTrue( s.getAncestorOfType(libsbml.SBML_LIST_OF) == lo ); assertTrue( s.getAncestorOfType(libsbml.SBML_DOCUMENT) == null ); assertTrue( s.getAncestorOfType(libsbml.SBML_EVENT) == null ); Species obj = m.getSpecies(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 ); }