public void test_Model_createParameter() { Model m = new Model(2,2); Parameter p = m.createParameter(); assertTrue( m.getNumParameters() == 1 ); assertTrue( (p).getLevel() == 2 ); assertTrue( (p).getVersion() == 2 ); m = null; }
public void test_Parameter_parent_create() { Model m = new Model(2,4); Parameter p = m.createParameter(); ListOf lo = m.getListOfParameters(); assertTrue( lo == m.getParameter(0).getParentSBMLObject() ); assertTrue( lo == p.getParentSBMLObject() ); assertTrue( m == lo.getParentSBMLObject() ); }
private static void setEssentialEntity(Model aSBMLModel) { // // set N_A Parameter // bool isAbogadroNumber = false; foreach (ParameterStruct aParameter in SbmlFunctions.getParameter(aSBMLModel)) { if (aSBMLModel.getLevel() == 1 && aParameter.Name == "N_A") isAbogadroNumber = true; else if (aSBMLModel.getLevel() == 2 && aParameter.ID == "N_A") isAbogadroNumber = true; } if ( !isAbogadroNumber ) { // create Parameter object Parameter aParameter = aSBMLModel.createParameter(); // set Parameter Name if (aSBMLModel.getLevel() == 1) aParameter.setName("N_A"); else if (aSBMLModel.getLevel() == 2) aParameter.setId("N_A"); // set Parameter Value aParameter.setValue(6.0221367e+23); // set Parameter Constant aParameter.setConstant(true); } // ------------ // set EmptySet // ------------ //bool isEmptySet = false; //foreach (SpeciesStruct aSpecies in SbmlFunctions.getSpecies(aSBMLModel)) //{ // if (aSBMLModel.getLevel() == 1 && aSpecies.Name == "EmptySet") // isEmptySet = true; // else if (aSBMLModel.getLevel() == 2 && aSpecies.ID == "EmptySet") // isEmptySet = true; //} //if (!isEmptySet) //{ // // create Species object // Species aSpecies = aSBMLModel.createSpecies(); // // set Species Name // if (aSBMLModel.getLevel() == 1) // aSpecies.setName("EmptySet"); // else if (aSBMLModel.getLevel() == 2) // aSpecies.setId("EmptySet"); // // set Species Compartment // aSpecies.setCompartment("default"); // // set Species Amount // aSpecies.setInitialAmount(0); // // set Species Constant // aSpecies.setConstant(true); //} }
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_Parameter_ancestor_create() { Model m = new Model(2,4); Parameter p = m.createParameter(); ListOf lo = m.getListOfParameters(); assertTrue( p.getAncestorOfType(libsbml.SBML_MODEL) == m ); assertTrue( p.getAncestorOfType(libsbml.SBML_LIST_OF) == lo ); assertTrue( p.getAncestorOfType(libsbml.SBML_DOCUMENT) == null ); assertTrue( p.getAncestorOfType(libsbml.SBML_EVENT) == null ); Parameter obj = m.getParameter(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 ); }