상속: IDisposable
예제 #1
0
        public CVTerm remove(uint n)
        {
            IntPtr cPtr = libsbmlPINVOKE.CVTermList_remove(swigCPtr, n);
            CVTerm ret  = (cPtr == IntPtr.Zero) ? null : new CVTerm(cPtr, false);

            return(ret);
        }
예제 #2
0
        public CVTerm get(uint n)
        {
            global::System.IntPtr cPtr = libsbmlPINVOKE.CVTermList_get(swigCPtr, n);
            CVTerm ret = (cPtr == global::System.IntPtr.Zero) ? null : new CVTerm(cPtr, false);

            return(ret);
        }
 public void test_SBase_addCVTerms()
 {
     CVTerm cv = new  CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       cv.setBiologicalQualifierType(libsbml.BQB_ENCODES);
       cv.addResource( "foo");
       int i = S.addCVTerm(cv);
       assertTrue( i == libsbml.LIBSBML_MISSING_METAID );
       assertTrue( S.getNumCVTerms() == 0 );
       S.setMetaId( "_id");
       i = S.addCVTerm(cv);
       assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
       assertTrue( S.getNumCVTerms() == 1 );
       assertTrue( S.getCVTerms() != null );
       i = S.addCVTerm(null);
       assertTrue( i == libsbml.LIBSBML_OPERATION_FAILED );
       assertTrue( S.getNumCVTerms() == 1 );
       assertTrue( S.getCVTerms() != null );
       CVTerm cv2 = new  CVTerm(libsbml.MODEL_QUALIFIER);
       i = S.addCVTerm(cv2);
       assertTrue( i == libsbml.LIBSBML_INVALID_OBJECT );
       assertTrue( S.getNumCVTerms() == 1 );
       assertTrue( S.getCVTerms() != null );
       cv = null;
       cv2 = null;
 }
예제 #4
0
 public void test_CVTerm_create()
 {
     CVTerm term = new  CVTerm(libsbml.MODEL_QUALIFIER);
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       term = null;
 }
예제 #5
0
 CVTerm(CVTerm orig) : this(libsbmlPINVOKE.new_CVTerm__SWIG_3(CVTerm.getCPtr(orig)), true)
 {
     if (libsbmlPINVOKE.SWIGPendingException.Pending)
     {
         throw libsbmlPINVOKE.SWIGPendingException.Retrieve();
     }
 }
예제 #6
0
        CVTerm clone()
        {
            IntPtr cPtr = libsbmlPINVOKE.CVTerm_clone(swigCPtr);
            CVTerm ret  = (cPtr == IntPtr.Zero) ? null : new CVTerm(cPtr, true);

            return(ret);
        }
예제 #7
0
        internal static HandleRef getCPtrAndDisown(CVTerm obj)
        {
            HandleRef ptr = new HandleRef(null, IntPtr.Zero);

            if (obj != null)
            {
                ptr             = obj.swigCPtr;
                obj.swigCMemOwn = false;
            }

            return(ptr);
        }
예제 #8
0
 public void test_Validation_CVTerm1()
 {
     CVTerm cv = new CVTerm();
       assertTrue( cv != null );
       assertEquals( false, (cv.hasRequiredAttributes()) );
       cv.setQualifierType(libsbml.MODEL_QUALIFIER);
       assertEquals( false, (cv.hasRequiredAttributes()) );
       cv.setModelQualifierType(libsbml.BQM_IS);
       assertEquals( false, (cv.hasRequiredAttributes()) );
       cv.addResource("ggg");
       assertEquals( true, (cv.hasRequiredAttributes()) );
       cv = null;
 }
예제 #9
0
 public void test_Validation_CVTerm2()
 {
     CVTerm cv = new CVTerm();
       assertTrue( cv != null );
       assertEquals( false, (cv.hasRequiredAttributes()) );
       cv.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER);
       assertEquals( false, (cv.hasRequiredAttributes()) );
       cv.setBiologicalQualifierType(libsbml.BQB_IS);
       assertEquals( false, (cv.hasRequiredAttributes()) );
       cv.addResource("ggg");
       assertEquals( true, (cv.hasRequiredAttributes()) );
       cv = null;
 }
예제 #10
0
 public void test_CVTerm_copyConstructor()
 {
     CVTerm CVTerm1 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       CVTerm1.addResource("http://www.geneontology.org/#GO:0005892");
       assertTrue( CVTerm1.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER );
       assertTrue( CVTerm1.getResources().getLength() == 1 );
       assertTrue( CVTerm1.getResources().getValue(0) ==  "http://www.geneontology.org/#GO:0005892" );
       CVTerm CVTerm2 = new CVTerm(CVTerm1);
       assertTrue( CVTerm2.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER );
       assertTrue( CVTerm2.getResources().getLength() == 1 );
       assertTrue( CVTerm2.getResources().getValue(0) ==  "http://www.geneontology.org/#GO:0005892" );
       CVTerm2 = null;
       CVTerm1 = null;
 }
