public void setUp() { string filename = "../../annotation/test/test-data/annotationL3.xml"; d = libsbml.readSBML(filename); m = d.getModel(); c = m.getCompartment(0); }
/// <summary> /// [ CompartmentStruct ] /// [[ Id , Name , SpatialDimension , Size , Volume , Unit , Ouside , Constant ]] /// </summary> /// <param name="aSBMLmodel"></param> /// <returns></returns> public static List<CompartmentStruct> getCompartment(Model aSBMLmodel) { List<CompartmentStruct> list = new List<CompartmentStruct>(); ListOfCompartments compartments = aSBMLmodel.getListOfCompartments(); for (int i = 0; i < compartments.size(); i++ ) { Compartment item = aSBMLmodel.getCompartment(i); string anId = item.getId(); string aName = item.getName(); long aSpatialDimension = item.getSpatialDimensions(); double aSize = GetCompartmentSize(item); double aVolume = GetCompartmentVolume(item); string anUnit = item.getUnits(); string anOutside = item.getOutside(); bool aConstant = item.getConstant(); CompartmentStruct compartment = new CompartmentStruct( anId, aName, aSpatialDimension, aSize, aVolume, anUnit, anOutside, aConstant); list.Add(compartment); } return list; }
public void test_Compartment_parent_add() { Compartment c = new Compartment(2,4); c.setId("c"); Model m = new Model(2,4); m.addCompartment(c); c = null; ListOf lo = m.getListOfCompartments(); assertTrue( lo == m.getCompartment(0).getParentSBMLObject() ); assertTrue( m == lo.getParentSBMLObject() ); }
public void test_Compartment_parent_create() { Model m = new Model(2,4); Compartment c = m.createCompartment(); ListOf lo = m.getListOfCompartments(); assertTrue( lo == m.getCompartment(0).getParentSBMLObject() ); assertTrue( lo == c.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_Compartment_ancestor_add() { Compartment c = new Compartment(2,4); c.setId("C"); Model m = new Model(2,4); m.addCompartment(c); c = null; ListOf lo = m.getListOfCompartments(); Compartment obj = m.getCompartment(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 ); }
public void test_Compartment_ancestor_create() { Model m = new Model(2,4); Compartment c = m.createCompartment(); ListOf lo = m.getListOfCompartments(); assertTrue( c.getAncestorOfType(libsbml.SBML_MODEL) == m ); assertTrue( c.getAncestorOfType(libsbml.SBML_LIST_OF) == lo ); assertTrue( c.getAncestorOfType(libsbml.SBML_DOCUMENT) == null ); assertTrue( c.getAncestorOfType(libsbml.SBML_EVENT) == null ); Compartment obj = m.getCompartment(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 ); }
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() )); }
public void test_ReadSBML_Compartment_L2() { Compartment c; string s = wrapSBML_L2v1("<listOfCompartments>" + " <compartment id='membrane' size='.3' spatialDimensions='2'" + " units='area' outside='tissue' constant='false'/>" + "</listOfCompartments>"); D = libsbml.readSBMLFromString(s); M = D.getModel(); assertTrue( M.getNumCompartments() == 1 ); c = M.getCompartment(0); assertEquals( true, c.isSetId() ); assertEquals( false, c.isSetName() ); assertEquals( true, c.isSetVolume() ); assertEquals( true, c.isSetSize() ); assertEquals( true, c.isSetUnits() ); assertEquals( true, c.isSetOutside() ); assertTrue(( "membrane" == c.getId() )); assertTrue(( "area" == c.getUnits() )); assertTrue(( "tissue" == c.getOutside() )); assertTrue( c.getSpatialDimensions() == 2 ); assertTrue( c.getSize() == .3 ); }
public void test_ReadSBML_Compartment_defaults_L2() { Compartment c; string s = wrapSBML_L2v1("<listOfCompartments> <compartment id='cell'/> </listOfCompartments>" ); D = libsbml.readSBMLFromString(s); M = D.getModel(); assertTrue( M.getNumCompartments() == 1 ); c = M.getCompartment(0); assertEquals( true, c.isSetId() ); assertEquals( false, c.isSetName() ); assertEquals( false, c.isSetSize() ); assertEquals( false, c.isSetUnits() ); assertEquals( false, c.isSetOutside() ); assertTrue(( "cell" == c.getId() )); assertTrue( c.getSpatialDimensions() == 3 ); assertTrue( c.getConstant() == true ); }
public void test_ReadSBML_Compartment_defaults() { Compartment c; string s = wrapSBML_L1v2("<listOfCompartments> <compartment name='cell'/> </listOfCompartments>" ); D = libsbml.readSBMLFromString(s); M = D.getModel(); assertTrue( M.getNumCompartments() == 1 ); c = M.getCompartment(0); assertEquals( true, c.isSetId() ); assertEquals( true, c.isSetVolume() ); assertEquals( false, c.isSetSize() ); assertEquals( false, c.isSetUnits() ); assertEquals( false, c.isSetOutside() ); assertTrue(( "cell" == c.getId() )); assertTrue( c.getVolume() == 1.0 ); }
public void test_ReadSBML_Compartment() { Compartment c; string s = wrapSBML_L1v2("<listOfCompartments>" + " <compartment name='mitochondria' volume='.0001' units='milliliters'" + " outside='cell'/>" + "</listOfCompartments>"); D = libsbml.readSBMLFromString(s); M = D.getModel(); assertTrue( M.getNumCompartments() == 1 ); c = M.getCompartment(0); assertTrue(( "mitochondria" == c.getId() )); assertTrue(( "milliliters" == c.getUnits() )); assertTrue(( "cell" == c.getOutside() )); assertTrue( c.getVolume() == .0001 ); assertEquals( true, c.isSetVolume() ); assertEquals( true, c.isSetSize() ); }