getCompartment() public method

public getCompartment ( long n ) : Compartment
n long
return Compartment
Exemplo n.º 1
0
 public void setUp()
 {
     string filename = "../../annotation/test/test-data/annotationL3.xml";
       d = libsbml.readSBML(filename);
       m = d.getModel();
       c = m.getCompartment(0);
 }
Exemplo n.º 2
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;
        }
Exemplo n.º 3
0
 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() );
 }
Exemplo n.º 4
0
 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() );
 }
Exemplo n.º 5
0
        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);
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
 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 );
 }
Exemplo n.º 7
0
 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 );
 }
Exemplo n.º 8
0
 public void test_ReadSBML_metaid()
 {
     SBase sb;
       string s = wrapSBML_L2v1("<listOfFunctionDefinitions>" +
     "  <functionDefinition metaid='fd'/>" +
     "</listOfFunctionDefinitions>" +
     "<listOfUnitDefinitions>" +
     "  <unitDefinition metaid='ud'/>" +
     "</listOfUnitDefinitions>" +
     "<listOfCompartments>" +
     "  <compartment metaid='c'/>" +
     "</listOfCompartments>" +
     "<listOfSpecies>" +
     "  <species metaid='s'/>" +
     "</listOfSpecies>" +
     "<listOfParameters>" +
     "  <parameter metaid='p'/>" +
     "</listOfParameters>" +
     "<listOfRules>" +
     "  <rateRule metaid='rr'/>" +
     "</listOfRules>" +
     "<listOfReactions>" +
     "  <reaction metaid='rx'/>" +
     "</listOfReactions>" +
     "<listOfEvents>" +
     " <event metaid='e'/>" +
     "</listOfEvents>");
       D = libsbml.readSBMLFromString(s);
       M = D.getModel();
       assertTrue( M != null );
       sb = M.getFunctionDefinition(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "fd" == sb.getMetaId() ));
       sb = M.getUnitDefinition(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "ud" == sb.getMetaId() ));
       sb = M.getCompartment(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "c" == sb.getMetaId() ));
       sb = M.getSpecies(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "s" == sb.getMetaId() ));
       sb = M.getParameter(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "p" == sb.getMetaId() ));
       sb = M.getRule(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "rr" == sb.getMetaId() ));
       sb = M.getReaction(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "rx" == sb.getMetaId() ));
       sb = M.getEvent(0);
       assertEquals( true, sb.isSetMetaId() );
       assertTrue((  "e" == sb.getMetaId() ));
 }
Exemplo n.º 9
0
 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 );
 }
Exemplo n.º 10
0
 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 );
 }
Exemplo n.º 11
0
 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 );
 }
Exemplo n.º 12
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() );
 }