Exemplo n.º 1
0
    def test_schema(self):
        "Test schema"
        sp_hbb1 = testutil.datafile('sp_hbb1') 
        sp2 = seqdb.BlastDB(sp_hbb1)
        sp2.__doc__ = 'another sp'
        worldbase.Bio.Seq.sp2 = sp2
        sp = worldbase.Bio.Seq.Swissprot.sp42()
        m = mapping.Mapping(sourceDB=sp,targetDB=sp2)
        m.__doc__ = 'sp -> sp2'
        worldbase.Bio.Seq.testmap = m
        worldbaseSchema.Bio.Seq.testmap = metabase.OneToManyRelation(sp, sp2)
        worldbase.commit()

        worldbase.clear_cache()

        sp3 = seqdb.BlastDB(sp_hbb1)
        sp3.__doc__ = 'sp number 3'
        worldbase.Bio.Seq.sp3 = sp3
        sp2 = worldbase.Bio.Seq.sp2()
        m = mapping.Mapping(sourceDB=sp3,targetDB=sp2)
        m.__doc__ = 'sp3 -> sp2'
        worldbase.Bio.Seq.testmap2 = m
        worldbaseSchema.Bio.Seq.testmap2 = metabase.OneToManyRelation(sp3, sp2)
        l = worldbase._mdb.resourceCache.keys()
        l.sort()
        assert l == ['Bio.Seq.sp2', 'Bio.Seq.sp3', 'Bio.Seq.testmap2']
        worldbase.commit()
        g = worldbase._mdb.writer.storage.graph
        expected = set(['Bio.Annotation.annoDB',
                     'Bio.Seq.Swissprot.sp42', 'Bio.Seq.sp2', 'Bio.Seq.sp3'])
        found = set(g.keys()) 
        self.EQ(len(expected - found), 0) 
Exemplo n.º 2
0
    def setUp(self,**kwargs):
        TestBase.setUp(self)
        dnaseq = testutil.datafile('dnaseq.fasta')
        tryannot = testutil.tempdatafile('tryannot')

        db = seqdb.BlastDB(dnaseq)
        try:
            db.__doc__ = 'little dna'

            worldbase.Bio.Test.dna = db
            annoDB = seqdb.AnnotationDB({1:('seq1',5,10,'fred'),
                                         2:('seq1',-60,-50,'bob'),
                                         3:('seq2',-20,-10,'mary')},
                                        db,
                                  sliceAttrDict=dict(id=0, start=1, stop=2,
                                                     name=3))
            annoDB.__doc__ = 'trivial annotation'
            worldbase.Bio.Test.annoDB = annoDB
            nlmsa = cnestedlist.NLMSA(tryannot,'w',pairwiseMode=True,
                                      bidirectional=False)
            try:
                for annID in annoDB:
                    nlmsa.addAnnotation(annoDB[annID])

                nlmsa.build(verbose=False)
                nlmsa.__doc__ = 'trivial map'
                worldbase.Bio.Test.map = nlmsa
                worldbaseSchema.Bio.Test.map = metabase.ManyToManyRelation(db,
                                                       annoDB,bindAttrs=('exons',))
                worldbase.commit()
                worldbase.clear_cache()
            finally:
                nlmsa.close()
        finally:
            db.close()
Exemplo n.º 3
0
    def test_schema(self):
        "Test schema"
        sp_hbb1 = testutil.datafile('sp_hbb1')
        sp2 = seqdb.BlastDB(sp_hbb1)
        sp2.__doc__ = 'another sp'
        worldbase.Bio.Seq.sp2 = sp2
        sp = worldbase.Bio.Seq.Swissprot.sp42()
        m = mapping.Mapping(sourceDB=sp, targetDB=sp2)
        m.__doc__ = 'sp -> sp2'
        worldbase.Bio.Seq.testmap = m
        worldbase.schema.Bio.Seq.testmap = metabase.OneToManyRelation(sp, sp2)
        worldbase.commit()

        worldbase.clear_cache()

        sp3 = seqdb.BlastDB(sp_hbb1)
        sp3.__doc__ = 'sp number 3'
        worldbase.Bio.Seq.sp3 = sp3
        sp2 = worldbase.Bio.Seq.sp2()
        m = mapping.Mapping(sourceDB=sp3, targetDB=sp2)
        m.__doc__ = 'sp3 -> sp2'
        worldbase.Bio.Seq.testmap2 = m
        worldbase.schema.Bio.Seq.testmap2 = metabase.OneToManyRelation(
            sp3, sp2)
        l = worldbase._mdb.resourceCache.keys()
        l.sort()
        assert l == ['Bio.Seq.sp2', 'Bio.Seq.sp3', 'Bio.Seq.testmap2']
        worldbase.commit()
        g = worldbase._mdb.writer.storage.graph
        expected = set([
            'Bio.Annotation.annoDB', 'Bio.Seq.Swissprot.sp42', 'Bio.Seq.sp2',
            'Bio.Seq.sp3'
        ])
        found = set(g.keys())
        self.EQ(len(expected - found), 0)
    def test_mapping_FR(self):
        """Test the forward mapping.

        >>> from pygr import worldbase
        >>> adb = worldbase('Test.Annotations.annodb1_db')
        >>> a1 = adb['A1']
        >>> adb2 = worldbase('Test.Annotations.annodb2_db')
        >>> a2 = adb2['E2']
        >>> a1 == a2.annotdb1[0]
        True
        
        """

        print '# Create mapping'
        M = PygrUtils.AnnotationDBMapping(self.annodb1,self.annodb2,'test.mapping','test.mapping','annotdb2','annotdb1',mode='nr')        
        M[self.annot1]=self.annot10
        M.close(commitData=True)
        
        print '# Reload recently committed data, eg, mapping'
        worldbase.clear_cache()

        print '# Test forward mapping'
        annodb2 = worldbase('Test.Annotations.annodb2_db')
        a10 = annodb2['E2']
        self.assertEqual(repr(self.annot1), repr(a10.annotdb1[0]))

        print '# Test reverse mapping'
        annodb1 = worldbase('Test.Annotations.annodb1_db')
        a1 = annodb1['A1']
        self.assertEqual(repr(self.annot10), repr(a1.annotdb2[0]))