예제 #11
0
 public void test_CVTerm_addResource()
 {
     CVTerm term = new  CVTerm(libsbml.MODEL_QUALIFIER);
       string resource =  "GO6666";
       XMLAttributes xa;
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       term.addResource(resource);
       xa = term.getResources();
       assertTrue( xa.getLength() == 1 );
       assertTrue((  "rdf:resource" == xa.getName(0) ));
       assertTrue((  "GO6666" == xa.getValue(0) ));
       term = null;
 }
예제 #12
0
 public void test_SBase_addCVTerms()
 {
     CVTerm cv = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv.setBiologicalQualifierType (libsbml.BQB_ENCODES);
     cv.addResource ("foo");
     S.setMetaId ("sbase1");
     S.addCVTerm (cv);
     assertTrue (S.getNumCVTerms () == 1);
     assertTrue (S.getCVTerms () != null);
     XMLAttributes res = S.getCVTerm (0).getResources ();
     assertTrue (("foo" == res.getValue (0)));
     CVTerm cv1 = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv1.setBiologicalQualifierType (libsbml.BQB_IS);
     cv1.addResource ("bar");
     S.addCVTerm (cv1);
     assertTrue (S.getNumCVTerms () == 2);
     CVTerm cv2 = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv2.setBiologicalQualifierType (libsbml.BQB_IS);
     cv2.addResource ("bar1");
     S.addCVTerm (cv2);
     assertTrue (S.getNumCVTerms () == 2);
     res = S.getCVTerm (1).getResources ();
     assertTrue (res.getLength () == 2);
     assertTrue (("bar" == res.getValue (0)));
     assertTrue (("bar1" == res.getValue (1)));
     CVTerm cv4 = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv4.setBiologicalQualifierType (libsbml.BQB_IS);
     cv4.addResource ("bar1");
     S.addCVTerm (cv4);
     assertTrue (S.getNumCVTerms () == 2);
     res = S.getCVTerm (1).getResources ();
     assertTrue (res.getLength () == 2);
     assertTrue (("bar" == res.getValue (0)));
     assertTrue (("bar1" == res.getValue (1)));
     CVTerm cv5 = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv5.setBiologicalQualifierType (libsbml.BQB_HAS_PART);
     cv5.addResource ("bar1");
     S.addCVTerm (cv5);
     assertTrue (S.getNumCVTerms () == 2);
     res = S.getCVTerm (1).getResources ();
     assertTrue (res.getLength () == 2);
     assertTrue (("bar" == res.getValue (0)));
     assertTrue (("bar1" == res.getValue (1)));
     cv = null;
     cv2 = null;
     cv1 = null;
     cv4 = null;
 }
 public void test_CVTerm_removeResource()
 {
     CVTerm term = new  CVTerm(libsbml.MODEL_QUALIFIER);
       string resource =  "GO6666";
       XMLAttributes xa;
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       term.addResource(resource);
       xa = term.getResources();
       assertTrue( xa.getLength() == 1 );
       int i = term.removeResource( "CCC");
       assertTrue( i == libsbml.LIBSBML_INVALID_ATTRIBUTE_VALUE );
       xa = term.getResources();
       assertTrue( xa.getLength() == 1 );
       i = term.removeResource(resource);
       assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
       xa = term.getResources();
       assertTrue( xa.getLength() == 0 );
       term = null;
 }
예제 #14
0
 public void test_CVTerm_createFromNode()
 {
     XMLAttributes xa;
       XMLTriple qual_triple = new  XMLTriple("is", "", "bqbiol");
       XMLTriple bag_triple = new  XMLTriple();
       XMLTriple li_triple = new  XMLTriple();
       XMLAttributes att = new  XMLAttributes();
       att.add( "", "This is my resource");
       XMLAttributes att1 = new  XMLAttributes();
       XMLToken li_token = new  XMLToken(li_triple,att);
       XMLToken bag_token = new  XMLToken(bag_triple,att1);
       XMLToken qual_token = new  XMLToken(qual_triple,att1);
       XMLNode li = new XMLNode(li_token);
       XMLNode bag = new XMLNode(bag_token);
       XMLNode node = new XMLNode(qual_token);
       bag.addChild(li);
       node.addChild(bag);
       CVTerm term = new  CVTerm(node);
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER );
       assertTrue( term.getBiologicalQualifierType() == libsbml.BQB_IS );
       xa = term.getResources();
       assertTrue( xa.getLength() == 1 );
       assertTrue((  "rdf:resource" == xa.getName(0) ));
       assertTrue((  "This is my resource" == xa.getValue(0) ));
       qual_triple = null;
       bag_triple = null;
       li_triple = null;
       li_token = null;
       bag_token = null;
       qual_token = null;
       att = null;
       att1 = null;
       term = null;
       node = null;
       bag = null;
       li = null;
 }
