예제 #1
0
    /// <summary>
    /// The function actually doing the transforming. This function is called
    /// once for each SBase element in the model.
    /// </summary>
    /// <param name="element">the current element</param>
    /// <returns>status code</returns>
    public override int transform(SBase element)
    {
        // return in case we don't have a valid element
        if (element == null || element.getTypeCode() == libsbml.SBML_LOCAL_PARAMETER)
        {
            return(libsbml.LIBSBML_OPERATION_SUCCESS);
        }

        // or if there is nothing to do
        if (!element.isSetName() || element.getId() == element.getName())
        {
            return(libsbml.LIBSBML_OPERATION_SUCCESS);
        }

        // find the new id
        string newId = getValidIdForName(element.getName());

        // set it
        element.setId(newId);

        // remember it
        existingIds.Add(newId);

        return(libsbml.LIBSBML_OPERATION_SUCCESS);
    }
예제 #2
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;
        }
예제 #3
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;
        }
예제 #4
0
    /**
     * Returns a list of all ids from the given list of elements
     */
    public static List <string> getAllIds(SBaseList allElements)
    {
        var result = new List <string>();

        if (allElements == null || allElements.getSize() == 0)
        {
            return(result);
        }

        for (uint i = 0; i < allElements.getSize(); ++i)
        {
            SBase current = allElements.get(i);
            if (current.isSetId() && current.getTypeCode() != libsbml.SBML_LOCAL_PARAMETER)
            {
                result.Add(current.getId());
            }
        }

        return(result);
    }
예제 #5
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;
        }
예제 #6
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;
        }
예제 #7
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;
        }