Exemplo n.º 5
0
    def setUp(self):
        TestBase.setUp(self)
        populate_swissprot() # save some data
        worldbase.commit() # finally save everything to metabase
        worldbase.clear_cache() # force all requests to reload

        res = [ 'Bio.Seq.Swissprot.sp42', 'Bio.Seq.frag', 'Bio.Seq.spmap',
                'Bio.Annotation.annoDB', 'Bio.Annotation.map' ]
        self.server = testutil.TestXMLRPCServer(res, self.tempdir.path)
Exemplo n.º 6
0
    def setUp(self):
        TestBase.setUp(self)
        populate_swissprot()  # save some data
        worldbase.commit()  # finally save everything to metabase
        worldbase.clear_cache()  # force all requests to reload

        res = [
            'Bio.Seq.Swissprot.sp42', 'Bio.Seq.frag', 'Bio.Seq.spmap',
            'Bio.Annotation.annoDB', 'Bio.Annotation.map'
        ]
        self.server = testutil.TestXMLRPCServer(res, self.tempdir.path)
Exemplo n.º 7
0
    def setUp(self, **kwargs):
        TestBase.setUp(self)
        dnaseq = testutil.datafile('dnaseq.fasta')
        tryannot = testutil.tempdatafile('tryannot')

        db = seqdb.BlastDB(dnaseq)
        try:
            db.__doc__ = 'little dna'

            worldbase.Bio.Test.dna = db
            annoDB = seqdb.AnnotationDB(
                {
                    1: ('seq1', 5, 10, 'fred'),
                    2: ('seq1', -60, -50, 'bob'),
                    3: ('seq2', -20, -10, 'mary')
                },
                db,
                sliceAttrDict=dict(id=0, start=1, stop=2, name=3))
            annoDB.__doc__ = 'trivial annotation'
            worldbase.Bio.Test.annoDB = annoDB
            nlmsa = cnestedlist.NLMSA(tryannot,
                                      'w',
                                      pairwiseMode=True,
                                      bidirectional=False)
            try:
                for annID in annoDB:
                    nlmsa.addAnnotation(annoDB[annID])

                nlmsa.build()
                nlmsa.__doc__ = 'trivial map'
                worldbase.Bio.Test.map = nlmsa
                worldbase.schema.Bio.Test.map = metabase.ManyToManyRelation(
                    db, annoDB, bindAttrs=('exons', ))
                worldbase.commit()
                worldbase.clear_cache()
            finally:
                nlmsa.close()
        finally:
            db.close()
Exemplo n.º 8
0
 def test_xmlrpc(self):
     "Test XMLRPC"
     worldbase.clear_cache() # force all future requests to reload
     worldbase.update("http://localhost:%s" % self.server.port) # from XMLRPC
     
     check_match(self) # run all our tests
     check_dir(self)
     check_dir_noargs(self)
     check_dir_download(self)
     check_dir_re(self)
     check_bind(self)
     check_bind2(self)
     
     sb_hbb1 = testutil.datafile('sp_hbb1') # test readonly checks
     sp2 = seqdb.BlastDB(sb_hbb1)
     sp2.__doc__ = 'another sp'
     try:
         worldbase.Bio.Seq.sp2 = sp2
         worldbase.commit()
         msg = 'failed to catch bad attempt to write to XMLRPC server'
         raise KeyError(msg)
     except ValueError:
         pass
Exemplo n.º 9
0
    def test_xmlrpc(self):
        "Test XMLRPC"
        worldbase.clear_cache()  # force all future requests to reload
        # Add our test XMLRPC resource.
        worldbase.update("http://localhost:%s" % self.server.port)

        check_match(self)  # run all our tests
        check_dir(self)
        check_dir_noargs(self)
        check_dir_download(self)
        check_dir_re(self)
        check_bind(self)
        check_bind2(self)

        sb_hbb1 = testutil.datafile('sp_hbb1')  # test readonly checks
        sp2 = seqdb.BlastDB(sb_hbb1)
        sp2.__doc__ = 'another sp'
        try:
            worldbase.Bio.Seq.sp2 = sp2
            worldbase.commit()
            msg = 'failed to catch bad attempt to write to XMLRPC server'
            raise KeyError(msg)
        except ValueError:
            pass
Exemplo n.º 10
0
 def setUp(self, *args, **kwargs):
     TestBase.setUp(self, *args, **kwargs)
     populate_swissprot()
     worldbase.commit() # finally save everything
     worldbase.clear_cache() # force all requests to reload
Exemplo n.º 11
0
 def setUp(self, *args, **kwargs):
     TestBase.setUp(self, *args, **kwargs)
     populate_swissprot()
     worldbase.commit()  # finally save everything
     worldbase.clear_cache()  # force all requests to reload