예제 #15
0
 public void test_CVTerm_setBiolQualifierType()
 {
     CVTerm term = new  CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER );
       assertTrue( term.getModelQualifierType() == libsbml.BQM_UNKNOWN );
       assertTrue( term.getBiologicalQualifierType() == libsbml.BQB_UNKNOWN );
       int i = term.setBiologicalQualifierType(libsbml.BQB_IS);
       assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
       assertTrue( term.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER );
       assertTrue( term.getBiologicalQualifierType() == libsbml.BQB_IS );
       assertTrue( term.getModelQualifierType() == libsbml.BQM_UNKNOWN );
       i = term.setQualifierType(libsbml.MODEL_QUALIFIER);
       assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       assertTrue( term.getModelQualifierType() == libsbml.BQM_UNKNOWN );
       assertTrue( term.getBiologicalQualifierType() == libsbml.BQB_UNKNOWN );
       i = term.setBiologicalQualifierType(libsbml.BQB_IS);
       assertTrue( i == libsbml.LIBSBML_INVALID_ATTRIBUTE_VALUE );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       assertTrue( term.getModelQualifierType() == libsbml.BQM_UNKNOWN );
       assertTrue( term.getBiologicalQualifierType() == libsbml.BQB_UNKNOWN );
       term = null;
 }
예제 #16
0
 public void test_CVTerm_getResources()
 {
     CVTerm term = new  CVTerm(libsbml.MODEL_QUALIFIER);
       string resource =  "GO6666";
       string resource1 =  "OtherURI";
       long number;
       term.addResource(resource);
       term.addResource(resource1);
       number = term.getNumResources();
       assertTrue( number == 2 );
       assertTrue((  "GO6666" == term.getResourceURI(0) ));
       assertTrue((  "OtherURI" == term.getResourceURI(1) ));
       term = null;
 }
예제 #17
0
 /**
    * Adds a copy of the given CVTerm object to the list of nested CVTerm
    * objects within this CVTerm object.
    *
    * @param term the CVTerm to assign.
    *
    *
  * @return integer value indicating success/failure of the
  * function.  @if clike The value is drawn from the
  * enumeration #OperationReturnValues_t. @endif The possible values
  * returned by this function are:
  * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink
    * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink
    * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink
    */
 public int addNestedCVTerm(CVTerm term)
 {
     int ret = libsbmlPINVOKE.CVTerm_addNestedCVTerm(swigCPtr, CVTerm.getCPtr(term));
     return ret;
 }
예제 #18
0
 /**
    * Copy constructor; creates a copy of a CVTerm object.
    *
    * @param orig the CVTerm instance to copy.
    */
 public CVTerm(CVTerm orig)
     : this(libsbmlPINVOKE.new_CVTerm__SWIG_3(CVTerm.getCPtr(orig)), true)
 {
     if (libsbmlPINVOKE.SWIGPendingException.Pending) throw libsbmlPINVOKE.SWIGPendingException.Retrieve();
 }
예제 #19
0
        internal static HandleRef getCPtrAndDisown(CVTerm obj)
        {
            HandleRef ptr = new HandleRef(null, IntPtr.Zero);

            if (obj != null)
            {
            ptr             = obj.swigCPtr;
            obj.swigCMemOwn = false;
            }

            return ptr;
        }
예제 #20
0
 internal static HandleRef getCPtr(CVTerm obj)
 {
     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }
예제 #21
0
    public static int Main(string[] args)
    {
        SBMLDocument d;
        long errors, n;
        Species s;

        if (args.Length != 2)
        {
            Console.WriteLine("  usage: addCVTerms <input-filename> <output-filename>");
            Console.WriteLine("  Adds controlled vocabulary term to a species");
            return 2;
        }

        d = libsbml.readSBML(args[0]);
        errors = d.getNumErrors();

        if (errors > 0)
        {
            Console.WriteLine("Read Error(s):");
            d.printErrors();

            Console.WriteLine("Correct the above and re-run.");
        }
        else
        {

            n = d.getModel().getNumSpecies();

            if (n <= 0)
            {
                Console.WriteLine("Model has no species.\n Cannot add CV terms\n");
            }
            else
            {
                s = d.getModel().getSpecies(0);

                CVTerm cv = new CVTerm();
                cv.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER);
                cv.setBiologicalQualifierType(libsbml.BQB_IS_VERSION_OF);
                cv.addResource("http://www.geneontology.org/#GO:0005892");

                CVTerm cv2 = new CVTerm();
                cv2.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER);
                cv2.setBiologicalQualifierType(libsbml.BQB_IS);
                cv2.addResource("http://www.geneontology.org/#GO:0005895");

                CVTerm cv1 = new CVTerm();
                cv1.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER);
                cv1.setBiologicalQualifierType(libsbml.BQB_IS_VERSION_OF);
                cv1.addResource("http://www.ebi.ac.uk/interpro/#IPR002394");

                s.addCVTerm(cv);
                s.addCVTerm(cv2);
                s.addCVTerm(cv1);

                libsbml.writeSBML(d, args[1]);
            }
        }

        return (int)errors;
    }
예제 #22
0
 public void test_RDFAnnotation_testMissingMetaId()
 {
     SBMLDocument doc = new SBMLDocument ( 3,1 );
       Model model = doc.createModel();
       assertTrue( model != null );
       model.setId("test1");
       CVTerm term = new CVTerm ( libsbml.MODEL_QUALIFIER );
       term.addResource("testResource");
       term.setModelQualifierType(libsbml.BQM_IS);
       model.setMetaId("t1");
       model.addCVTerm(term);
       model.setMetaId("");
       string test = model.toSBML();
       assertTrue( test ==  "<model id=\"test1\"/>" );
 }
예제 #23
0
 public void prepend(CVTerm item)
 {
     libsbmlPINVOKE.CVTermList_prepend(swigCPtr, CVTerm.getCPtr(item));
 }
예제 #24
0
 internal static HandleRef getCPtr(CVTerm obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
예제 #25
0
 public void test_SBase_unsetAnnotationWithCVTerms()
 {
     CVTerm cv;
     string annt = "<annotation>\n" + "  <test:test xmlns:test=\"http://test.org/test\">this is a test node</test:test>\n" + "</annotation>";
     string annt_with_cvterm = "<annotation>\n" + "  <test:test xmlns:test=\"http://test.org/test\">this is a test node</test:test>\n" + "  <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" " + "xmlns:dc=\"http://purl.org/dc/elements/1.1/\" " + "xmlns:dcterms=\"http://purl.org/dc/terms/\" " + "xmlns:vCard=\"http://www.w3.org/2001/vcard-rdf/3.0#\" " + "xmlns:bqbiol=\"http://biomodels.net/biology-qualifiers/\" " + "xmlns:bqmodel=\"http://biomodels.net/model-qualifiers/\">\n" + "    <rdf:Description rdf:about=\"#_000001\">\n" + "      <bqbiol:is>\n" + "        <rdf:Bag>\n" + "          <rdf:li rdf:resource=\"http://www.geneontology.org/#GO:0005895\"/>\n" + "        </rdf:Bag>\n" + "      </bqbiol:is>\n" + "    </rdf:Description>\n" + "  </rdf:RDF>\n" + "</annotation>";
     S.setAnnotation (annt);
     assertTrue (S.isSetAnnotation () == true);
     assertTrue ((annt == S.getAnnotationString ()));
     S.unsetAnnotation ();
     assertTrue (S.isSetAnnotation () == false);
     assertTrue (S.getAnnotation () == null);
     S.setAnnotation (annt);
     S.setMetaId ("_000001");
     cv = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv.setBiologicalQualifierType (libsbml.BQB_IS);
     cv.addResource ("http://www.geneontology.org/#GO:0005895");
     S.addCVTerm (cv);
     assertTrue (S.isSetAnnotation () == true);
     assertTrue ((annt_with_cvterm == S.getAnnotationString ()));
     S.unsetAnnotation ();
     assertTrue (S.isSetAnnotation () == false);
     assertTrue (S.getAnnotation () == null);
     cv = null;
 }
예제 #26
0
 /**
    * Adds a copy of the given CVTerm object to this SBML object.
    *
    * @param term the CVTerm to assign.
    *
    * @param newBag if @c true, creates a new RDF bag with the same identifier
    * as a previous bag, and if @c false, adds the term to an existing
    * RDF bag with the same type of qualifier as the term being added.
    *
    * @return integer value indicating success/failure of the
    * function.  The possible values returned by this function are:
    * @li @link libsbmlcs.libsbml.LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS @endlink
    * @li @link libsbmlcs.libsbml.LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED @endlink
    * @li @link libsbmlcs.libsbml.LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE @endlink, if
    * this object lacks a 'metaid' attribute
    * @li @link libsbmlcs.libsbml.LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT @endlink
    *
    * @note Since the CV Term uses the 'metaid' attribute of the object as a
    * reference, if the object has no 'metaid' attribute value set, then the
    * CVTerm will not be added.
    *
    * *
  * @note This method should be used with some caution.  The fact that this
  * method @em copies the object passed to it means that the caller will be
  * left holding a physically different object instance than the one contained
  * inside this object.  Changes made to the original object instance (such as
  * resetting attribute values) will <em>not affect the instance in this
  * object</em>.  In addition, the caller should make sure to free the
  * original object if it is no longer being used, or else a memory leak will
  * result.  Please see other methods on this class (particularly a
  * corresponding method whose name begins with the word <code>create</code>)
  * for alternatives that do not lead to these issues.
  *
  *
    *
    * @if notcpp @htmlinclude warn-default-args-in-docs.html @endif
    */
 public int addCVTerm(CVTerm term, bool newBag)
 {
     int ret = libsbmlPINVOKE.SBase_addCVTerm__SWIG_0(swigCPtr, CVTerm.getCPtr(term), newBag);
     return ret;
 }
예제 #27
0
 public void test_SBase_CVTerms()
 {
     CVTerm cv = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv.setBiologicalQualifierType (libsbml.BQB_IS);
     cv.addResource ("foo");
     assertTrue (S.getNumCVTerms () == 0);
     assertTrue (S.getCVTerms () == null);
     S.setMetaId ("_id");
     S.addCVTerm (cv);
     assertTrue (S.getNumCVTerms () == 1);
     assertTrue (S.getCVTerms () != null);
     assertTrue (S.getCVTerm (0) != cv);
     cv = null;
 }
예제 #28
0
 public void test_SBase_getQualifiersFromResources()
 {
     CVTerm cv = new CVTerm (libsbml.BIOLOGICAL_QUALIFIER);
     cv.setBiologicalQualifierType (libsbml.BQB_ENCODES);
     cv.addResource ("foo");
     S.setMetaId ("sbase1");
     S.addCVTerm (cv);
     assertTrue (S.getResourceBiologicalQualifier ("foo") == libsbml.BQB_ENCODES);
     CVTerm cv1 = new CVTerm (libsbml.MODEL_QUALIFIER);
     cv1.setModelQualifierType (libsbml.BQM_IS);
     cv1.addResource ("bar");
     S.addCVTerm (cv1);
     assertTrue (S.getResourceModelQualifier ("bar") == libsbml.BQM_IS);
     cv = null;
     cv1 = null;
 }
예제 #29
0
 public void test_CVTerm_set_get()
 {
     CVTerm term = new  CVTerm(libsbml.MODEL_QUALIFIER);
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       term.setModelQualifierType(libsbml.BQM_IS);
       assertTrue( term != null );
       assertTrue( term.getQualifierType() == libsbml.MODEL_QUALIFIER );
       assertTrue( term.getModelQualifierType() == libsbml.BQM_IS );
       term.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER);
       term.setBiologicalQualifierType(libsbml.BQB_IS);
       assertTrue( term.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER );
       assertTrue( term.getBiologicalQualifierType() == libsbml.BQB_IS );
       term = null;
 }
    public static int Main(string[] args)
    {
        if (args.Length != 2)
        {
            Console.WriteLine("  usage: addingEvidenceCodes_2 <input-filename> <output-filename>");
            Console.WriteLine("  Adds controlled vocabulary term to a species");
            Console.WriteLine();
            return 2;
        }

        SBMLDocument d = libsbml.readSBML(args[0]);
        long errors = d.getNumErrors();

        if (errors > 0)
        {
            Console.WriteLine("Read Error(s):");
            d.printErrors();

            Console.WriteLine("Correct the above and re-run.");
        }
        else
        {
            long n = d.getModel().getNumSpecies();

            if (n <= 0)
            {
                Console.WriteLine("Model has no species.\n Cannot add CV terms\n");
            }
            else
            {
                Species s = d.getModel().getSpecies(0);

                /* check that the species has a metaid
           * no CVTerms will be added if there is no metaid to reference
           */
                if (!s.isSetMetaId())
                    s.setMetaId("metaid_0000052");

                CVTerm cv1 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
                cv1.setBiologicalQualifierType(libsbml.BQB_OCCURS_IN);
                cv1.addResource("urn:miriam:obo.go:GO%3A0005764");

                s.addCVTerm(cv1);

                // now create the additional annotation

                //<rdf:Statement>
                //  <rdf:subject rdf:resource="#metaid_0000052"/>
                //  <rdf:predicate rdf:resource="http://biomodels.net/biology-qualifiers/occursIn"/>
                //  <rdf:object rdf:resource="urn:miriam:obo.go:GO%3A0005764"/>
                //  <bqbiol:isDescribedBy>
                //    <rdf:Bag>
                //      <rdf:li rdf:resource="urn:miriam:obo.eco:ECO%3A0000004"/>
                //      <rdf:li rdf:resource="urn:miriam:pubmed:7017716"/>
                //    </rdf:Bag>
                //  </bqbiol:isDescribedBy>
                //</rdf:Statement>

                /* attributes */
                XMLAttributes blank_att = new XMLAttributes();

                XMLAttributes resource_att = new XMLAttributes();

                /* create the outer statement node */
                XMLTriple statement_triple = new XMLTriple("Statement",
                                                       "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                       "rdf");

                XMLToken statement_token = new XMLToken(statement_triple, blank_att);

                XMLNode statement = new XMLNode(statement_token);

                /*create the subject node */
                XMLTriple subject_triple = new XMLTriple("subject",
                                                     "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                     "rdf");

                resource_att.clear();
                resource_att.add("rdf:resource", "#" + s.getMetaId());

                XMLToken subject_token = new XMLToken(subject_triple, resource_att);

                XMLNode subject = new XMLNode(subject_token);

                /*create the predicate node */
                XMLTriple predicate_triple = new XMLTriple("predicate",
                                                       "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                       "rdf");

                resource_att.clear();
                resource_att.add("rdf:resource",
                                 "http://biomodels.net/biology-qualifiers/occursIn");

                XMLToken predicate_token = new XMLToken(predicate_triple, resource_att);

                XMLNode predicate = new XMLNode(predicate_token);

                /*create the object node */
                XMLTriple object_triple = new XMLTriple("object",
                                                    "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                    "rdf");

                resource_att.clear();
                resource_att.add("rdf:resource", "urn:miriam:obo.go:GO%3A0005764");

                XMLToken object_token = new XMLToken(object_triple, resource_att);

                XMLNode object_ = new XMLNode(object_token);

                /* create the bqbiol node */
                XMLTriple bqbiol_triple = new XMLTriple("isDescribedBy",
                                                    "http://biomodels.net/biology-qualifiers/",
                                                    "bqbiol");

                XMLToken bqbiol_token = new XMLToken(bqbiol_triple, blank_att);

                XMLNode bqbiol = new XMLNode(bqbiol_token);

                /* create the bag node */
                XMLTriple bag_triple = new XMLTriple("Bag",
                                                 "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                 "rdf");

                XMLToken bag_token = new XMLToken(bag_triple, blank_att);

                XMLNode bag = new XMLNode(bag_token);

                /* create each li node and add to the bag */
                XMLTriple li_triple = new XMLTriple("li",
                                                "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                "rdf");

                resource_att.clear();
                resource_att.add("rdf:resource", "urn:miriam:obo.eco:ECO%3A0000004");

                XMLToken li_token = new XMLToken(li_triple, resource_att);
                li_token.setEnd();

                XMLNode li = new XMLNode(li_token);

                bag.addChild(li);

                resource_att.clear();
                resource_att.add("rdf:resource", "urn:miriam:pubmed:7017716");
                li_token = new XMLToken(li_triple, resource_att);
                li_token.setEnd();
                li = new XMLNode(li_token);

                bag.addChild(li);

                /* add the bag to bqbiol */
                bqbiol.addChild(bag);

                /* add subject, predicate, object and bqbiol to statement */
                statement.addChild(subject);
                statement.addChild(predicate);
                statement.addChild(object_);
                statement.addChild(bqbiol);

                /* create a top-level RDF element
           * this will ensure correct merging
           */

                XMLNamespaces xmlns = new XMLNamespaces();
                xmlns.add("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf");
                xmlns.add("http://purl.org/dc/elements/1.1/", "dc");
                xmlns.add("http://purl.org/dc/terms/", "dcterms");
                xmlns.add("http://www.w3.org/2001/vcard-rdf/3.0#", "vCard");
                xmlns.add("http://biomodels.net/biology-qualifiers/", "bqbiol");
                xmlns.add("http://biomodels.net/model-qualifiers/", "bqmodel");

                XMLTriple RDF_triple = new XMLTriple("RDF",
                                                 "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
                                                 "rdf");

                XMLToken RDF_token = new XMLToken(RDF_triple, blank_att, xmlns);

                XMLNode annotation = new XMLNode(RDF_token);

                /* add the staement node to the RDF node */
                annotation.addChild(statement);

                s.appendAnnotation(annotation);

                libsbml.writeSBML(d, args[1]);
            }
        }

        return (int)errors;
    }
예제 #31
0
 public void prepend(CVTerm item)
 {
     libsbmlPINVOKE.CVTermList_prepend(swigCPtr, CVTerm.getCPtr(item));
 }
예제 #32
0
 public void test_RDFAnnotation_parseCVTerms()
 {
     XMLNode node = RDFAnnotationParser.parseCVTerms(m.getCompartment(0));
       assertTrue( node.getNumChildren() == 1 );
       XMLNode rdf = node.getChild(0);
       assertTrue((  "RDF" == rdf.getName() ));
       assertTrue((  "rdf" == rdf.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == rdf.getURI() ));
       assertTrue( rdf.getNumChildren() == 1 );
       XMLNode desc = rdf.getChild(0);
       assertTrue((  "Description" == desc.getName() ));
       assertTrue((  "rdf" == desc.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == desc.getURI() ));
       assertTrue( desc.getNumChildren() == 1 );
       XMLNode is1 = desc.getChild(0);
       assertTrue((  "is" == is1.getName() ));
       assertTrue((  "bqbiol" == is1.getPrefix() ));
       assertTrue( is1.getNumChildren() == 1 );
       XMLNode Bag = is1.getChild(0);
       assertTrue((  "Bag" == Bag.getName() ));
       assertTrue((  "rdf" == Bag.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == Bag.getURI() ));
       assertTrue( Bag.getNumChildren() == 4 );
       XMLNode li = Bag.getChild(0);
       assertTrue((  "li" == li.getName() ));
       assertTrue((  "rdf" == li.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li.getURI() ));
       assertTrue( li.getNumChildren() == 0 );
       XMLNode li1 = Bag.getChild(1);
       assertTrue((  "li" == li1.getName() ));
       assertTrue((  "rdf" == li1.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li1.getURI() ));
       assertTrue( li1.getNumChildren() == 0 );
       XMLNode li2 = Bag.getChild(2);
       assertTrue((  "li" == li2.getName() ));
       assertTrue((  "rdf" == li2.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li2.getURI() ));
       assertTrue( li2.getNumChildren() == 0 );
       XMLNode li3 = Bag.getChild(3);
       assertTrue((  "li" == li3.getName() ));
       assertTrue((  "rdf" == li3.getPrefix() ));
       assertTrue((  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li3.getURI() ));
       assertTrue( li3.getNumChildren() == 0 );
       node = null;
       XMLNode node1 = RDFAnnotationParser.parseCVTerms(null);
       assertTrue( node1 == null );
       node1 = RDFAnnotationParser.createCVTerms(null);
       assertTrue( node1 == null );
       node1 = RDFAnnotationParser.parseCVTerms(m.getCompartment(2));
       assertTrue( node1 == null );
       node1 = RDFAnnotationParser.createCVTerms(m.getCompartment(2));
       assertTrue( node1 == null );
       node1 = RDFAnnotationParser.parseCVTerms(m);
       assertTrue( node1 == null );
       node1 = RDFAnnotationParser.createCVTerms(m);
       assertTrue( node1 == null );
       Compartment c = new Compartment(3,1);
       c.setMetaId("_002");
       node1 = RDFAnnotationParser.parseCVTerms(c);
       assertTrue( node1 == null );
       node1 = RDFAnnotationParser.createCVTerms(c);
       assertTrue( node1 == null );
       CVTerm cv = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       cv.setBiologicalQualifierType(23);
       cv.addResource("http://myres");
       c.addCVTerm(cv);
       node1 = RDFAnnotationParser.createCVTerms(c);
       assertTrue( node1 == null );
       c = null;
       Model m1 = new Model(3,1);
       m1.setMetaId("_002");
       cv = new CVTerm(libsbml.MODEL_QUALIFIER);
       cv.setModelQualifierType(23);
       cv.addResource("http://myres");
       m1.addCVTerm(cv);
       node1 = RDFAnnotationParser.createCVTerms(m1);
       assertTrue( node1 == null );
 }
    public static int Main(string[] args)
    {
        SBMLDocument d;

        long errors, n;
        Reaction r;

        if (args.Length != 2)
        {
            Console.Write(Environment.NewLine
                                      + "  usage: addingEvidenceCodes_1 <input-filename> <output-filename>" + Environment.NewLine
                                      + "  Adds controlled vocabulary term to a reaction" + Environment.NewLine
                                      + Environment.NewLine);
            return 2;
        }

        d = libsbml.readSBML(args[1]);
        errors = d.getNumErrors();

        if (errors > 0)
        {
            Console.Write("Read Error(s):" + Environment.NewLine);
            d.printErrors();

            Console.Write("Correct the above and re-run." + Environment.NewLine);
        }
        else
        {

            n = d.getModel().getNumReactions();

            if (n <= 0)
            {
                Console.Write("Model has no reactions.\n Cannot add CV terms\n");
            }
            else
            {
                r = d.getModel().getReaction(0);

                /* check that the reaction has a metaid
           * no CVTerms will be added if there is no metaid to reference
           */
                if (!r.isSetMetaId())
                    r.setMetaId("metaid_0000052");

                CVTerm cv1 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
                cv1.setBiologicalQualifierType(libsbml.BQB_IS_DESCRIBED_BY);
                cv1.addResource("urn:miriam:obo.eco:ECO%3A0000183");

                r.addCVTerm(cv1);

                CVTerm cv2 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
                cv2.setBiologicalQualifierType(libsbml.BQB_IS);
                cv2.addResource("urn:miriam:kegg.reaction:R00756");
                cv2.addResource("urn:miriam:reactome:REACT_736");

                r.addCVTerm(cv2);

                libsbml.writeSBML(d, args[1]);
            }
        }

        return (int)errors;
    }
 public void test_SBase_unsetCVTerms()
 {
     CVTerm cv = new  CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       cv.setBiologicalQualifierType(libsbml.BQB_ENCODES);
       cv.addResource( "foo");
       S.setMetaId( "_id");
       S.addCVTerm(cv);
       CVTerm cv1 = new  CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       cv1.setBiologicalQualifierType(libsbml.BQB_IS);
       cv1.addResource( "bar");
       S.addCVTerm(cv1);
       CVTerm cv2 = new  CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       cv2.setBiologicalQualifierType(libsbml.BQB_IS);
       cv2.addResource( "bar1");
       S.addCVTerm(cv2);
       CVTerm cv4 = new  CVTerm(libsbml.BIOLOGICAL_QUALIFIER);
       cv4.setBiologicalQualifierType(libsbml.BQB_IS);
       cv4.addResource( "bar1");
       S.addCVTerm(cv4);
       assertTrue( S.getNumCVTerms() == 2 );
       int i = S.unsetCVTerms();
       assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
       assertTrue( S.getNumCVTerms() == 0 );
       assertTrue( S.getCVTerms() == null );
       cv = null;
       cv2 = null;
       cv1 = null;
       cv4 = null;
 }
예제 #35
0
 /**
    * Adds a copy of the given CVTerm object to this SBML object.
    *
    * @param term the CVTerm to assign.
    *
    * @param newBag if @c true, creates a new RDF bag with the same identifier
    * as a previous bag, and if @c false, adds the term to an existing
    * RDF bag with the same type of qualifier as the term being added.
    *
    * @return integer value indicating success/failure of the
    * function.  The possible values returned by this function are:
    * @li @link libsbmlcs.libsbml.LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS @endlink
    * @li @link libsbmlcs.libsbml.LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED @endlink
    * @li @link libsbmlcs.libsbml.LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE @endlink, if
    * this object lacks a 'metaid' attribute
    * @li @link libsbmlcs.libsbml.LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT @endlink
    *
    * @note Since the CV Term uses the 'metaid' attribute of the object as a
    * reference, if the object has no 'metaid' attribute value set, then the
    * CVTerm will not be added.
    *
    * *
  * @note This method should be used with some caution.  The fact that this
  * method @em copies the object passed to it means that the caller will be
  * left holding a physically different object instance than the one contained
  * inside this object.  Changes made to the original object instance (such as
  * resetting attribute values) will <em>not affect the instance in this
  * object</em>.  In addition, the caller should make sure to free the
  * original object if it is no longer being used, or else a memory leak will
  * result.  Please see other methods on this class (particularly a
  * corresponding method whose name begins with the word <code>create</code>)
  * for alternatives that do not lead to these issues.
  *
  *
    *
    * @if notcpp @htmlinclude warn-default-args-in-docs.html @endif
    */
 public int addCVTerm(CVTerm term)
 {
     int ret = libsbmlPINVOKE.SBase_addCVTerm__SWIG_1(swigCPtr, CVTerm.getCPtr(term));
     return ret;
 }
 public void test_RDFAnnotation2_modelWithHistoryAndCVTerms()
 {
     ModelHistory h = new ModelHistory();
       ModelCreator c = new ModelCreator();
       c.setFamilyName("Keating");
       c.setGivenName("Sarah");
       h.addCreator(c);
       Date d = new Date(2008,11,17,18,37,0,0,0,0);
       h.setCreatedDate(d);
       h.setModifiedDate(d);
       m2.unsetModelHistory();
       m2.setModelHistory(h);
       CVTerm cv = new CVTerm();
       cv.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER);
       cv.setBiologicalQualifierType(libsbml.BQB_IS_VERSION_OF);
       cv.addResource("http://www.geneontology.org/#GO:0005892");
       m2.addCVTerm(cv);
       XMLNode ann = RDFAnnotationParser.parseModelHistory(m2);
       string expected = "<annotation>\n" +
     "  <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:vCard=\"http://www.w3.org/2001/vcard-rdf/3.0#\" xmlns:bqbiol=\"http://biomodels.net/biology-qualifiers/\" xmlns:bqmodel=\"http://biomodels.net/model-qualifiers/\">\n" +
     "    <rdf:Description rdf:about=\"#_000001\">\n" +
     "      <dc:creator rdf:parseType=\"Resource\">\n" +
     "        <rdf:Bag>\n" +
     "          <rdf:li rdf:parseType=\"Resource\">\n" +
     "            <vCard:N rdf:parseType=\"Resource\">\n" +
     "              <vCard:Family>Keating</vCard:Family>\n" +
     "              <vCard:Given>Sarah</vCard:Given>\n" +
     "            </vCard:N>\n" +
     "          </rdf:li>\n" +
     "        </rdf:Bag>\n" +
     "      </dc:creator>\n" +
     "      <dcterms:created rdf:parseType=\"Resource\">\n" +
     "        <dcterms:W3CDTF>2008-11-17T18:37:00Z</dcterms:W3CDTF>\n" +
     "      </dcterms:created>\n" +
     "      <dcterms:modified rdf:parseType=\"Resource\">\n" +
     "        <dcterms:W3CDTF>2008-11-17T18:37:00Z</dcterms:W3CDTF>\n" +
     "      </dcterms:modified>\n" +
     "      <bqbiol:isVersionOf>\n" +
     "        <rdf:Bag>\n" +
     "          <rdf:li rdf:resource=\"http://www.geneontology.org/#GO:0005892\"/>\n" +
     "        </rdf:Bag>\n" +
     "      </bqbiol:isVersionOf>\n" +
     "    </rdf:Description>\n" +
     "  </rdf:RDF>\n" +
     "</annotation>";
       if (ann != null);
       {
     assertEquals( true, equals(expected,ann.toXMLString()) );
       }
       {
       }
 }