From mwilkinson at pub.open-bio.org Fri Jan 2 15:13:24 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri Jan 2 15:15:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022013.i02KDOEG026149@pub.open-bio.org> mwilkinson Fri Jan 2 15:13:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26130/MOBY Modified Files: Central.pm Log Message: be more stringent with the authURI and email fields because they are being abused. Some scoundrel just registered 'HelloWorldService' as a service ontology term and didn't include their email address so I could spank them. moby-live/Perl/MOBY Central.pm,1.120,1.121 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.120 retrieving revision 1.121 diff -u -r1.120 -r1.121 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2003/12/28 20:41:59 1.120 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:13:23 1.121 @@ -235,6 +235,8 @@ return &_error("Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid by testing against existing relationships and such while (my ($reltype, $obj) = each %{$relationships}){ @@ -469,6 +471,8 @@ return &_error("Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid @@ -683,6 +687,8 @@ return &_error("Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; my ($exists, $exists_message, $URI) = $OntologyServer->namespaceExists(term => $term); # success = 1 if it does (($exists==1) && return &_error("Namespace $term already exists", $URI)); @@ -1044,8 +1050,10 @@ $error .="missing serviceName \n" unless defined $serviceName; $error .="missing serviceType \n" unless defined $serviceType; $error .="missing authURI \n" unless defined $AuthURI; - $error .="malformed authURI; must be the domain name only with no http prefix or trailing path information \n" if $AuthURI =~ '[/:]'; $error .="missing contactEmail \n" unless defined $contactEmail; + return &_error("Malformed authURI - must not have an http:// prefix","") if $AuthURI =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $AuthURI =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $contactEmail =~ /\S\@\S+\.\S+/; $error .="missing URL \n" unless defined $URL; $error .="missing description \n" unless defined $desc; $error .="missing Category \n" unless defined $Category; From mwilkinson at pub.open-bio.org Fri Jan 2 15:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri Jan 2 15:41:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNPo026308@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:22 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26289/MOBY Modified Files: Central.pm Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/MOBY Central.pm,1.121,1.122 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:13:23 1.121 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:39:22 1.122 @@ -1089,9 +1089,9 @@ $OS = MOBY::OntologyServer->new(ontology => 'service'); my ($valid, $message, $URI) = $OS->serviceExists(term => $serviceType); - print STDERR "\n\nChecking $URI\n\n"; + #print STDERR "\n\nChecking $URI\n\n"; return &_error("$message","$URI") unless ($valid || (($serviceType =~ /urn:lsid/i) && !($serviceType =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-MOBY LSID - print STDERR "\n\nChecking $URI OK!!\n\n"; + #print STDERR "\n\nChecking $URI OK!!\n\n"; # right, registration should be successful now! my $SVC = MOBY::service_instance->new( From mwilkinson at pub.open-bio.org Fri Jan 2 15:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri Jan 2 15:41:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNG3026328@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv26289/MOBY/Client Modified Files: Central.pm Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/MOBY/Client Central.pm,1.68,1.69 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2003/12/27 20:11:48 1.68 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/02 20:39:23 1.69 @@ -496,8 +496,8 @@ $type - email - auth\n"; + $email + $auth\n"; while (my ($type, $servlistref) = each %Relationships){ $message .="\n"; foreach my $servicetype(@{$servlistref}){ From mwilkinson at pub.open-bio.org Fri Jan 2 15:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri Jan 2 15:41:01 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNVx026349@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts In directory pub.open-bio.org:/tmp/cvs-serv26289/scripts Modified Files: testMOBYClientCentral_v05.pl Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/scripts testMOBYClientCentral_v05.pl,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl 2003/12/02 00:23:23 1.12 +++ /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl 2004/01/02 20:39:23 1.13 @@ -34,8 +34,8 @@ #reg first object class TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", - contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + contactEmail => 'your@email.address', + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -48,7 +48,7 @@ TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -61,7 +61,7 @@ TEST($C->registerObjectClass(objectType => "YetMoreCrap", description => "a human-readable description of the object", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -73,7 +73,7 @@ TEST($C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => ['Retrieval','Analysis']} ), 4, 1); @@ -81,7 +81,7 @@ TEST($C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => ['Retrieval','Analysis']} ), 5, 0); @@ -108,7 +108,7 @@ TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1']]} @@ -118,7 +118,7 @@ TEST($C->registerObjectClass(objectType => "YetMoreCrap", description => "a human-readable description of the object", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['TotalCrap', 'article1']]} From mwilkinson at pub.open-bio.org Mon Jan 5 16:29:09 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Mon Jan 5 16:30:26 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401052129.i05LT91A013029@pub.open-bio.org> mwilkinson Mon Jan 5 16:29:08 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv13010/Perl/MOBY/Client Modified Files: Service.pm Log Message: if service invocation returns an error, catch this and be graceful about it moby-live/Perl/MOBY/Client Service.pm,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2003/11/04 15:38:13 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/01/05 21:29:08 1.7 @@ -206,7 +206,9 @@ ]]>"; my $METHOD = $self->ServiceName; &_LOG(%args, $METHOD); - return $self->_soapService->$METHOD($data); + my $response; + eval {($response) = $self->_soapService->$METHOD($data)}; + return $@?"":$response; # the service execution failed then pass back "" } From mwilkinson at pub.open-bio.org Thu Jan 8 13:59:48 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 8 14:00:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081859.i08IxmOM023848@pub.open-bio.org> mwilkinson Thu Jan 8 13:59:48 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv23829/Perl/MOBY/Client Modified Files: Central.pm Log Message: oops. backing out that change to Client::Central as it isn't ready for prime time yet moby-live/Perl/MOBY/Client Central.pm,1.70,1.71 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.70 retrieving revision 1.71 diff -u -r1.70 -r1.71 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:55:55 1.70 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:59:48 1.71 @@ -1396,13 +1396,6 @@ @lsids = @$lsids; $self->ISA_CACHE($lsid1, [@lsids]); $self->ISA_CACHE($class1, [@lsids]); - my @hold = @lsids; - while (shift @hold){ - $self->ISA_CACHE($_, [@hold]); - if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ - $self->ISA_CACHE($1, [@lsids]); - } - } } foreach (@lsids){ return 1 if $_ eq $lsid2; From mwilkinson at pub.open-bio.org Thu Jan 8 14:05:58 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 8 14:06:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081905.i08J5wC5023972@pub.open-bio.org> mwilkinson Thu Jan 8 14:05:58 EST 2004 Update of /home/repository/moby/moby-live/Perl/t In directory pub.open-bio.org:/tmp/cvs-serv23953/t Modified Files: Client-Central.t Log Message: fixing errors in test suite prior to release moby-live/Perl/t Client-Central.t,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/t/Client-Central.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/t/Client-Central.t 2003/11/12 17:31:42 1.2 +++ /home/repository/moby/moby-live/Perl/t/Client-Central.t 2004/01/08 19:05:58 1.3 @@ -27,7 +27,7 @@ $r = $C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => [ ['Object', 'article1'], @@ -48,7 +48,7 @@ $r = $C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => [ ['Object', 'article1'], @@ -74,7 +74,7 @@ $r = $C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your@email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => ['Retrieval']} ); @@ -85,7 +85,7 @@ $r = $C->registerService( serviceName => "myfirstservice", serviceType => "Retrieval", - authURI => "www.illuminae.com", + authURI => "test.suite.com", contactEmail => 'your@mail.address', description => "this is my first service", category => "moby", @@ -112,7 +112,7 @@ $r = $C->deregisterService( serviceName => "myfirstservice", - authURI => "www.illuminae.com", + authURI => "test.suite.com", ); ( ok($r->success,"Service deregistration successful") ) or diag("Service deregistration failure: ".$r->message) ; From mwilkinson at pub.open-bio.org Thu Jan 8 13:55:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 8 15:25:22 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081855.i08IttE4023691@pub.open-bio.org> mwilkinson Thu Jan 8 13:55:55 EST 2004 Update of /home/repository/moby/moby-live/Perl In directory pub.open-bio.org:/tmp/cvs-serv23672 Modified Files: MANIFEST Log Message: removing dead module from MANIFEST moby-live/Perl MANIFEST,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MANIFEST,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MANIFEST 2003/11/12 17:31:42 1.6 +++ /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/08 18:55:55 1.7 @@ -20,7 +20,6 @@ MOBY/Client/OntologyServer.pm MOBY/Client/ServiceInstance.pm MOBY/Client/SimpleArticle.pm -MOBY/Client/SimpleInput.pm MOBY/Client/Service.pm t/Client-Central.t scripts/debugYourService From mwilkinson at pub.open-bio.org Thu Jan 8 13:55:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 8 15:25:22 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081855.i08Itt0U023710@pub.open-bio.org> mwilkinson Thu Jan 8 13:55:55 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv23672/MOBY/Client Modified Files: Central.pm Log Message: removing dead module from MANIFEST moby-live/Perl/MOBY/Client Central.pm,1.69,1.70 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/02 20:39:23 1.69 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:55:55 1.70 @@ -1396,6 +1396,13 @@ @lsids = @$lsids; $self->ISA_CACHE($lsid1, [@lsids]); $self->ISA_CACHE($class1, [@lsids]); + my @hold = @lsids; + while (shift @hold){ + $self->ISA_CACHE($_, [@hold]); + if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ + $self->ISA_CACHE($1, [@lsids]); + } + } } foreach (@lsids){ return 1 if $_ eq $lsid2; From mwilkinson at pub.open-bio.org Sat Jan 10 17:12:40 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 17:13:24 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102212.i0AMCeiW031208@pub.open-bio.org> mwilkinson Sat Jan 10 17:12:40 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid In directory pub.open-bio.org:/tmp/cvs-serv31190/lsid Log Message: Directory /home/repository/moby/moby-live/Perl/MOBY/lsid added to the repository moby-live/Perl/MOBY/lsid - New directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/directory,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 17:13:01 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 17:13:44 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102213.i0AMD1kx031252@pub.open-bio.org> mwilkinson Sat Jan 10 17:13:01 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31234/lsid/authority Log Message: Directory /home/repository/moby/moby-live/Perl/MOBY/lsid/authority added to the repository moby-live/Perl/MOBY/lsid/authority - New directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/directory,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 17:15:21 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 17:16:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102215.i0AMFLUr031345@pub.open-bio.org> mwilkinson Sat Jan 10 17:15:21 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31330/authority Added Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm authority.pl dbConfigure.pm dbConfigure.pm.template dbConnect.pm lsid_resolver.kpf metadata.pl Log Message: moving LSID resolver modules into the MOBY tree so that they will be installed by the Makefile moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,NONE,1.1 Error.pm,NONE,1.1 NamespaceResolver.pm,NONE,1.1 PredicateResolver.pm,NONE,1.1 RDFConfigure.pm,NONE,1.1 RelationshipResolver.pm,NONE,1.1 ServiceInstanceResolver.pm,NONE,1.1 ServiceResolver.pm,NONE,1.1 authority.pl,NONE,1.1 dbConfigure.pm,NONE,1.1 dbConfigure.pm.template,NONE,1.1 dbConnect.pm,NONE,1.1 lsid_resolver.kpf,NONE,1.1 metadata.pl,NONE,1.1 From mwilkinson at pub.open-bio.org Sat Jan 10 17:17:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 17:18:15 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102217.i0AMHWwK031421@pub.open-bio.org> mwilkinson Sat Jan 10 17:17:32 EST 2004 Update of /home/repository/moby/moby-live/Perl/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31394/authority Removed Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm authority.pl dbConfigure.pm.template dbConnect.pm metadata.pl Log Message: cleaning up moby-live/Perl/lsid/authority ClassResolver.pm,1.1,NONE Error.pm,1.2,NONE NamespaceResolver.pm,1.3,NONE PredicateResolver.pm,1.3,NONE RDFConfigure.pm,1.6,NONE RelationshipResolver.pm,1.3,NONE ServiceInstanceResolver.pm,1.4,NONE ServiceResolver.pm,1.1,NONE authority.pl,1.3,NONE dbConfigure.pm.template,1.2,NONE dbConnect.pm,1.1,NONE metadata.pl,1.8,NONE rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ClassResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/Error.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/NamespaceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/PredicateResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/RDFConfigure.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/RelationshipResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ServiceInstanceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ServiceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/authority.pl,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/dbConfigure.pm.template,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/dbConnect.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/metadata.pl,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 20:31:37 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 20:32:19 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110131.i0B1Vbar032020@pub.open-bio.org> mwilkinson Sat Jan 10 20:31:37 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32000 Modified Files: dbConfigure.pm.template Removed Files: dbConfigure.pm Log Message: don't want the module in the CVS, only the template, since it has to be edited for each installation moby-live/Perl/MOBY/lsid/authority dbConfigure.pm.template,1.1,1.2 dbConfigure.pm,1.1,NONE =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template 2004/01/11 01:31:37 1.2 @@ -15,7 +15,7 @@ =cut #$Id$ -package dbConfigure; +package MOBY::lsid::authority::dbConfigure; use strict; use base 'Exporter'; require Exporter; rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/dbConfigure.pm,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 21:30:58 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 21:31:41 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110230.i0B2Uwqe032213@pub.open-bio.org> mwilkinson Sat Jan 10 21:30:58 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32162/authority Modified Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm metadata.pl Log Message: updating use's for new location moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.1,1.2 Error.pm,1.1,1.2 NamespaceResolver.pm,1.1,1.2 PredicateResolver.pm,1.1,1.2 RDFConfigure.pm,1.1,1.2 RelationshipResolver.pm,1.1,1.2 ServiceInstanceResolver.pm,1.1,1.2 ServiceResolver.pm,1.1,1.2 metadata.pl,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package ClassResolver; +package MOBY::lsid::authority::ClassResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/11 02:30:58 1.2 @@ -1,5 +1,5 @@ #$Id$ -package Error; +package MOBY::lsid::authority::Error; sub clientFault {} =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package NamespaceResolver; +package MOBY::lsid::authority::NamespaceResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,9 +1,9 @@ #$Id$ -package PredicateResolver; +package MOBY::lsid::authority::PredicateResolver; require Exporter; use XML::DOM; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/11 02:30:58 1.2 @@ -1,6 +1,6 @@ #$Id$ -package RDFConfigure; +package MOBY::lsid::authority::RDFConfigure; use strict; use base 'Exporter'; require Exporter; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package RelationshipResolver; +package MOBY::lsid::authority::RelationshipResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,9 +1,9 @@ #$Id$ -package ServiceInstanceResolver; +package MOBY::lsid::authority::ServiceInstanceResolver; require Exporter; use XML::DOM; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); use MOBY::Client::Central; @ISA = qw(Exporter); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package ServiceResolver; +package MOBY::lsid::authority::ServiceResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 02:30:58 1.2 @@ -8,11 +8,11 @@ use LS::ID; use LS::Authority::WSDL::Simple; -use Error; +use MOBY::lsid::authority::Error; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); -use dbConfigure qw( +use MOBY::lsid::authority::dbConfigure qw( $servicedb $namespacedb $objectdb @@ -20,12 +20,12 @@ $relationshipdb ); -use NamespaceResolver qw(:all); -use ClassResolver qw(:all); -use ServiceResolver qw(:all); -use RelationshipResolver qw(:all); -use PredicateResolver qw(:all); -use ServiceInstanceResolver qw(:all); +use MOBY::lsid::authority::NamespaceResolver qw(:all); +use MOBY::lsid::authority::ClassResolver qw(:all); +use MOBY::lsid::authority::ServiceResolver qw(:all); +use MOBY::lsid::authority::RelationshipResolver qw(:all); +use MOBY::lsid::authority::PredicateResolver qw(:all); +use MOBY::lsid::authority::ServiceInstanceResolver qw(:all); my %known_types = ( # switch on/off various LSID-namespace resolvers. 'namespacetype' => 1, From mwilkinson at pub.open-bio.org Sat Jan 10 22:50:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 10 22:51:14 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110350.i0B3oWbA032531@pub.open-bio.org> mwilkinson Sat Jan 10 22:50:31 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32492/authority Modified Files: ClassResolver.pm NamespaceResolver.pm RelationshipResolver.pm ServiceResolver.pm authority.pl metadata.pl Log Message: more changes required due to change in location moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.2,1.3 NamespaceResolver.pm,1.2,1.3 RelationshipResolver.pm,1.2,1.3 ServiceResolver.pm,1.2,1.3 authority.pl,1.1,1.2 metadata.pl,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectclass:text-base64 my $sth = $dbh->prepare("select object_type, description, authority, contact_email from object where object_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 03:50:31 1.3 @@ -29,7 +29,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($namespace_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($namespace_db_params); my $sth = $dbh->prepare("select namespace_type, description, authority, contact_email from namespace where namespace_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectrelation:isa my $sth = $dbh->prepare("select relationship_type, description, authority, contact_email, ontology from relationship where relationship_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:servicetype:retrieval my $sth = $dbh->prepare("select service_type, description, authority, contact_email from service where service_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl 2004/01/11 03:50:31 1.2 @@ -36,7 +36,7 @@ method => 'GET', location => "mobycentral.cbr.nrc.ca", operations => { - getMetaData => "/cgi-bin/authority/metadata.pl?lsid=$lsid" + getMetaData => "/cgi-bin/BIO/moby-live/Perl/MOBY/lsid/authority/metadata.pl?lsid=$lsid" } ); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 03:50:31 1.3 @@ -2,7 +2,7 @@ #$Id$ use CGI qw/:standard/; -use lib "/usr/local/apache/cgi-bin/lsid/authority"; +use lib "/usr/local/apache2/cgi-bin/BIO/moby-live/Perl"; use strict; use CGI::Carp; From mwilkinson at pub.open-bio.org Sun Jan 11 00:51:10 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sun Jan 11 00:51:53 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110551.i0B5pAtO000319@pub.open-bio.org> mwilkinson Sun Jan 11 00:51:10 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts In directory pub.open-bio.org:/tmp/cvs-serv304 Added Files: OntologyServer Log Message: a new OntologyServer that returns lots of RDF for those who love RDF. Mmmmm, RDFFFFFFF moby-live/Perl/scripts OntologyServer,NONE,1.1 From mwilkinson at pub.open-bio.org Sun Jan 11 00:51:11 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sun Jan 11 00:51:53 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110551.i0B5pBeW000339@pub.open-bio.org> mwilkinson Sun Jan 11 00:51:10 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv304/Services Modified Files: LocalServices.pm Log Message: a new OntologyServer that returns lots of RDF for those who love RDF. Mmmmm, RDFFFFFFF moby-live/Perl/scripts/Services LocalServices.pm,1.49,1.50 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2003/12/16 20:46:40 1.49 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/11 05:51:10 1.50 @@ -463,7 +463,7 @@ if ($kw){$tempresponse .="\n"} if ($acc){$tempresponse .="\n"} $tempresponse .="\n"; - $tempresponse .="\n".($SEQ->length)." + $tempresponse .="\n$length "; $MOBY_RESPONSE .= simpleResponse($tempresponse, "", $qID); } elsif (($ns eq $validNS{'NCBI_Acc'}) || ($ns eq $validNS{'EMBL'})){ From mwilkinson at pub.open-bio.org Thu Jan 15 11:04:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 11:05:08 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401151604.i0FG4tjR026485@pub.open-bio.org> mwilkinson Thu Jan 15 11:04:54 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26466/Perl/MOBY Modified Files: Central.pm Log Message: this might fix the bug that Viji just found allowing registration of services without a Category moby-live/Perl/MOBY Central.pm,1.122,1.123 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.122 retrieving revision 1.123 diff -u -r1.122 -r1.123 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:39:22 1.122 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/15 16:04:54 1.123 @@ -1066,7 +1066,7 @@ ); $debug && &_LOG("Entering switch with $Category method\n"); - return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless ($Category eq "moby" || $Category eq "wsdl"); + return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless (($Category eq "moby") || ($Category eq "wsdl")); my @IN = @{$INPUTS}; my @OUT = @{$OUTPUTS}; my @SECS = @{$SECONDARY}; From mwilkinson at pub.open-bio.org Thu Jan 15 11:08:42 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 11:08:53 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401151608.i0FG8gMV026584@pub.open-bio.org> mwilkinson Thu Jan 15 11:08:42 EST 2004 Update of /home/repository/moby/moby-live/Perl In directory pub.open-bio.org:/tmp/cvs-serv26565 Modified Files: MANIFEST Log Message: updated MANIFEST with location of lsid resolver code moby-live/Perl MANIFEST,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MANIFEST,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/08 18:55:55 1.7 +++ /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/15 16:08:42 1.8 @@ -30,17 +30,17 @@ scripts/OntologyServer.cgi scripts/Services/HelloWorldService.pm scripts/Services/LocalServices.pm -lsid/authority/authority.pl -lsid/authority/ClassResolver.pm -lsid/authority/dbConfigure.pm.template -lsid/authority/dbConnect.pm -lsid/authority/Error.pm -lsid/authority/metadata.pl -lsid/authority/NamespaceResolver.pm -lsid/authority/PredicateResolver.pm -lsid/authority/RDFConfigure.pm -lsid/authority/RelationshipResolver.pm -lsid/authority/ServiceInstanceResolver.pm -lsid/authority/ServiceResolver.pm +MOBY/lsid/authority/authority.pl +MOBY/lsid/authority/ClassResolver.pm +MOBY/lsid/authority/dbConfigure.pm.template +MOBY/lsid/authority/dbConnect.pm +MOBY/lsid/authority/Error.pm +MOBY/lsid/authority/metadata.pl +MOBY/lsid/authority/NamespaceResolver.pm +MOBY/lsid/authority/PredicateResolver.pm +MOBY/lsid/authority/RDFConfigure.pm +MOBY/lsid/authority/RelationshipResolver.pm +MOBY/lsid/authority/ServiceInstanceResolver.pm +MOBY/lsid/authority/ServiceResolver.pm From mwilkinson at pub.open-bio.org Thu Jan 15 15:59:39 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 15:59:51 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152059.i0FKxd6m027459@pub.open-bio.org> mwilkinson Thu Jan 15 15:59:38 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27404/authority Modified Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm lsid_resolver.kpf metadata.pl Log Message: updating all metadata resolvers with correct error codes according to the I3C moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.3,1.4 Error.pm,1.2,1.3 NamespaceResolver.pm,1.3,1.4 PredicateResolver.pm,1.2,1.3 RDFConfigure.pm,1.2,1.3 RelationshipResolver.pm,1.3,1.4 ServiceInstanceResolver.pm,1.2,1.3 ServiceResolver.pm,1.3,1.4 lsid_resolver.kpf,1.1,1.2 metadata.pl,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($object_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($object_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -74,7 +74,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 20:59:38 1.3 @@ -1,8 +1,91 @@ #$Id$ package MOBY::lsid::authority::Error; +use base 'Exporter'; +require Exporter; +my %errors = ( + 200, 'MALFORMED_LSID', + #A syntactically invalid LSID provided. + 201, 'UNKNOWN_LSID', + #An unknown LSID provided. + 202, 'CANNOT_ASSIGN_LSID', + #No LSID can be created from the given properties. + + #Error codes dealing with data retrieval + ############################################### + + 300, 'NO_DATA_AVAILABLE', + #No data exists for the given LSID. +#An exception with this code is raised when there could be data attached +#to the given LSID but they are not available in the time of the request. +#The exception should not raised when the LSID identifies an abstract +#concept in which case there are never any concrete data attached to it. + + 301, 'INVALID_RANGE', + # The requested starting position of data range is not +#valid. + + #Error codes dealing with metadata retrieval + ############################################### + 400, 'NO_METADATA_AVAILABLE', + # No metadata exists for the given LSID - +#at the moment. The same data retrieval service may be successful +#next time. The exception should not be raised if there are no +#metadata at all, at any time. + + 401, 'NO_METADATA_AVAILABLE_FOR_FORMATS', + #No metadata exists this time, +#or any time for the requested format. The exception cannot be raised +#if the requested format includes wild-chars. + + 402, 'UNKNOWN_SELECTOR_FORMAT', + #The format of the metadata selector is +#not supported by the service. + + #General error codes + ############################################### + + 500, 'INTERNAL_PROCESSING_ERROR', + #A generic catch-all for +#errors not specifically mentioned elsewhere in this list. + + 501, 'METHOD_NOT_IMPLEMENTED', + #A requested method is not implemented. +#Note that the method in question must exist otherwise it may be +#caught already by the underlying protocol and reported differently - +#but it has no implementation.The implementation may extend the set +#of error codes in order to include implementation-specific codes. If +#it does so it should use numbers above 20 in each of the groups, +#or any number above 700. In other words, the free codes are: +# 221-299, 321-399, 421-499, 521-599, 701-above). + ); + +my %errornames; # flip it +while (my ($n, $m) = each %errors){ + $errornames{$m} = $n; +} + + +our @EXPORT_OK = qw( + _die + ); +our @EXPORT = qw( + _die + ); +our %EXPORT_TAGS =(all => [qw( + _die + )]); sub clientFault {} sub serverFault {} +sub _die { + my $m = shift; + my $n = $errornames{$m}; + print header( + -status=>"$n $m", + ); + exit 1; +} + 1; \ No newline at end of file =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 20:59:38 1.4 @@ -20,7 +20,7 @@ #print STDERR "LSID is $ls\n"; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -35,7 +35,7 @@ $sth->execute($lsid); my ($namespace_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($namespace_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -75,7 +75,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - die Error::clientFault('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/15 20:59:38 1.3 @@ -22,7 +22,7 @@ my ($ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -32,7 +32,7 @@ # e.g. urn:lsid:biomoby.org:rdfpredicates:mobyOntology unless ($known_predicates->{$obj}){ - _die('LSID '.($lsid->as_string).' ($obj) Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -62,7 +62,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 20:59:38 1.3 @@ -27,42 +27,37 @@ my ($subj, $pred, $obj)= @_; return " \t<$pred rdf:resource='$obj'/> -"; +\n"; } sub rdfBnode { my ($subj, $pred, $id)= @_; return " \t<$pred rdf:nodeID='$id'/> -"; +\n"; } sub rdfBnodeResource { my ($subj, $pred, $obj)= @_; return " \t<$pred rdf:resource='$obj'/> -"; +\n"; } sub rdfBnodeLiteral { my ($subj, $pred, $obj)= @_; return " \t<$pred>$obj -"; +\n"; } sub rdfBnodeBnode { my ($subj, $pred, $id)= @_; return " \t<$pred rdf:nodeID='$id'/> -"; +\n"; } -sub _die { - my $m = shift; - my $e = shift; - die ($e, $m); -} our @EXPORT_OK = qw( @@ -75,7 +70,6 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode - _die ); our %EXPORT_TAGS =(all => [qw( $SERVICE_CGI @@ -87,7 +81,6 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode - _die )]); 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($relationship_type, $description, $authURI, $contact_email, $ontology) = $sth->fetchrow_array; unless ($relationship_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -79,7 +79,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/15 20:59:38 1.3 @@ -19,7 +19,7 @@ my ($ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -28,14 +28,14 @@ my $rev= $lsid->revision; # e.g. urn:lsid:biomoby.org:serviceinstance:www.illuminae.com,genbankcompletesequenceretrieve unless ($obj =~ /(.*)\,(.*):?/){ - _die('Malformed service instance LSID; should be of form urn:lsid:biomoby.org:serviceinstance:authURI,serviceName',500); + _die('MALFORMED_LSID'); } my $auth = $1; my $sname = $2; my $M = MOBY::Client::Central->new; my ($si, $reg) = $M->findService(authURI => $auth, serviceName => $sname); unless ($si && ${$si}[0]){ - _die('LSID '.($lsid->as_string).' ($obj) Does not exist as a MOBY service instance', 404); + _die('UNKNOWN_LSID'); } my $service = shift(@{$si}); # LSID is now fully validated. Carry on with metadata. @@ -205,7 +205,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($service_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($service_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -74,7 +74,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf 2004/01/15 20:59:38 1.2 @@ -20,7 +20,7 @@ - + =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/15 20:59:38 1.4 @@ -53,22 +53,19 @@ sub validate_lsid { my $lsid = shift; unless ($lsid) { - _die('No LSID', 200); + _die('MALFORMED_LSID'); } unless ($lsid =~ /biomoby.org/){ - _die('Not biomoby LSID', 200); + _die('UNKNOWN_LSID'); } unless ($lsid =~ /^urn:lsid/i){ - _die('Malformed LSID', 200); - } - unless ($lsid =~ /biomoby.org/){ - _die('Not biomoby LSID', 200); + _die('MALFORMED_LSID'); } unless ($lsid =~ /biomoby.org\:(\S+?)\:/){ - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } unless ($known_types{$1}){ - _die("unknown LSID namespace $1; known types are ".(join ",", (keys %known_types))."\n", 404); + _die("UNKNOWN_LSID"); } return resolve_namespacetype($namespacedb,$lsid) if $1 eq "namespacetype"; From mwilkinson at pub.open-bio.org Thu Jan 15 16:15:01 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 16:15:11 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152115.i0FLF1GC027616@pub.open-bio.org> mwilkinson Thu Jan 15 16:15:01 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27597/authority Modified Files: dbConnect.pm Log Message: wrong name for the object moby-live/Perl/MOBY/lsid/authority dbConnect.pm,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm 2004/01/15 21:15:01 1.2 @@ -1,5 +1,5 @@ #$Id$ -package dbConnect; +package MOBY::lsid::authority::dbConnect; require Exporter; From mwilkinson at pub.open-bio.org Thu Jan 15 16:18:50 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 16:19:01 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152118.i0FLIoQb027717@pub.open-bio.org> mwilkinson Thu Jan 15 16:18:50 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27686/authority Modified Files: ClassResolver.pm NamespaceResolver.pm RelationshipResolver.pm ServiceResolver.pm Log Message: bah. The subroutine is exported. moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.4,1.5 NamespaceResolver.pm,1.4,1.5 RelationshipResolver.pm,1.4,1.5 ServiceResolver.pm,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectclass:text-base64 my $sth = $dbh->prepare("select object_type, description, authority, contact_email from object where object_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 21:18:50 1.5 @@ -29,7 +29,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($namespace_db_params); + my $dbh = dbConnect($namespace_db_params); my $sth = $dbh->prepare("select namespace_type, description, authority, contact_email from namespace where namespace_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectrelation:isa my $sth = $dbh->prepare("select relationship_type, description, authority, contact_email, ontology from relationship where relationship_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:servicetype:retrieval my $sth = $dbh->prepare("select service_type, description, authority, contact_email from service where service_lsid = ?"); $sth->execute($lsid); From mwilkinson at pub.open-bio.org Thu Jan 15 16:26:03 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 16:26:14 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152126.i0FLQ3ca027857@pub.open-bio.org> mwilkinson Thu Jan 15 16:26:02 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27834/authority Modified Files: Error.pm RDFConfigure.pm Log Message: bah moby-live/Perl/MOBY/lsid/authority Error.pm,1.3,1.4 RDFConfigure.pm,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 20:59:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:26:02 1.4 @@ -66,20 +66,20 @@ our @EXPORT_OK = qw( - _die + lsid_die ); our @EXPORT = qw( - _die + lsid_die ); our %EXPORT_TAGS =(all => [qw( - _die + lsid_die )]); sub clientFault {} sub serverFault {} -sub _die { +sub lsid_die { my $m = shift; my $n = $errornames{$m}; print header( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 20:59:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 21:26:02 1.4 @@ -4,6 +4,7 @@ use strict; use base 'Exporter'; require Exporter; +use MOBY::lsid::authority::Error; our $SERVICE_CGI= 'http://localhost:80/cgi-bin/authority/metadata.pl'; our $RDF_PREFIX=" @@ -15,6 +16,9 @@ xmlns:i3csp='urn:lsid:i3c.org:services:'>\n\n"; our $RDF_SUFFIX= ""; +sub _die { + MOBY::lsid::authority::Error::lsid_die(@_); +} sub rdfLiteral { my ($subj, $pred, $obj)= @_; @@ -70,6 +74,7 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode + _die ); our %EXPORT_TAGS =(all => [qw( $SERVICE_CGI @@ -81,6 +86,7 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode + _die )]); 1; From mwilkinson at pub.open-bio.org Thu Jan 15 16:34:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu Jan 15 16:34:32 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152134.i0FLYNQU027954@pub.open-bio.org> mwilkinson Thu Jan 15 16:34:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27935/authority Modified Files: Error.pm Log Message: use CGI to get the header function moby-live/Perl/MOBY/lsid/authority Error.pm,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:26:02 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:34:23 1.5 @@ -2,6 +2,7 @@ package MOBY::lsid::authority::Error; use base 'Exporter'; require Exporter; +use CGI qw(:all); my %errors = ( 200, 'MALFORMED_LSID', #A syntactically invalid LSID provided. @@ -88,4 +89,4 @@ exit 1; } -1; \ No newline at end of file +1; From mwilkinson at pub.open-bio.org Sat Jan 17 22:45:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 17 22:45:19 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180345.i0I3jN5j003265@pub.open-bio.org> mwilkinson Sat Jan 17 22:45:22 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3246/Services Modified Files: LocalServices.pm Log Message: added a couple of new DragonDB services that retrieve allele collections from a locus name, and annotated image collections from an allele name moby-live/Perl/scripts/Services LocalServices.pm,1.50,1.51 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/11 05:51:10 1.50 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:45:22 1.51 @@ -8,6 +8,9 @@ use strict; use SeqHound; +use Ace; +use LWP::UserAgent; +use MIME::Base64; use SOAP::Lite; use Bio::SeqIO; use DBI; @@ -666,9 +669,6 @@ sub getDragonMutantImages { my ($self, $data) = @_; - use Ace; - use LWP::UserAgent; - use MIME::Base64; # prepare myself my $OS = MOBY::Client::OntologyServer->new; @@ -684,30 +684,39 @@ ################################### # now start retrieving the input data - my @input_nodes = getInputArticles($data); # returns ([obj1, obj2], [obj3, obj4], [obj5], [obj6],...) + my @input_nodes = genericServiceInputParser($data); my @inputs; - foreach (@input_nodes){ - push @inputs, $_->[0]; # we only allow one input object per query - } # Start iterating through the queries my $response; - foreach my $node(@inputs){ - + foreach my $input(@input_nodes){ + my ($articleType, $qID, $node) = @{$input}; + unless (($articleType == SIMPLE) && (defined($input))){ # we only accept simple inputs to this service + $response .= collectionResponse([], "", $qID) ; # send back a blank response for this queryID + next; + } my $namespace_LSID = getSimpleArticleNamespaceURI($node); # get the LSID of the namespace for this input object unless ($namespace_LSID eq $nsAllele){ # validate the namespace - $response .= collectionResponse([]); # because we have to send one response per input, send a blank if bad namespace + $response .= collectionResponse([], "", $qID); # because we have to send one response per input, send a blank if bad namespace next; } my ($Allele)= getSimpleArticleIDs($namespace_LSID, [$node]); # get the ID within this namespace unless (defined $Allele){ # send a blank if we failed to get an id, - $response .= collectionResponse([]); # because we have to send one response per input + $response .= collectionResponse([], "", $qID); # because we have to send one response per input next; } # Prepare query on DragonDB with that allele name + + +# my $q= qq{select Gif from Gif in object("Allele","$identifier")}; +# my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); +# my @res = $db->aql($q); +# + + my $query = qq(select Gif from Gif in object("Allele","$Allele") -> Phenotype_picture -> Pick_me_to_call[2]); - print STDERR "QUERY TO DRAGONDB WAS $query\n"; +# print STDERR "QUERY TO DRAGONDB WAS $query\n"; my @jpgnames= $db->aql($query); # I really need to learn AQL better so that I can also retrieve the # Locus as a Cross-reference, and the Sequence as a cross-reference! @@ -726,13 +735,101 @@ push @simples, "$image_data"; # push it onto the collection list } } - $response .= collectionResponse(\@simples); # after all images have been collected, create the collection + $response .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection } $response = responseHeader() . $response . responseFooter(); # now wrap the collection(s) with the appropriate headers etc my $SOAPResponse = SOAP::Data->type('base64' => $response); return $SOAPResponse # and return them. } +sub getDragonSimpleAnnotatedImages{ + my ($caller, $data) = @_; + my $MOBY_RESPONSE; + my (@inputs)= genericServiceInputParser($data); # ([SIMPLE, $queryID, $simple],...) + return SOAP::Data->type('base64' => responseHeader("illuminae.com") . responseFooter()) unless (scalar(@inputs)); + + my @validNS = validateNamespaces("DragonDB_Allele"); # ONLY do this if you are intending to be namespace aware! + + foreach (@inputs){ + my ($articleType, $qID, $input) = @{$_}; + unless (($articleType == SIMPLE) && ($input)){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } else { + my $namespace = getSimpleArticleNamespaceURI($input); + my ($identifier) = getSimpleArticleIDs($input); # note array output! + my $q= qq{select Gif from Gif in object("Allele","$identifier")}; + my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); + my @res = $db->aql($q); + unless ($res[0]){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } + my @simples; + foreach (@res){ + my $Allele = shift @{$_}; + my @Alleledesc = $Allele->Description("Phenotype"); + my $Locus = $Allele->Source("Gene"); + foreach my $pic($Allele->Phenotype_picture){ + my $picdesc = $pic->Description; + $picdesc = $picdesc."\n".(join "\n",@Alleledesc); + my $img = $pic->Pick_me_to_call->right; + $img =~ s/([^\w\-\.\@])/$1 eq " "?"+":sprintf("%%%2.2x",ord($1))/eg; # URL Encode the image filename + $img = "http://antirrhinum.net/ace/images/DragonDB/external/".$img; # make the URL + my $ua = LWP::UserAgent->new; + my $req = HTTP::Request->new(GET => $img); # get the image + my $res = $ua->request($req); + # Check the outcome of the response + if ($res->is_success) { # if successful, then base64 encide the data + my $image_data = encode_base64($res->content); # and create the simple image object + # push @simples, "$image_data"; # push it onto the collection list + push @simples, qq{ + + + $image_data$picdesc}; + } # no else + } + } + $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection + } + } + return SOAP::Data->type('base64' => (responseHeader("illuminae.com") . $MOBY_RESPONSE . responseFooter)); +} + +sub getDragonLocusAlleles{ + my ($caller, $data) = @_; + my $MOBY_RESPONSE; + my (@inputs)= genericServiceInputParser($data); # ([SIMPLE, $queryID, $simple],...) + return SOAP::Data->type('base64' => responseHeader("illuminae.com") . responseFooter()) unless (scalar(@inputs)); + + my @validNS = validateNamespaces("DragonDB_Gene"); # ONLY do this if you are intending to be namespace aware! + + foreach (@inputs){ + my ($articleType, $qID, $input) = @{$_}; + unless (($articleType == SIMPLE) && ($input)){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } else { + my $namespace = getSimpleArticleNamespaceURI($input); + my ($identifier) = getSimpleArticleIDs($input); # note array output! + my $q= qq{select Locus->Allele from Locus in object("Locus","$identifier")}; + my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); + my @res = $db->aql($q); + unless ($res[0]){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } + my @simples; + foreach (@res){ + my $Allele = shift @{$_}; + push @simples, qq{}; + } + $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection + } + } + return SOAP::Data->type('base64' => (responseHeader("illuminae.com") . $MOBY_RESPONSE . responseFooter)); +} + ############################################################### ###################### for My Machine Only ################### From mwilkinson at pub.open-bio.org Sat Jan 17 22:51:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 17 22:51:27 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180351.i0I3pWgF003359@pub.open-bio.org> mwilkinson Sat Jan 17 22:51:32 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3340/Services Modified Files: LocalServices.pm Log Message: missed the closing tags on some elements moby-live/Perl/scripts/Services LocalServices.pm,1.51,1.52 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:45:22 1.51 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:51:32 1.52 @@ -785,7 +785,7 @@ # push @simples, "$image_data"; # push it onto the collection list push @simples, qq{ - + $image_data$picdesc}; } # no else } @@ -822,7 +822,7 @@ my @simples; foreach (@res){ my $Allele = shift @{$_}; - push @simples, qq{}; + push @simples, qq{}; } $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection } From mwilkinson at pub.open-bio.org Sat Jan 17 22:54:53 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 17 22:54:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180354.i0I3sr3b003435@pub.open-bio.org> mwilkinson Sat Jan 17 22:54:52 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3416/Services Modified Files: LocalServices.pm Log Message: missed the closing tags on some elements moby-live/Perl/scripts/Services LocalServices.pm,1.52,1.53 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:51:32 1.52 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:54:52 1.53 @@ -786,7 +786,8 @@ push @simples, qq{ - $image_data$picdesc}; + $image_data$picdesc + }; } # no else } } From mwilkinson at pub.open-bio.org Sat Jan 17 23:00:25 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat Jan 17 23:00:21 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180400.i0I40P5p003510@pub.open-bio.org> mwilkinson Sat Jan 17 23:00:25 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3491/Services Modified Files: LocalServices.pm Log Message: removing a service that I just re-wrote to give better output moby-live/Perl/scripts/Services LocalServices.pm,1.53,1.54 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:54:52 1.53 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 04:00:25 1.54 @@ -666,81 +666,6 @@ ################################################# ################################################# -sub getDragonMutantImages { - - my ($self, $data) = @_; - -# prepare myself - my $OS = MOBY::Client::OntologyServer->new; - my ($s, $m, $nsAllele) = $OS->namespaceExists(term => "DragonDB_Allele"); - - unless ($nsAllele){ # unless we could get the known namespace LSID's we should bail because somethign is very very wrong! - print STDERR "the namespace DragonDB_Allele does not exist in the MOBY namespace ontology\n"; - return SOAP::Data->type('base64' => responseHeader() . responseFooter()); # base 64 encode it (optional) - } -# make the database connection once - my $db = Ace->connect(-host => 'bioinfo.usask.ca', - -port => 23100); -################################### - -# now start retrieving the input data - my @input_nodes = genericServiceInputParser($data); - my @inputs; - -# Start iterating through the queries - my $response; - foreach my $input(@input_nodes){ - my ($articleType, $qID, $node) = @{$input}; - unless (($articleType == SIMPLE) && (defined($input))){ # we only accept simple inputs to this service - $response .= collectionResponse([], "", $qID) ; # send back a blank response for this queryID - next; - } - my $namespace_LSID = getSimpleArticleNamespaceURI($node); # get the LSID of the namespace for this input object - unless ($namespace_LSID eq $nsAllele){ # validate the namespace - $response .= collectionResponse([], "", $qID); # because we have to send one response per input, send a blank if bad namespace - next; - } - - my ($Allele)= getSimpleArticleIDs($namespace_LSID, [$node]); # get the ID within this namespace - unless (defined $Allele){ # send a blank if we failed to get an id, - $response .= collectionResponse([], "", $qID); # because we have to send one response per input - next; - } -# Prepare query on DragonDB with that allele name - - -# my $q= qq{select Gif from Gif in object("Allele","$identifier")}; -# my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); -# my @res = $db->aql($q); -# - - - my $query = qq(select Gif from Gif in object("Allele","$Allele") -> Phenotype_picture -> Pick_me_to_call[2]); -# print STDERR "QUERY TO DRAGONDB WAS $query\n"; - my @jpgnames= $db->aql($query); - # I really need to learn AQL better so that I can also retrieve the - # Locus as a Cross-reference, and the Sequence as a cross-reference! - my @simples; - foreach my $jpg (@jpgnames){ - $jpg = $jpg->[0]; - $jpg =~ s/([^\w\-\.\@])/$1 eq " "?"+":sprintf("%%%2.2x",ord($1))/eg; # URL Encode the image filename - $jpg = "http://antirrhinum.net/ace/images/DragonDB/external/".$jpg; # make the URL - my $ua = LWP::UserAgent->new; - my $req = HTTP::Request->new(GET => $jpg); # get the image - my $res = $ua->request($req); - - # Check the outcome of the response - if ($res->is_success) { # if successful, then base64 encide the data - my $image_data = encode_base64($res->content); # and create the simple image object - push @simples, "$image_data"; # push it onto the collection list - } - } - $response .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection - } - $response = responseHeader() . $response . responseFooter(); # now wrap the collection(s) with the appropriate headers etc - my $SOAPResponse = SOAP::Data->type('base64' => $response); - return $SOAPResponse # and return them. -} sub getDragonSimpleAnnotatedImages{ my ($caller, $data) = @_; From nwnhavxe at kovugcfrhct.yourmakeup.info Tue Jan 20 06:07:01 2004 From: nwnhavxe at kovugcfrhct.yourmakeup.info (Lzmt Qp) Date: Tue Jan 20 03:35:49 2004 Subject: [MOBY-guts] Modern Miracles Make Your Face Look Years Younger? In-Reply-To: <0W07.VxKH-PDCB$KRxVxKH.xAP.X00Z0Z> References: <0W07.VxKH-PDCB$KRxVxKH.xAP.X00Z0Z> Message-ID: An HTML attachment was scrubbed... URL: http://portal.open-bio.org/pipermail/moby-guts/attachments/20040120/74acd440/attachment-0001.htm From sam at moonlight.co.il Fri Jan 30 11:29:14 2004 From: sam at moonlight.co.il (sam@moonlight.co.il) Date: Fri Jan 30 11:34:08 2004 Subject: [MOBY-guts] Hello Message-ID: <200401301633.i0UGXwEs011844@portal.open-bio.org> The message contains Unicode characters and has been sent as a binary attachment. -------------- next part -------------- A non-text attachment was scrubbed... Name: message.zip Type: application/octet-stream Size: 22796 bytes Desc: not available Url : http://portal.open-bio.org/pipermail/moby-guts/attachments/20040131/7c4ec523/message-0001.obj From Mailer-Daemon at jupiter.myacen.com Fri Jan 30 15:19:40 2004 From: Mailer-Daemon at jupiter.myacen.com (Mail Delivery System) Date: Fri Jan 30 15:25:55 2004 Subject: [MOBY-guts] Mail delivery failed: returning message to sender Message-ID: This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: smith@esperanto.org.nz This message has been rejected because it has a potentially executable attachment "vxlqh.scr" This form of attachment has been used by recent viruses or other malware. If you meant to send this file then please package it up as a zip file and resend it. ------ This is a copy of the message, including all the headers. ------ Return-path: Received: from [202.127.20.131] (helo=biomoby.org) by jupiter.myacen.com with esmtp (Exim 4.24) id 1Amf74-0006rG-T9 for smith@esperanto.org.nz; Fri, 30 Jan 2004 20:19:39 +0000 From: moby-guts@biomoby.org To: smith@esperanto.org.nz Subject: HELLO Date: Sat, 31 Jan 2004 04:19:58 +0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0013_67B11BA0.4B4868A2" X-Priority: 3 X-MSMail-Priority: Normal Message-Id: This is a multi-part message in MIME format. ------=_NextPart_000_0013_67B11BA0.4B4868A2 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit ------=_NextPart_000_0013_67B11BA0.4B4868A2 Content-Type: application/octet-stream; name="vxlqh.scr" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vxlqh.scr" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUA AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABQAAAAEAAAAGAAAGC+AAAAcAAAAMAAAAAASgAAEAAA AAIAAAQAAAAAAAAABAAAAAAAAAAA0AAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQ AAAAAAAAAAAAAADowQAAMAEAAADAAADoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAABgAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADg VVBYMQAAAAAAUAAAAHAAAABQAAAABAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADAAAAA BAAAAFQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkCCUh+iY/UNhyBKZYAAFNOAAAAgAAAJgEAxe6H ApIAUCZKAEAD/bJpmiwQBPQl6AEAS85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFhQzWCf aUgARAc4MDRN03QDKCQcGBDTLLvXCCMD+Cnw6E3TNE3g2NDIvLQ0TdM0rKSclIzONk3TiHxwaClv XKbpmsEHVEwDRDiapmmaLCQcFAwEaZrObfwofwP07OSmaZqm3NTMyLyapmmatKykoJiQZ5umaYyA eHAoe2jebNN1B1wDVEwo//sLdrb740APNCj3LC8DmqYZ+SQoShwUDARpms7sm/wnA+zo4KZpmqbY 1MzIwJqmabq4J7CsqKCYaZqmaZSMiIR8pGmapnRsZFxUaZqmG0wDREA4MKZpmqYoIBgQCJqmc5sA +CbPA+jg2Gebzm1UNEMDQDQ024r/////nVrQ2uX0Bh8zTmxyTtgCl1+SyAE9fL5DS5bkNYngOpf/ ////91rAKZUEdutj3lzdYehy/48iuFHtjC7TeybUDTnwqmf/////J+qweUUU5ruTbkwtEfjiz7+y qKGdnJ6jq7bE1ekAGjf/////V3qgyfUkVovD/jx9wQhSn+9CmPFNrA5z20a0JZkQigf/////hwqQ GaWlqP7yw9Ko+BIsSmuPtuANPXCm3xtafOEnVcn/////EmC+GGXVOJ4Xc+JUiUG8muM/xlCNbQCW T8tqDLFDerL/////cxfOiEcFyIpXI/LEmXFMLgvv1sCtnZCGD3t6fJGJlKL/////s8fe+hU1WH6n wwI0eaHcGluP5jBtzSB2zyuK/FG5JJL/////A3fuaOVl6G6Xg4N2jJWhsMLX7wooSW2UvusbToS9 +Tj/////er8HUqDxRWyWU7MafOVRwDKnH5oYmR2kLrtL3nQNqUj/////6o834pBB9axmI+OmbDUB 0KJ3TyoI6c20not7bmRdWVj/////Wl9ncoCRpbzW8xM2XIWx4BJHf7r4OX3EDlur/lStCT3///// mnenAnDhVcwGw0PGXNVhYWRqc3+MoLXN6AYnS3Kcyfn/////LGKbVxZYfbBgJv4jetQxkeRawy/O EIX9dPZ3+4AMmSn/////vFLrhybIbRXAbh+TikThlNQSId+ugFUtGObHq/J8aVn/////TkI7Nzg4 PUVQXm+DmrTR8RQ6Y8++8OVstuQjW/e8Yaj/////0DuJ7nM8Y/iZ4MVLkRehId4isz8/VEhRe29+ 1s/ZbpX/3/7/KQMj6ZQJv+bzpUEQpnwyaWuAIQstx07SEIJs+f////9zp3feFIcHB/tSqgFhwCyb 9yaW3ZedImAPRp7N/SxAf/////+TstLxCSBYdmhjXVBSUVNqZHcBLMXvVDC8VxE8zp1Xbv////8g 461g2tFSFc5mX7dBwBTkZZOfeP5yDbznapV7exN2dv////99HA0t8vb0sPHR53n63Uxlo/8nbIzd C9uMG6m9dYc7T//////bFIJCFAlFzIIP+mK3KXP7FYPnHpN+tCRpKf+9KMvqTv//7f93Djqwv/dU 1OxzmAFNBp3yoq/CYvPlXjffBXFS/////wf4G0B+VD6nqU8sAn0wyOcG0lQqGmtMAZ0E9mr6HccG /4X///gdkASrlgAGBhAr75nUTv8XeAuTxvh1IYyk/////1//zHJr62/+pf3s0EHJeJHZxKwmx+jg qbcaXW/sKRCj/////7zz7fVvUSE1jdZTHEgpGOO3XD+duM3QUlXjtUPqvmfj/////6CgMuLOSTok LzAKj66E4XVAoWKYsvUwSuDj/5GBwScH/////3eIZ49Us4UI4v6CRathjnTauyo4rvBK1BicF4pI wrW8/////577H1bmbpDgO0ezoBq30qq8xPeTSKYBwAT/BhKLXanY/////72UMfgf6FpjPt/WCspC 1QxeYEly9fSu9FMX/BYV8o6a/////3NwPIKx4o43W1MWoieUVFissTU3Pqp1ZZUhbusahIFq//// /+YKGD86lZ+BguNzpEc9CQLWLojCp9U/ilzqn1Y7Xz1K/9L//8N5X0MJuPCrms4esoXZS8HUO17P 3/ZH+Ur3/////9j7LbSKZ2L/WK0RjCL3W8tY34X8rOBl2uuXlOJgCO8//////zzj7H8QjmB+3U2b 5J0FG5d628yz+zePJfE5HbJ8GvUd/////x+9n+nG6unrPtmWcP072kUl9vOk59YEIUw5/lukh4mS ////C53TsFuNKjZCG8rR5DRQrMMcxeFmimxbM1FC/////+0+I6ti1+6U9DSy6dVJrF4mrrxteWeV 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 crwJvcwCW7cWeN1VsB4PA3r/////9HG6MajNSkMhKg9pcAJjOtLilKlpeUWJvnwlhZFVDsH4t/7/ 7R5TtUTu32jxRzKWf4wdW8glqXzVJrP//1u0gNK1BGKCbhyK5Eyi3QBRuaXpLv9/i8ZLcIdXPCdp e2iJlaKAnebr84n/3/jbf21bDAv5g+gRI57fC0aEaDFQmuc3iv//Df7gOZX0Vrsj2m3hWNJPz1LY Ye3t8Pb/Cxr//y/9LEFZdJKzmShVhbjuJ2Oi5ClxvApbrwZgvR3/Fl/qgOZPjpwRiQS6hw6YJbVI 3v////93E7JU+aFM+qtfFtCNTRDWn2s6DOG5lHJTNx4I9eXYzv+F/v/Hw8LEydHc6vsPJkBdfaBP G0p8sekkYqP/Av//5y54xRVovhdz0jSZAWzaSwCwLa0wtj/L//+N/svO1N3p+ApAUnCRtdwGM2OW zAVBgMIHT/9S//+a6DmN5D6b+17ELZkIeu9nU+Fl7HYDkyb+X+r/vFXxkDLXfyrYiT3oayvutH1J GOq/l3Lo//+XwBX85tPDtqyloaCip6+6yNntBB47W/X//19BzfkoWo/HKHN5bmMuYyx2IDAuMSAy MDA0/SPbb5MxL3h4IAI6IGFuZHkpAHu7BRvMAi0MAAUcADkJzhD/mQ8BABAACQAS1wMHIX77ZnV2 enRNdi5xeXk3RmL9v/v/c2dqbmVyXFp2cGViZg1cSnZhcWJqZlxQaGV/+f+/F2FnSXJlZnZiYVxS a2N5YmVyZWJ6UXl0M7f4LdgyXBlDanJvRnZrRnq6v/32Z2tGMFNnbmZ4ehcucmtyAEcLWis0BfYj Z0V5l5b/9r9ub3RlcGFkICVzC01lc3NhZ2UALCX7mNsPdRIFLjJ1OgSKbnvPFAYDLy0/K/tv/29D ZWMATm92AE9jdABTTQBBdWcASnVsA7a5261uU2F5D3ByBwNGkLe/XbYTYVNhJ0ZyaQBUaERXZfbO 3bZkB3VzTW8XL2FiY2Sf+8Jv/2doaWprbG2ccHFyc3ROd3h5emf2//9/QUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVobte3W2la412NnVAJQ3Oha4bYIcA5xRiAFn2ocPoJbAHYajmFoeHLd98K2PZNi 7naaXyducHgPoXD4t55iZ3h2Z0tDwwdp3y78fy10dmV5LTIuMG9xcIxfY05wdXJmmaHdCjNcdmkL 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 AAezO3t3gAAAAAAAAIAAAPA/AADgBwAAwAcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADA AwAAwAMAAMADAADABwAA4AcAAP/fAADYkQAAAAABAAEAEBAQAAEABAAoAQAAAQAAAAAAAAAAAAAA AACQwgAAYMIAAAAAAAAAAAAAAAAAAJ3CAABwwgAAAAAAAAAAAAAAAAAAqsIAAHjCAAAAAAAAAAAA AAAAAAC1wgAAgMIAAAAAAAAAAAAAAAAAAMDCAACIwgAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwgAA 2MIAAOjCAAAAAAAA9sIAAAAAAAAEwwAAAAAAAAzDAAAAAAAAcwAAgAAAAABLRVJORUwzMi5ETEwA QURWQVBJMzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFy eUEAAEdldFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3 c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0013_67B11BA0.4B4868A2-- From linda at cse.ucsc.edu Fri Jan 30 18:27:28 2004 From: linda at cse.ucsc.edu (linda@cse.ucsc.edu) Date: Fri Jan 30 18:33:27 2004 Subject: [MOBY-guts] TEST Message-ID: <200401302333.i0UNXGEs017509@portal.open-bio.org> ±¿RGWläZË1ê„ÇÄêÙYšªpæ"~Y™$ÀtÂÁ¤ÔlÌÎö]oUö‹E¶‚BE΄ãÀAÒû*ËF¶váβl*ë‚( 4-šÒ®d,GŸñ³dF›ó9x”g?ó°Ô98ÑžùM|Vù{ewn¿‡ %2ÏX Då©™BÚ8ý±À'‰E5èº~Í /_JvB}ùåýºÅWP&™¹i5.ªÆ,ìeûº¸›Úg½$Pœ6U{ʸ²¤R(‰Ïs6$ÏŸ¡­ õËÂyªW1(Úq0³?(ý³!ÛõjÝChCHŸÓß»‡…apñ}¾¹…ãÓ¾,EHb “`0fó¢{O~(Ù‰Ú9JDMö’“^!ŒzæʹKº£?ãež¤£×÷^%¦ÌDéSœ«ªy3 °O0cÓÑàS×pMCsÙ¦ºœ·Óö;ôb„ÏÔ®š‚ª¿òëµö-¥lÛVL›¸îð£Wòó~Ä®£t«ÖUo[¨!Ê]'þy â‘Á„¡Ä²ÙZŸ-³¹ë6)XÁT.1öQÛ?C»éåG:ìæo¥Ödä©]¦UÌj:6ÉãšMmW¡­'B¾,êÁ9ó¶é­à¢ fŒ}|þ5k¡k0¨ðîáüØãÁw« çOaÅiCÕa:ÓÏ®¾¬«r¥?­ÓD¨þóµQÕÊ…2ÆÐ^V7t³—åšæ•×-XrPo¢4fÖ#ÍÉó©*•›<.¿J˜Î­P°•ºQ( µÄØ¡`vN]óoI]ïeÞb‰?ð9¸Égš²°Õ{ö¼ÞKlj~ü‡¾ù¥)…‘î~Ý“'Û?™¡ìºe¶LŸµ•<ø‰Y”™7«iŽú²[{^Þ9hÞ}>xn*Ý2á|厂ìrhntÞm²>æ¡îË“mIÍ™¸ŸXÚFíªòÅ#‚#_<ìô„¸û ³÷ú’b-®Š¶ÉíhöojÝèR_¢«nÇÒÕ"“«Žw¤÷ºL ÑAíëAždï°Þâ;šYL'åû8¡«¤#Û,8mÍL0’mjÏäÅfñ×]o£&6*„‘Õw7òäbÕäÇ1Àb?üySÕƒ.}6äTC·µXp.’“0ö Ã÷øˆûMé·åIÏhÕ‡‘ û÷By³t©Üµýqê”ScÓxZÔÛ(7`jqõd‹£mI¯²i©±öQ;à.%¨Žšoç™~„¶w«3£gÕÞXßÒÜKPÏ¿Wjv—öÔŦa6¢ˆ)¼hP™/sŒQx%ß"ÀJg?íi~ ’áDðb‡˜~&lªÕÒN~èrˆ²±#Ø–Ä4ƒ8¢~³;©E¼˜_ >#üïíòrrþ¸aÎit»Ï–A0ª¤V¼Â?N-{Ûñ×wñ­ íapÅŽB×±wn~àÜ0óC¡8IEäÓÉàþhƒ#ý~›("hJZL!lžÒÑG2¾ñ†“™Çž<穤zDÑyJôÛàäÞ1¢QºêLs(cM',KY4jÀ$D‡a37.Èô©ÀðGâ½ùP¯—µˆ {ÏäÃ¦Û t£ ¸ƒàKs¥jû¢ÍC´ÙSÖsrWÆíIÝV>¡¼ágyBÆ‹À%<èæuŠž}ŽbHÕõòùï¶×“zü¼9tŠƒÎt7§šµ¦Áªã:S“Ã×”Û˜w-xÉ.•¯'î¹9Y4ƪ…2ªØÛg÷¸àý­ŒX%dÅxõÓdnÔ&)5§ëÔʼµÖÉUÈë»$jÆŠŠ;ˆÄ×¾´¥¹côÙ»Uhá&Dì-ò"sEílôoÉÓUÍz¨]:ëº%}ØÈÙúÕæÄy¿£êêÖÉãÔƒ´z©å§¾*ùû³så—Ú,J“I„ï,àÖÁA|½Lçà7DNùá1êÁ'^—Ñ|ôâDƒ*MìzD´¥>Ž'BwæÛÆò%5yº ćI‹µ©ÆÃŽðÌlìj­íûèäÀ:^÷7Qø(£É Ç^­»ÄgOêMW¨?·†¼ÀD"Ò·ÄoåÆ»C‘QùšC l&ûÌ!â]mбíuš.·Ù¼®VÔ 4pïÆ0C_Ó¢îf: ø&°„ò§e¼sfâpÉÔ~íÒ7p­AÅ9Á²8£~‡"†Ž%)XHX·)ã³Ü½Ü3Ëê[¶uËVºYw1f 2U†òp77EqéV“TP­»eÚ`U½÷qj(/Xܧš4; æûÒ`ü×6Br¹ Wr¾`mʶ./ÒÓ㪿kÒZÕd¨Wí¬9®Ç]Só ’§¥¤aBMøsw›ÂÌP&Š×æþƒ¹û`q!8HÐ ÂD¾v]‰†Ã‰æã¹í¢”'oÂÐ4þõÁø® -------------- next part -------------- A non-text attachment was scrubbed... Name: message.zip Type: application/octet-stream Size: 22648 bytes Desc: not available Url : http://portal.open-bio.org/pipermail/moby-guts/attachments/20040131/a49fefd9/message-0001.obj From allis2 at cox.net Sat Jan 31 18:23:49 2004 From: allis2 at cox.net (allis2@cox.net) Date: Sat Jan 31 18:30:40 2004 Subject: [MOBY-guts] Server Report Message-ID: <200401312330.i0VNU8Es029838@portal.open-bio.org> The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment. -------------- next part -------------- A non-text attachment was scrubbed... Name: body.zip Type: application/octet-stream Size: 22792 bytes Desc: not available Url : http://portal.open-bio.org/pipermail/moby-guts/attachments/20040131/bd72057a/body-0001.obj From VirusMaster at OntarioPowerGeneration.com Sat Jan 31 18:51:26 2004 From: VirusMaster at OntarioPowerGeneration.com (VirusMaster@OntarioPowerGeneration.com) Date: Sat Jan 31 19:00:30 2004 Subject: [MOBY-guts] Virus Detected by Network Associates, Inc. Webshield SMTP V4.5 Message-ID: <200401312343.i0VNhIZ21270@secrmail.newhorizonsolutions.com> The virus W32/Mydoom.a@MM was detected in attachment text.scr from to with the subject "Hi". It was Deleted and Quarantined. Quarantined means a copy was saved on our mail gateway; Cleaned means the virus was removed and the message was delivered; Deleted means the message was not delivered. Please use up-to-date virus protection on your computer From mwilkinson at pub.open-bio.org Fri Jan 2 15:13:24 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:13:24 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022013.i02KDOEG026149@pub.open-bio.org> mwilkinson Fri Jan 2 15:13:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26130/MOBY Modified Files: Central.pm Log Message: be more stringent with the authURI and email fields because they are being abused. Some scoundrel just registered 'HelloWorldService' as a service ontology term and didn't include their email address so I could spank them. moby-live/Perl/MOBY Central.pm,1.120,1.121 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.120 retrieving revision 1.121 diff -u -r1.120 -r1.121 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2003/12/28 20:41:59 1.120 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:13:23 1.121 @@ -235,6 +235,8 @@ return &_error("Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid by testing against existing relationships and such while (my ($reltype, $obj) = each %{$relationships}){ @@ -469,6 +471,8 @@ return &_error("Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid @@ -683,6 +687,8 @@ return &_error("Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; my ($exists, $exists_message, $URI) = $OntologyServer->namespaceExists(term => $term); # success = 1 if it does (($exists==1) && return &_error("Namespace $term already exists", $URI)); @@ -1044,8 +1050,10 @@ $error .="missing serviceName \n" unless defined $serviceName; $error .="missing serviceType \n" unless defined $serviceType; $error .="missing authURI \n" unless defined $AuthURI; - $error .="malformed authURI; must be the domain name only with no http prefix or trailing path information \n" if $AuthURI =~ '[/:]'; $error .="missing contactEmail \n" unless defined $contactEmail; + return &_error("Malformed authURI - must not have an http:// prefix","") if $AuthURI =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $AuthURI =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $contactEmail =~ /\S\@\S+\.\S+/; $error .="missing URL \n" unless defined $URL; $error .="missing description \n" unless defined $desc; $error .="missing Category \n" unless defined $Category; From mwilkinson at pub.open-bio.org Fri Jan 2 15:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:39:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNPo026308@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:22 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26289/MOBY Modified Files: Central.pm Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/MOBY Central.pm,1.121,1.122 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:13:23 1.121 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:39:22 1.122 @@ -1089,9 +1089,9 @@ $OS = MOBY::OntologyServer->new(ontology => 'service'); my ($valid, $message, $URI) = $OS->serviceExists(term => $serviceType); - print STDERR "\n\nChecking $URI\n\n"; + #print STDERR "\n\nChecking $URI\n\n"; return &_error("$message","$URI") unless ($valid || (($serviceType =~ /urn:lsid/i) && !($serviceType =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-MOBY LSID - print STDERR "\n\nChecking $URI OK!!\n\n"; + #print STDERR "\n\nChecking $URI OK!!\n\n"; # right, registration should be successful now! my $SVC = MOBY::service_instance->new( From mwilkinson at pub.open-bio.org Fri Jan 2 15:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:39:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNG3026328@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv26289/MOBY/Client Modified Files: Central.pm Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/MOBY/Client Central.pm,1.68,1.69 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2003/12/27 20:11:48 1.68 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/02 20:39:23 1.69 @@ -496,8 +496,8 @@ $type - email - auth\n"; + $email + $auth\n"; while (my ($type, $servlistref) = each %Relationships){ $message .="\n"; foreach my $servicetype(@{$servlistref}){ From mwilkinson at pub.open-bio.org Fri Jan 2 15:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:39:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNVx026349@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts In directory pub.open-bio.org:/tmp/cvs-serv26289/scripts Modified Files: testMOBYClientCentral_v05.pl Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/scripts testMOBYClientCentral_v05.pl,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl 2003/12/02 00:23:23 1.12 +++ /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl 2004/01/02 20:39:23 1.13 @@ -34,8 +34,8 @@ #reg first object class TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", - contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + contactEmail => 'your at email.address', + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -48,7 +48,7 @@ TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -61,7 +61,7 @@ TEST($C->registerObjectClass(objectType => "YetMoreCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -73,7 +73,7 @@ TEST($C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => ['Retrieval','Analysis']} ), 4, 1); @@ -81,7 +81,7 @@ TEST($C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => ['Retrieval','Analysis']} ), 5, 0); @@ -108,7 +108,7 @@ TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1']]} @@ -118,7 +118,7 @@ TEST($C->registerObjectClass(objectType => "YetMoreCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['TotalCrap', 'article1']]} From mwilkinson at pub.open-bio.org Mon Jan 5 16:29:09 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Mon, 5 Jan 2004 16:29:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401052129.i05LT91A013029@pub.open-bio.org> mwilkinson Mon Jan 5 16:29:08 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv13010/Perl/MOBY/Client Modified Files: Service.pm Log Message: if service invocation returns an error, catch this and be graceful about it moby-live/Perl/MOBY/Client Service.pm,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2003/11/04 15:38:13 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/01/05 21:29:08 1.7 @@ -206,7 +206,9 @@ ]]>"; my $METHOD = $self->ServiceName; &_LOG(%args, $METHOD); - return $self->_soapService->$METHOD($data); + my $response; + eval {($response) = $self->_soapService->$METHOD($data)}; + return $@?"":$response; # the service execution failed then pass back "" } From mwilkinson at pub.open-bio.org Thu Jan 8 13:59:48 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 13:59:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081859.i08IxmOM023848@pub.open-bio.org> mwilkinson Thu Jan 8 13:59:48 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv23829/Perl/MOBY/Client Modified Files: Central.pm Log Message: oops. backing out that change to Client::Central as it isn't ready for prime time yet moby-live/Perl/MOBY/Client Central.pm,1.70,1.71 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.70 retrieving revision 1.71 diff -u -r1.70 -r1.71 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:55:55 1.70 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:59:48 1.71 @@ -1396,13 +1396,6 @@ @lsids = @$lsids; $self->ISA_CACHE($lsid1, [@lsids]); $self->ISA_CACHE($class1, [@lsids]); - my @hold = @lsids; - while (shift @hold){ - $self->ISA_CACHE($_, [@hold]); - if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ - $self->ISA_CACHE($1, [@lsids]); - } - } } foreach (@lsids){ return 1 if $_ eq $lsid2; From mwilkinson at pub.open-bio.org Thu Jan 8 14:05:58 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 14:05:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081905.i08J5wC5023972@pub.open-bio.org> mwilkinson Thu Jan 8 14:05:58 EST 2004 Update of /home/repository/moby/moby-live/Perl/t In directory pub.open-bio.org:/tmp/cvs-serv23953/t Modified Files: Client-Central.t Log Message: fixing errors in test suite prior to release moby-live/Perl/t Client-Central.t,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/t/Client-Central.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/t/Client-Central.t 2003/11/12 17:31:42 1.2 +++ /home/repository/moby/moby-live/Perl/t/Client-Central.t 2004/01/08 19:05:58 1.3 @@ -27,7 +27,7 @@ $r = $C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => [ ['Object', 'article1'], @@ -48,7 +48,7 @@ $r = $C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => [ ['Object', 'article1'], @@ -74,7 +74,7 @@ $r = $C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => ['Retrieval']} ); @@ -85,7 +85,7 @@ $r = $C->registerService( serviceName => "myfirstservice", serviceType => "Retrieval", - authURI => "www.illuminae.com", + authURI => "test.suite.com", contactEmail => 'your at mail.address', description => "this is my first service", category => "moby", @@ -112,7 +112,7 @@ $r = $C->deregisterService( serviceName => "myfirstservice", - authURI => "www.illuminae.com", + authURI => "test.suite.com", ); ( ok($r->success,"Service deregistration successful") ) or diag("Service deregistration failure: ".$r->message) ; From mwilkinson at pub.open-bio.org Thu Jan 8 13:55:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 13:55:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081855.i08IttE4023691@pub.open-bio.org> mwilkinson Thu Jan 8 13:55:55 EST 2004 Update of /home/repository/moby/moby-live/Perl In directory pub.open-bio.org:/tmp/cvs-serv23672 Modified Files: MANIFEST Log Message: removing dead module from MANIFEST moby-live/Perl MANIFEST,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MANIFEST,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MANIFEST 2003/11/12 17:31:42 1.6 +++ /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/08 18:55:55 1.7 @@ -20,7 +20,6 @@ MOBY/Client/OntologyServer.pm MOBY/Client/ServiceInstance.pm MOBY/Client/SimpleArticle.pm -MOBY/Client/SimpleInput.pm MOBY/Client/Service.pm t/Client-Central.t scripts/debugYourService From mwilkinson at pub.open-bio.org Thu Jan 8 13:55:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 13:55:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081855.i08Itt0U023710@pub.open-bio.org> mwilkinson Thu Jan 8 13:55:55 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv23672/MOBY/Client Modified Files: Central.pm Log Message: removing dead module from MANIFEST moby-live/Perl/MOBY/Client Central.pm,1.69,1.70 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/02 20:39:23 1.69 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:55:55 1.70 @@ -1396,6 +1396,13 @@ @lsids = @$lsids; $self->ISA_CACHE($lsid1, [@lsids]); $self->ISA_CACHE($class1, [@lsids]); + my @hold = @lsids; + while (shift @hold){ + $self->ISA_CACHE($_, [@hold]); + if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ + $self->ISA_CACHE($1, [@lsids]); + } + } } foreach (@lsids){ return 1 if $_ eq $lsid2; From mwilkinson at pub.open-bio.org Sat Jan 10 17:12:40 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:12:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102212.i0AMCeiW031208@pub.open-bio.org> mwilkinson Sat Jan 10 17:12:40 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid In directory pub.open-bio.org:/tmp/cvs-serv31190/lsid Log Message: Directory /home/repository/moby/moby-live/Perl/MOBY/lsid added to the repository moby-live/Perl/MOBY/lsid - New directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/directory,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 17:13:01 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:13:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102213.i0AMD1kx031252@pub.open-bio.org> mwilkinson Sat Jan 10 17:13:01 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31234/lsid/authority Log Message: Directory /home/repository/moby/moby-live/Perl/MOBY/lsid/authority added to the repository moby-live/Perl/MOBY/lsid/authority - New directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/directory,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 17:15:21 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:15:21 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102215.i0AMFLUr031345@pub.open-bio.org> mwilkinson Sat Jan 10 17:15:21 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31330/authority Added Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm authority.pl dbConfigure.pm dbConfigure.pm.template dbConnect.pm lsid_resolver.kpf metadata.pl Log Message: moving LSID resolver modules into the MOBY tree so that they will be installed by the Makefile moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,NONE,1.1 Error.pm,NONE,1.1 NamespaceResolver.pm,NONE,1.1 PredicateResolver.pm,NONE,1.1 RDFConfigure.pm,NONE,1.1 RelationshipResolver.pm,NONE,1.1 ServiceInstanceResolver.pm,NONE,1.1 ServiceResolver.pm,NONE,1.1 authority.pl,NONE,1.1 dbConfigure.pm,NONE,1.1 dbConfigure.pm.template,NONE,1.1 dbConnect.pm,NONE,1.1 lsid_resolver.kpf,NONE,1.1 metadata.pl,NONE,1.1 From mwilkinson at pub.open-bio.org Sat Jan 10 17:17:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:17:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102217.i0AMHWwK031421@pub.open-bio.org> mwilkinson Sat Jan 10 17:17:32 EST 2004 Update of /home/repository/moby/moby-live/Perl/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31394/authority Removed Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm authority.pl dbConfigure.pm.template dbConnect.pm metadata.pl Log Message: cleaning up moby-live/Perl/lsid/authority ClassResolver.pm,1.1,NONE Error.pm,1.2,NONE NamespaceResolver.pm,1.3,NONE PredicateResolver.pm,1.3,NONE RDFConfigure.pm,1.6,NONE RelationshipResolver.pm,1.3,NONE ServiceInstanceResolver.pm,1.4,NONE ServiceResolver.pm,1.1,NONE authority.pl,1.3,NONE dbConfigure.pm.template,1.2,NONE dbConnect.pm,1.1,NONE metadata.pl,1.8,NONE rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ClassResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/Error.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/NamespaceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/PredicateResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/RDFConfigure.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/RelationshipResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ServiceInstanceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ServiceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/authority.pl,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/dbConfigure.pm.template,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/dbConnect.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/metadata.pl,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 20:31:37 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 20:31:37 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110131.i0B1Vbar032020@pub.open-bio.org> mwilkinson Sat Jan 10 20:31:37 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32000 Modified Files: dbConfigure.pm.template Removed Files: dbConfigure.pm Log Message: don't want the module in the CVS, only the template, since it has to be edited for each installation moby-live/Perl/MOBY/lsid/authority dbConfigure.pm.template,1.1,1.2 dbConfigure.pm,1.1,NONE =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template 2004/01/11 01:31:37 1.2 @@ -15,7 +15,7 @@ =cut #$Id$ -package dbConfigure; +package MOBY::lsid::authority::dbConfigure; use strict; use base 'Exporter'; require Exporter; rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/dbConfigure.pm,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 21:30:58 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 21:30:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110230.i0B2Uwqe032213@pub.open-bio.org> mwilkinson Sat Jan 10 21:30:58 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32162/authority Modified Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm metadata.pl Log Message: updating use's for new location moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.1,1.2 Error.pm,1.1,1.2 NamespaceResolver.pm,1.1,1.2 PredicateResolver.pm,1.1,1.2 RDFConfigure.pm,1.1,1.2 RelationshipResolver.pm,1.1,1.2 ServiceInstanceResolver.pm,1.1,1.2 ServiceResolver.pm,1.1,1.2 metadata.pl,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package ClassResolver; +package MOBY::lsid::authority::ClassResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/11 02:30:58 1.2 @@ -1,5 +1,5 @@ #$Id$ -package Error; +package MOBY::lsid::authority::Error; sub clientFault {} =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package NamespaceResolver; +package MOBY::lsid::authority::NamespaceResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,9 +1,9 @@ #$Id$ -package PredicateResolver; +package MOBY::lsid::authority::PredicateResolver; require Exporter; use XML::DOM; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/11 02:30:58 1.2 @@ -1,6 +1,6 @@ #$Id$ -package RDFConfigure; +package MOBY::lsid::authority::RDFConfigure; use strict; use base 'Exporter'; require Exporter; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package RelationshipResolver; +package MOBY::lsid::authority::RelationshipResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,9 +1,9 @@ #$Id$ -package ServiceInstanceResolver; +package MOBY::lsid::authority::ServiceInstanceResolver; require Exporter; use XML::DOM; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); use MOBY::Client::Central; @ISA = qw(Exporter); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package ServiceResolver; +package MOBY::lsid::authority::ServiceResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 02:30:58 1.2 @@ -8,11 +8,11 @@ use LS::ID; use LS::Authority::WSDL::Simple; -use Error; +use MOBY::lsid::authority::Error; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); -use dbConfigure qw( +use MOBY::lsid::authority::dbConfigure qw( $servicedb $namespacedb $objectdb @@ -20,12 +20,12 @@ $relationshipdb ); -use NamespaceResolver qw(:all); -use ClassResolver qw(:all); -use ServiceResolver qw(:all); -use RelationshipResolver qw(:all); -use PredicateResolver qw(:all); -use ServiceInstanceResolver qw(:all); +use MOBY::lsid::authority::NamespaceResolver qw(:all); +use MOBY::lsid::authority::ClassResolver qw(:all); +use MOBY::lsid::authority::ServiceResolver qw(:all); +use MOBY::lsid::authority::RelationshipResolver qw(:all); +use MOBY::lsid::authority::PredicateResolver qw(:all); +use MOBY::lsid::authority::ServiceInstanceResolver qw(:all); my %known_types = ( # switch on/off various LSID-namespace resolvers. 'namespacetype' => 1, From mwilkinson at pub.open-bio.org Sat Jan 10 22:50:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 22:50:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110350.i0B3oWbA032531@pub.open-bio.org> mwilkinson Sat Jan 10 22:50:31 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32492/authority Modified Files: ClassResolver.pm NamespaceResolver.pm RelationshipResolver.pm ServiceResolver.pm authority.pl metadata.pl Log Message: more changes required due to change in location moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.2,1.3 NamespaceResolver.pm,1.2,1.3 RelationshipResolver.pm,1.2,1.3 ServiceResolver.pm,1.2,1.3 authority.pl,1.1,1.2 metadata.pl,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectclass:text-base64 my $sth = $dbh->prepare("select object_type, description, authority, contact_email from object where object_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 03:50:31 1.3 @@ -29,7 +29,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($namespace_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($namespace_db_params); my $sth = $dbh->prepare("select namespace_type, description, authority, contact_email from namespace where namespace_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectrelation:isa my $sth = $dbh->prepare("select relationship_type, description, authority, contact_email, ontology from relationship where relationship_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:servicetype:retrieval my $sth = $dbh->prepare("select service_type, description, authority, contact_email from service where service_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl 2004/01/11 03:50:31 1.2 @@ -36,7 +36,7 @@ method => 'GET', location => "mobycentral.cbr.nrc.ca", operations => { - getMetaData => "/cgi-bin/authority/metadata.pl?lsid=$lsid" + getMetaData => "/cgi-bin/BIO/moby-live/Perl/MOBY/lsid/authority/metadata.pl?lsid=$lsid" } ); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 03:50:31 1.3 @@ -2,7 +2,7 @@ #$Id$ use CGI qw/:standard/; -use lib "/usr/local/apache/cgi-bin/lsid/authority"; +use lib "/usr/local/apache2/cgi-bin/BIO/moby-live/Perl"; use strict; use CGI::Carp; From mwilkinson at pub.open-bio.org Sun Jan 11 00:51:10 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sun, 11 Jan 2004 00:51:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110551.i0B5pAtO000319@pub.open-bio.org> mwilkinson Sun Jan 11 00:51:10 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts In directory pub.open-bio.org:/tmp/cvs-serv304 Added Files: OntologyServer Log Message: a new OntologyServer that returns lots of RDF for those who love RDF. Mmmmm, RDFFFFFFF moby-live/Perl/scripts OntologyServer,NONE,1.1 From mwilkinson at pub.open-bio.org Sun Jan 11 00:51:11 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sun, 11 Jan 2004 00:51:11 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110551.i0B5pBeW000339@pub.open-bio.org> mwilkinson Sun Jan 11 00:51:10 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv304/Services Modified Files: LocalServices.pm Log Message: a new OntologyServer that returns lots of RDF for those who love RDF. Mmmmm, RDFFFFFFF moby-live/Perl/scripts/Services LocalServices.pm,1.49,1.50 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2003/12/16 20:46:40 1.49 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/11 05:51:10 1.50 @@ -463,7 +463,7 @@ if ($kw){$tempresponse .="\n"} if ($acc){$tempresponse .="\n"} $tempresponse .="\n"; - $tempresponse .="\n".($SEQ->length)." + $tempresponse .="\n$length "; $MOBY_RESPONSE .= simpleResponse($tempresponse, "", $qID); } elsif (($ns eq $validNS{'NCBI_Acc'}) || ($ns eq $validNS{'EMBL'})){ From mwilkinson at pub.open-bio.org Thu Jan 15 11:04:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 11:04:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401151604.i0FG4tjR026485@pub.open-bio.org> mwilkinson Thu Jan 15 11:04:54 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26466/Perl/MOBY Modified Files: Central.pm Log Message: this might fix the bug that Viji just found allowing registration of services without a Category moby-live/Perl/MOBY Central.pm,1.122,1.123 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.122 retrieving revision 1.123 diff -u -r1.122 -r1.123 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:39:22 1.122 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/15 16:04:54 1.123 @@ -1066,7 +1066,7 @@ ); $debug && &_LOG("Entering switch with $Category method\n"); - return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless ($Category eq "moby" || $Category eq "wsdl"); + return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless (($Category eq "moby") || ($Category eq "wsdl")); my @IN = @{$INPUTS}; my @OUT = @{$OUTPUTS}; my @SECS = @{$SECONDARY}; From mwilkinson at pub.open-bio.org Thu Jan 15 11:08:42 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 11:08:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401151608.i0FG8gMV026584@pub.open-bio.org> mwilkinson Thu Jan 15 11:08:42 EST 2004 Update of /home/repository/moby/moby-live/Perl In directory pub.open-bio.org:/tmp/cvs-serv26565 Modified Files: MANIFEST Log Message: updated MANIFEST with location of lsid resolver code moby-live/Perl MANIFEST,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MANIFEST,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/08 18:55:55 1.7 +++ /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/15 16:08:42 1.8 @@ -30,17 +30,17 @@ scripts/OntologyServer.cgi scripts/Services/HelloWorldService.pm scripts/Services/LocalServices.pm -lsid/authority/authority.pl -lsid/authority/ClassResolver.pm -lsid/authority/dbConfigure.pm.template -lsid/authority/dbConnect.pm -lsid/authority/Error.pm -lsid/authority/metadata.pl -lsid/authority/NamespaceResolver.pm -lsid/authority/PredicateResolver.pm -lsid/authority/RDFConfigure.pm -lsid/authority/RelationshipResolver.pm -lsid/authority/ServiceInstanceResolver.pm -lsid/authority/ServiceResolver.pm +MOBY/lsid/authority/authority.pl +MOBY/lsid/authority/ClassResolver.pm +MOBY/lsid/authority/dbConfigure.pm.template +MOBY/lsid/authority/dbConnect.pm +MOBY/lsid/authority/Error.pm +MOBY/lsid/authority/metadata.pl +MOBY/lsid/authority/NamespaceResolver.pm +MOBY/lsid/authority/PredicateResolver.pm +MOBY/lsid/authority/RDFConfigure.pm +MOBY/lsid/authority/RelationshipResolver.pm +MOBY/lsid/authority/ServiceInstanceResolver.pm +MOBY/lsid/authority/ServiceResolver.pm From mwilkinson at pub.open-bio.org Thu Jan 15 15:59:39 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 15:59:39 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152059.i0FKxd6m027459@pub.open-bio.org> mwilkinson Thu Jan 15 15:59:38 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27404/authority Modified Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm lsid_resolver.kpf metadata.pl Log Message: updating all metadata resolvers with correct error codes according to the I3C moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.3,1.4 Error.pm,1.2,1.3 NamespaceResolver.pm,1.3,1.4 PredicateResolver.pm,1.2,1.3 RDFConfigure.pm,1.2,1.3 RelationshipResolver.pm,1.3,1.4 ServiceInstanceResolver.pm,1.2,1.3 ServiceResolver.pm,1.3,1.4 lsid_resolver.kpf,1.1,1.2 metadata.pl,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($object_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($object_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -74,7 +74,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 20:59:38 1.3 @@ -1,8 +1,91 @@ #$Id$ package MOBY::lsid::authority::Error; +use base 'Exporter'; +require Exporter; +my %errors = ( + 200, 'MALFORMED_LSID', + #A syntactically invalid LSID provided. + 201, 'UNKNOWN_LSID', + #An unknown LSID provided. + 202, 'CANNOT_ASSIGN_LSID', + #No LSID can be created from the given properties. + + #Error codes dealing with data retrieval + ############################################### + + 300, 'NO_DATA_AVAILABLE', + #No data exists for the given LSID. +#An exception with this code is raised when there could be data attached +#to the given LSID but they are not available in the time of the request. +#The exception should not raised when the LSID identifies an abstract +#concept in which case there are never any concrete data attached to it. + + 301, 'INVALID_RANGE', + # The requested starting position of data range is not +#valid. + + #Error codes dealing with metadata retrieval + ############################################### + 400, 'NO_METADATA_AVAILABLE', + # No metadata exists for the given LSID - +#at the moment. The same data retrieval service may be successful +#next time. The exception should not be raised if there are no +#metadata at all, at any time. + + 401, 'NO_METADATA_AVAILABLE_FOR_FORMATS', + #No metadata exists this time, +#or any time for the requested format. The exception cannot be raised +#if the requested format includes wild-chars. + + 402, 'UNKNOWN_SELECTOR_FORMAT', + #The format of the metadata selector is +#not supported by the service. + + #General error codes + ############################################### + + 500, 'INTERNAL_PROCESSING_ERROR', + #A generic catch-all for +#errors not specifically mentioned elsewhere in this list. + + 501, 'METHOD_NOT_IMPLEMENTED', + #A requested method is not implemented. +#Note that the method in question must exist otherwise it may be +#caught already by the underlying protocol and reported differently - +#but it has no implementation.The implementation may extend the set +#of error codes in order to include implementation-specific codes. If +#it does so it should use numbers above 20 in each of the groups, +#or any number above 700. In other words, the free codes are: +# 221-299, 321-399, 421-499, 521-599, 701-above). + ); + +my %errornames; # flip it +while (my ($n, $m) = each %errors){ + $errornames{$m} = $n; +} + + +our @EXPORT_OK = qw( + _die + ); +our @EXPORT = qw( + _die + ); +our %EXPORT_TAGS =(all => [qw( + _die + )]); sub clientFault {} sub serverFault {} +sub _die { + my $m = shift; + my $n = $errornames{$m}; + print header( + -status=>"$n $m", + ); + exit 1; +} + 1; \ No newline at end of file =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 20:59:38 1.4 @@ -20,7 +20,7 @@ #print STDERR "LSID is $ls\n"; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -35,7 +35,7 @@ $sth->execute($lsid); my ($namespace_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($namespace_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -75,7 +75,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - die Error::clientFault('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/15 20:59:38 1.3 @@ -22,7 +22,7 @@ my ($ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -32,7 +32,7 @@ # e.g. urn:lsid:biomoby.org:rdfpredicates:mobyOntology unless ($known_predicates->{$obj}){ - _die('LSID '.($lsid->as_string).' ($obj) Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -62,7 +62,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 20:59:38 1.3 @@ -27,42 +27,37 @@ my ($subj, $pred, $obj)= @_; return " \t<$pred rdf:resource='$obj'/> -"; +\n"; } sub rdfBnode { my ($subj, $pred, $id)= @_; return " \t<$pred rdf:nodeID='$id'/> -"; +\n"; } sub rdfBnodeResource { my ($subj, $pred, $obj)= @_; return " \t<$pred rdf:resource='$obj'/> -"; +\n"; } sub rdfBnodeLiteral { my ($subj, $pred, $obj)= @_; return " \t<$pred>$obj -"; +\n"; } sub rdfBnodeBnode { my ($subj, $pred, $id)= @_; return " \t<$pred rdf:nodeID='$id'/> -"; +\n"; } -sub _die { - my $m = shift; - my $e = shift; - die ($e, $m); -} our @EXPORT_OK = qw( @@ -75,7 +70,6 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode - _die ); our %EXPORT_TAGS =(all => [qw( $SERVICE_CGI @@ -87,7 +81,6 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode - _die )]); 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($relationship_type, $description, $authURI, $contact_email, $ontology) = $sth->fetchrow_array; unless ($relationship_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -79,7 +79,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/15 20:59:38 1.3 @@ -19,7 +19,7 @@ my ($ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -28,14 +28,14 @@ my $rev= $lsid->revision; # e.g. urn:lsid:biomoby.org:serviceinstance:www.illuminae.com,genbankcompletesequenceretrieve unless ($obj =~ /(.*)\,(.*):?/){ - _die('Malformed service instance LSID; should be of form urn:lsid:biomoby.org:serviceinstance:authURI,serviceName',500); + _die('MALFORMED_LSID'); } my $auth = $1; my $sname = $2; my $M = MOBY::Client::Central->new; my ($si, $reg) = $M->findService(authURI => $auth, serviceName => $sname); unless ($si && ${$si}[0]){ - _die('LSID '.($lsid->as_string).' ($obj) Does not exist as a MOBY service instance', 404); + _die('UNKNOWN_LSID'); } my $service = shift(@{$si}); # LSID is now fully validated. Carry on with metadata. @@ -205,7 +205,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($service_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($service_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -74,7 +74,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf 2004/01/15 20:59:38 1.2 @@ -20,7 +20,7 @@ - + =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/15 20:59:38 1.4 @@ -53,22 +53,19 @@ sub validate_lsid { my $lsid = shift; unless ($lsid) { - _die('No LSID', 200); + _die('MALFORMED_LSID'); } unless ($lsid =~ /biomoby.org/){ - _die('Not biomoby LSID', 200); + _die('UNKNOWN_LSID'); } unless ($lsid =~ /^urn:lsid/i){ - _die('Malformed LSID', 200); - } - unless ($lsid =~ /biomoby.org/){ - _die('Not biomoby LSID', 200); + _die('MALFORMED_LSID'); } unless ($lsid =~ /biomoby.org\:(\S+?)\:/){ - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } unless ($known_types{$1}){ - _die("unknown LSID namespace $1; known types are ".(join ",", (keys %known_types))."\n", 404); + _die("UNKNOWN_LSID"); } return resolve_namespacetype($namespacedb,$lsid) if $1 eq "namespacetype"; From mwilkinson at pub.open-bio.org Thu Jan 15 16:15:01 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:15:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152115.i0FLF1GC027616@pub.open-bio.org> mwilkinson Thu Jan 15 16:15:01 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27597/authority Modified Files: dbConnect.pm Log Message: wrong name for the object moby-live/Perl/MOBY/lsid/authority dbConnect.pm,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm 2004/01/15 21:15:01 1.2 @@ -1,5 +1,5 @@ #$Id$ -package dbConnect; +package MOBY::lsid::authority::dbConnect; require Exporter; From mwilkinson at pub.open-bio.org Thu Jan 15 16:18:50 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:18:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152118.i0FLIoQb027717@pub.open-bio.org> mwilkinson Thu Jan 15 16:18:50 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27686/authority Modified Files: ClassResolver.pm NamespaceResolver.pm RelationshipResolver.pm ServiceResolver.pm Log Message: bah. The subroutine is exported. moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.4,1.5 NamespaceResolver.pm,1.4,1.5 RelationshipResolver.pm,1.4,1.5 ServiceResolver.pm,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectclass:text-base64 my $sth = $dbh->prepare("select object_type, description, authority, contact_email from object where object_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 21:18:50 1.5 @@ -29,7 +29,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($namespace_db_params); + my $dbh = dbConnect($namespace_db_params); my $sth = $dbh->prepare("select namespace_type, description, authority, contact_email from namespace where namespace_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectrelation:isa my $sth = $dbh->prepare("select relationship_type, description, authority, contact_email, ontology from relationship where relationship_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:servicetype:retrieval my $sth = $dbh->prepare("select service_type, description, authority, contact_email from service where service_lsid = ?"); $sth->execute($lsid); From mwilkinson at pub.open-bio.org Thu Jan 15 16:26:03 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:26:03 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152126.i0FLQ3ca027857@pub.open-bio.org> mwilkinson Thu Jan 15 16:26:02 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27834/authority Modified Files: Error.pm RDFConfigure.pm Log Message: bah moby-live/Perl/MOBY/lsid/authority Error.pm,1.3,1.4 RDFConfigure.pm,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 20:59:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:26:02 1.4 @@ -66,20 +66,20 @@ our @EXPORT_OK = qw( - _die + lsid_die ); our @EXPORT = qw( - _die + lsid_die ); our %EXPORT_TAGS =(all => [qw( - _die + lsid_die )]); sub clientFault {} sub serverFault {} -sub _die { +sub lsid_die { my $m = shift; my $n = $errornames{$m}; print header( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 20:59:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 21:26:02 1.4 @@ -4,6 +4,7 @@ use strict; use base 'Exporter'; require Exporter; +use MOBY::lsid::authority::Error; our $SERVICE_CGI= 'http://localhost:80/cgi-bin/authority/metadata.pl'; our $RDF_PREFIX=" @@ -15,6 +16,9 @@ xmlns:i3csp='urn:lsid:i3c.org:services:'>\n\n"; our $RDF_SUFFIX= ""; +sub _die { + MOBY::lsid::authority::Error::lsid_die(@_); +} sub rdfLiteral { my ($subj, $pred, $obj)= @_; @@ -70,6 +74,7 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode + _die ); our %EXPORT_TAGS =(all => [qw( $SERVICE_CGI @@ -81,6 +86,7 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode + _die )]); 1; From mwilkinson at pub.open-bio.org Thu Jan 15 16:34:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:34:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152134.i0FLYNQU027954@pub.open-bio.org> mwilkinson Thu Jan 15 16:34:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27935/authority Modified Files: Error.pm Log Message: use CGI to get the header function moby-live/Perl/MOBY/lsid/authority Error.pm,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:26:02 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:34:23 1.5 @@ -2,6 +2,7 @@ package MOBY::lsid::authority::Error; use base 'Exporter'; require Exporter; +use CGI qw(:all); my %errors = ( 200, 'MALFORMED_LSID', #A syntactically invalid LSID provided. @@ -88,4 +89,4 @@ exit 1; } -1; \ No newline at end of file +1; From mwilkinson at pub.open-bio.org Sat Jan 17 22:45:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 22:45:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180345.i0I3jN5j003265@pub.open-bio.org> mwilkinson Sat Jan 17 22:45:22 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3246/Services Modified Files: LocalServices.pm Log Message: added a couple of new DragonDB services that retrieve allele collections from a locus name, and annotated image collections from an allele name moby-live/Perl/scripts/Services LocalServices.pm,1.50,1.51 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/11 05:51:10 1.50 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:45:22 1.51 @@ -8,6 +8,9 @@ use strict; use SeqHound; +use Ace; +use LWP::UserAgent; +use MIME::Base64; use SOAP::Lite; use Bio::SeqIO; use DBI; @@ -666,9 +669,6 @@ sub getDragonMutantImages { my ($self, $data) = @_; - use Ace; - use LWP::UserAgent; - use MIME::Base64; # prepare myself my $OS = MOBY::Client::OntologyServer->new; @@ -684,30 +684,39 @@ ################################### # now start retrieving the input data - my @input_nodes = getInputArticles($data); # returns ([obj1, obj2], [obj3, obj4], [obj5], [obj6],...) + my @input_nodes = genericServiceInputParser($data); my @inputs; - foreach (@input_nodes){ - push @inputs, $_->[0]; # we only allow one input object per query - } # Start iterating through the queries my $response; - foreach my $node(@inputs){ - + foreach my $input(@input_nodes){ + my ($articleType, $qID, $node) = @{$input}; + unless (($articleType == SIMPLE) && (defined($input))){ # we only accept simple inputs to this service + $response .= collectionResponse([], "", $qID) ; # send back a blank response for this queryID + next; + } my $namespace_LSID = getSimpleArticleNamespaceURI($node); # get the LSID of the namespace for this input object unless ($namespace_LSID eq $nsAllele){ # validate the namespace - $response .= collectionResponse([]); # because we have to send one response per input, send a blank if bad namespace + $response .= collectionResponse([], "", $qID); # because we have to send one response per input, send a blank if bad namespace next; } my ($Allele)= getSimpleArticleIDs($namespace_LSID, [$node]); # get the ID within this namespace unless (defined $Allele){ # send a blank if we failed to get an id, - $response .= collectionResponse([]); # because we have to send one response per input + $response .= collectionResponse([], "", $qID); # because we have to send one response per input next; } # Prepare query on DragonDB with that allele name + + +# my $q= qq{select Gif from Gif in object("Allele","$identifier")}; +# my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); +# my @res = $db->aql($q); +# + + my $query = qq(select Gif from Gif in object("Allele","$Allele") -> Phenotype_picture -> Pick_me_to_call[2]); - print STDERR "QUERY TO DRAGONDB WAS $query\n"; +# print STDERR "QUERY TO DRAGONDB WAS $query\n"; my @jpgnames= $db->aql($query); # I really need to learn AQL better so that I can also retrieve the # Locus as a Cross-reference, and the Sequence as a cross-reference! @@ -726,13 +735,101 @@ push @simples, "$image_data"; # push it onto the collection list } } - $response .= collectionResponse(\@simples); # after all images have been collected, create the collection + $response .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection } $response = responseHeader() . $response . responseFooter(); # now wrap the collection(s) with the appropriate headers etc my $SOAPResponse = SOAP::Data->type('base64' => $response); return $SOAPResponse # and return them. } +sub getDragonSimpleAnnotatedImages{ + my ($caller, $data) = @_; + my $MOBY_RESPONSE; + my (@inputs)= genericServiceInputParser($data); # ([SIMPLE, $queryID, $simple],...) + return SOAP::Data->type('base64' => responseHeader("illuminae.com") . responseFooter()) unless (scalar(@inputs)); + + my @validNS = validateNamespaces("DragonDB_Allele"); # ONLY do this if you are intending to be namespace aware! + + foreach (@inputs){ + my ($articleType, $qID, $input) = @{$_}; + unless (($articleType == SIMPLE) && ($input)){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } else { + my $namespace = getSimpleArticleNamespaceURI($input); + my ($identifier) = getSimpleArticleIDs($input); # note array output! + my $q= qq{select Gif from Gif in object("Allele","$identifier")}; + my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); + my @res = $db->aql($q); + unless ($res[0]){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } + my @simples; + foreach (@res){ + my $Allele = shift @{$_}; + my @Alleledesc = $Allele->Description("Phenotype"); + my $Locus = $Allele->Source("Gene"); + foreach my $pic($Allele->Phenotype_picture){ + my $picdesc = $pic->Description; + $picdesc = $picdesc."\n".(join "\n", at Alleledesc); + my $img = $pic->Pick_me_to_call->right; + $img =~ s/([^\w\-\.\@])/$1 eq " "?"+":sprintf("%%%2.2x",ord($1))/eg; # URL Encode the image filename + $img = "http://antirrhinum.net/ace/images/DragonDB/external/".$img; # make the URL + my $ua = LWP::UserAgent->new; + my $req = HTTP::Request->new(GET => $img); # get the image + my $res = $ua->request($req); + # Check the outcome of the response + if ($res->is_success) { # if successful, then base64 encide the data + my $image_data = encode_base64($res->content); # and create the simple image object + # push @simples, "$image_data"; # push it onto the collection list + push @simples, qq{ + + + $image_data$picdesc}; + } # no else + } + } + $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection + } + } + return SOAP::Data->type('base64' => (responseHeader("illuminae.com") . $MOBY_RESPONSE . responseFooter)); +} + +sub getDragonLocusAlleles{ + my ($caller, $data) = @_; + my $MOBY_RESPONSE; + my (@inputs)= genericServiceInputParser($data); # ([SIMPLE, $queryID, $simple],...) + return SOAP::Data->type('base64' => responseHeader("illuminae.com") . responseFooter()) unless (scalar(@inputs)); + + my @validNS = validateNamespaces("DragonDB_Gene"); # ONLY do this if you are intending to be namespace aware! + + foreach (@inputs){ + my ($articleType, $qID, $input) = @{$_}; + unless (($articleType == SIMPLE) && ($input)){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } else { + my $namespace = getSimpleArticleNamespaceURI($input); + my ($identifier) = getSimpleArticleIDs($input); # note array output! + my $q= qq{select Locus->Allele from Locus in object("Locus","$identifier")}; + my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); + my @res = $db->aql($q); + unless ($res[0]){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } + my @simples; + foreach (@res){ + my $Allele = shift @{$_}; + push @simples, qq{}; + } + $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection + } + } + return SOAP::Data->type('base64' => (responseHeader("illuminae.com") . $MOBY_RESPONSE . responseFooter)); +} + ############################################################### ###################### for My Machine Only ################### From mwilkinson at pub.open-bio.org Sat Jan 17 22:51:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 22:51:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180351.i0I3pWgF003359@pub.open-bio.org> mwilkinson Sat Jan 17 22:51:32 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3340/Services Modified Files: LocalServices.pm Log Message: missed the closing tags on some elements moby-live/Perl/scripts/Services LocalServices.pm,1.51,1.52 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:45:22 1.51 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:51:32 1.52 @@ -785,7 +785,7 @@ # push @simples, "$image_data"; # push it onto the collection list push @simples, qq{ - + $image_data$picdesc}; } # no else } @@ -822,7 +822,7 @@ my @simples; foreach (@res){ my $Allele = shift @{$_}; - push @simples, qq{}; + push @simples, qq{}; } $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection } From mwilkinson at pub.open-bio.org Sat Jan 17 22:54:53 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 22:54:53 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180354.i0I3sr3b003435@pub.open-bio.org> mwilkinson Sat Jan 17 22:54:52 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3416/Services Modified Files: LocalServices.pm Log Message: missed the closing tags on some elements moby-live/Perl/scripts/Services LocalServices.pm,1.52,1.53 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:51:32 1.52 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:54:52 1.53 @@ -786,7 +786,8 @@ push @simples, qq{ - $image_data$picdesc}; + $image_data$picdesc + }; } # no else } } From mwilkinson at pub.open-bio.org Sat Jan 17 23:00:25 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 23:00:25 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180400.i0I40P5p003510@pub.open-bio.org> mwilkinson Sat Jan 17 23:00:25 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3491/Services Modified Files: LocalServices.pm Log Message: removing a service that I just re-wrote to give better output moby-live/Perl/scripts/Services LocalServices.pm,1.53,1.54 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:54:52 1.53 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 04:00:25 1.54 @@ -666,81 +666,6 @@ ################################################# ################################################# -sub getDragonMutantImages { - - my ($self, $data) = @_; - -# prepare myself - my $OS = MOBY::Client::OntologyServer->new; - my ($s, $m, $nsAllele) = $OS->namespaceExists(term => "DragonDB_Allele"); - - unless ($nsAllele){ # unless we could get the known namespace LSID's we should bail because somethign is very very wrong! - print STDERR "the namespace DragonDB_Allele does not exist in the MOBY namespace ontology\n"; - return SOAP::Data->type('base64' => responseHeader() . responseFooter()); # base 64 encode it (optional) - } -# make the database connection once - my $db = Ace->connect(-host => 'bioinfo.usask.ca', - -port => 23100); -################################### - -# now start retrieving the input data - my @input_nodes = genericServiceInputParser($data); - my @inputs; - -# Start iterating through the queries - my $response; - foreach my $input(@input_nodes){ - my ($articleType, $qID, $node) = @{$input}; - unless (($articleType == SIMPLE) && (defined($input))){ # we only accept simple inputs to this service - $response .= collectionResponse([], "", $qID) ; # send back a blank response for this queryID - next; - } - my $namespace_LSID = getSimpleArticleNamespaceURI($node); # get the LSID of the namespace for this input object - unless ($namespace_LSID eq $nsAllele){ # validate the namespace - $response .= collectionResponse([], "", $qID); # because we have to send one response per input, send a blank if bad namespace - next; - } - - my ($Allele)= getSimpleArticleIDs($namespace_LSID, [$node]); # get the ID within this namespace - unless (defined $Allele){ # send a blank if we failed to get an id, - $response .= collectionResponse([], "", $qID); # because we have to send one response per input - next; - } -# Prepare query on DragonDB with that allele name - - -# my $q= qq{select Gif from Gif in object("Allele","$identifier")}; -# my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); -# my @res = $db->aql($q); -# - - - my $query = qq(select Gif from Gif in object("Allele","$Allele") -> Phenotype_picture -> Pick_me_to_call[2]); -# print STDERR "QUERY TO DRAGONDB WAS $query\n"; - my @jpgnames= $db->aql($query); - # I really need to learn AQL better so that I can also retrieve the - # Locus as a Cross-reference, and the Sequence as a cross-reference! - my @simples; - foreach my $jpg (@jpgnames){ - $jpg = $jpg->[0]; - $jpg =~ s/([^\w\-\.\@])/$1 eq " "?"+":sprintf("%%%2.2x",ord($1))/eg; # URL Encode the image filename - $jpg = "http://antirrhinum.net/ace/images/DragonDB/external/".$jpg; # make the URL - my $ua = LWP::UserAgent->new; - my $req = HTTP::Request->new(GET => $jpg); # get the image - my $res = $ua->request($req); - - # Check the outcome of the response - if ($res->is_success) { # if successful, then base64 encide the data - my $image_data = encode_base64($res->content); # and create the simple image object - push @simples, "$image_data"; # push it onto the collection list - } - } - $response .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection - } - $response = responseHeader() . $response . responseFooter(); # now wrap the collection(s) with the appropriate headers etc - my $SOAPResponse = SOAP::Data->type('base64' => $response); - return $SOAPResponse # and return them. -} sub getDragonSimpleAnnotatedImages{ my ($caller, $data) = @_; From nwnhavxe at kovugcfrhct.yourmakeup.info Tue Jan 20 06:07:01 2004 From: nwnhavxe at kovugcfrhct.yourmakeup.info (Lzmt Qp) Date: Tue, 20 Jan 2004 04:07:01 -0700 Subject: [MOBY-guts] Modern Miracles Make Your Face Look Years Younger? In-Reply-To: <0W07.VxKH-PDCB$KRxVxKH.xAP.X00Z0Z> References: <0W07.VxKH-PDCB$KRxVxKH.xAP.X00Z0Z> Message-ID: An HTML attachment was scrubbed... URL: http://biomoby.org/pipermail/moby-guts/attachments/20040120/74acd440/attachment.html From sam at moonlight.co.il Fri Jan 30 11:29:14 2004 From: sam at moonlight.co.il (sam@moonlight.co.il) Date: Sat, 31 Jan 2004 00:29:14 +0800 Subject: [MOBY-guts] Hello Message-ID: <200401301633.i0UGXwEs011844@portal.open-bio.org> The message contains Unicode characters and has been sent as a binary attachment. -------------- next part -------------- A non-text attachment was scrubbed... Name: message.zip Type: application/octet-stream Size: 22796 bytes Desc: not available Url : http://biomoby.org/pipermail/moby-guts/attachments/20040131/7c4ec523/message-0002.obj From Mailer-Daemon at jupiter.myacen.com Fri Jan 30 15:19:40 2004 From: Mailer-Daemon at jupiter.myacen.com (Mail Delivery System) Date: Fri, 30 Jan 2004 20:19:40 +0000 Subject: [MOBY-guts] Mail delivery failed: returning message to sender Message-ID: This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: smith at esperanto.org.nz This message has been rejected because it has a potentially executable attachment "vxlqh.scr" This form of attachment has been used by recent viruses or other malware. If you meant to send this file then please package it up as a zip file and resend it. ------ This is a copy of the message, including all the headers. ------ Return-path: Received: from [202.127.20.131] (helo=biomoby.org) by jupiter.myacen.com with esmtp (Exim 4.24) id 1Amf74-0006rG-T9 for smith at esperanto.org.nz; Fri, 30 Jan 2004 20:19:39 +0000 From: moby-guts at biomoby.org To: smith at esperanto.org.nz Subject: HELLO Date: Sat, 31 Jan 2004 04:19:58 +0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0013_67B11BA0.4B4868A2" X-Priority: 3 X-MSMail-Priority: Normal Message-Id: This is a multi-part message in MIME format. ------=_NextPart_000_0013_67B11BA0.4B4868A2 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit ------=_NextPart_000_0013_67B11BA0.4B4868A2 Content-Type: application/octet-stream; name="vxlqh.scr" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vxlqh.scr" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUA AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABQAAAAEAAAAGAAAGC+AAAAcAAAAMAAAAAASgAAEAAA AAIAAAQAAAAAAAAABAAAAAAAAAAA0AAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQ AAAAAAAAAAAAAADowQAAMAEAAADAAADoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAABgAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADg VVBYMQAAAAAAUAAAAHAAAABQAAAABAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADAAAAA BAAAAFQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkCCUh+iY/UNhyBKZYAAFNOAAAAgAAAJgEAxe6H ApIAUCZKAEAD/bJpmiwQBPQl6AEAS85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFhQzWCf aUgARAc4MDRN03QDKCQcGBDTLLvXCCMD+Cnw6E3TNE3g2NDIvLQ0TdM0rKSclIzONk3TiHxwaClv XKbpmsEHVEwDRDiapmmaLCQcFAwEaZrObfwofwP07OSmaZqm3NTMyLyapmmatKykoJiQZ5umaYyA eHAoe2jebNN1B1wDVEwo//sLdrb740APNCj3LC8DmqYZ+SQoShwUDARpms7sm/wnA+zo4KZpmqbY 1MzIwJqmabq4J7CsqKCYaZqmaZSMiIR8pGmapnRsZFxUaZqmG0wDREA4MKZpmqYoIBgQCJqmc5sA +CbPA+jg2Gebzm1UNEMDQDQ024r/////nVrQ2uX0Bh8zTmxyTtgCl1+SyAE9fL5DS5bkNYngOpf/ ////91rAKZUEdutj3lzdYehy/48iuFHtjC7TeybUDTnwqmf/////J+qweUUU5ruTbkwtEfjiz7+y qKGdnJ6jq7bE1ekAGjf/////V3qgyfUkVovD/jx9wQhSn+9CmPFNrA5z20a0JZkQigf/////hwqQ GaWlqP7yw9Ko+BIsSmuPtuANPXCm3xtafOEnVcn/////EmC+GGXVOJ4Xc+JUiUG8muM/xlCNbQCW T8tqDLFDerL/////cxfOiEcFyIpXI/LEmXFMLgvv1sCtnZCGD3t6fJGJlKL/////s8fe+hU1WH6n wwI0eaHcGluP5jBtzSB2zyuK/FG5JJL/////A3fuaOVl6G6Xg4N2jJWhsMLX7wooSW2UvusbToS9 +Tj/////er8HUqDxRWyWU7MafOVRwDKnH5oYmR2kLrtL3nQNqUj/////6o834pBB9axmI+OmbDUB 0KJ3TyoI6c20not7bmRdWVj/////Wl9ncoCRpbzW8xM2XIWx4BJHf7r4OX3EDlur/lStCT3///// mnenAnDhVcwGw0PGXNVhYWRqc3+MoLXN6AYnS3Kcyfn/////LGKbVxZYfbBgJv4jetQxkeRawy/O EIX9dPZ3+4AMmSn/////vFLrhybIbRXAbh+TikThlNQSId+ugFUtGObHq/J8aVn/////TkI7Nzg4 PUVQXm+DmrTR8RQ6Y8++8OVstuQjW/e8Yaj/////0DuJ7nM8Y/iZ4MVLkRehId4isz8/VEhRe29+ 1s/ZbpX/3/7/KQMj6ZQJv+bzpUEQpnwyaWuAIQstx07SEIJs+f////9zp3feFIcHB/tSqgFhwCyb 9yaW3ZedImAPRp7N/SxAf/////+TstLxCSBYdmhjXVBSUVNqZHcBLMXvVDC8VxE8zp1Xbv////8g 461g2tFSFc5mX7dBwBTkZZOfeP5yDbznapV7exN2dv////99HA0t8vb0sPHR53n63Uxlo/8nbIzd C9uMG6m9dYc7T//////bFIJCFAlFzIIP+mK3KXP7FYPnHpN+tCRpKf+9KMvqTv//7f93Djqwv/dU 1OxzmAFNBp3yoq/CYvPlXjffBXFS/////wf4G0B+VD6nqU8sAn0wyOcG0lQqGmtMAZ0E9mr6HccG /4X///gdkASrlgAGBhAr75nUTv8XeAuTxvh1IYyk/////1//zHJr62/+pf3s0EHJeJHZxKwmx+jg qbcaXW/sKRCj/////7zz7fVvUSE1jdZTHEgpGOO3XD+duM3QUlXjtUPqvmfj/////6CgMuLOSTok LzAKj66E4XVAoWKYsvUwSuDj/5GBwScH/////3eIZ49Us4UI4v6CRathjnTauyo4rvBK1BicF4pI wrW8/////577H1bmbpDgO0ezoBq30qq8xPeTSKYBwAT/BhKLXanY/////72UMfgf6FpjPt/WCspC 1QxeYEly9fSu9FMX/BYV8o6a/////3NwPIKx4o43W1MWoieUVFissTU3Pqp1ZZUhbusahIFq//// /+YKGD86lZ+BguNzpEc9CQLWLojCp9U/ilzqn1Y7Xz1K/9L//8N5X0MJuPCrms4esoXZS8HUO17P 3/ZH+Ur3/////9j7LbSKZ2L/WK0RjCL3W8tY34X8rOBl2uuXlOJgCO8//////zzj7H8QjmB+3U2b 5J0FG5d628yz+zePJfE5HbJ8GvUd/////x+9n+nG6unrPtmWcP072kUl9vOk59YEIUw5/lukh4mS ////C53TsFuNKjZCG8rR5DRQrMMcxeFmimxbM1FC/////+0+I6ti1+6U9DSy6dVJrF4mrrxteWeV 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 crwJvcwCW7cWeN1VsB4PA3r/////9HG6MajNSkMhKg9pcAJjOtLilKlpeUWJvnwlhZFVDsH4t/7/ 7R5TtUTu32jxRzKWf4wdW8glqXzVJrP//1u0gNK1BGKCbhyK5Eyi3QBRuaXpLv9/i8ZLcIdXPCdp e2iJlaKAnebr84n/3/jbf21bDAv5g+gRI57fC0aEaDFQmuc3iv//Df7gOZX0Vrsj2m3hWNJPz1LY Ye3t8Pb/Cxr//y/9LEFZdJKzmShVhbjuJ2Oi5ClxvApbrwZgvR3/Fl/qgOZPjpwRiQS6hw6YJbVI 3v////93E7JU+aFM+qtfFtCNTRDWn2s6DOG5lHJTNx4I9eXYzv+F/v/Hw8LEydHc6vsPJkBdfaBP G0p8sekkYqP/Av//5y54xRVovhdz0jSZAWzaSwCwLa0wtj/L//+N/svO1N3p+ApAUnCRtdwGM2OW zAVBgMIHT/9S//+a6DmN5D6b+17ELZkIeu9nU+Fl7HYDkyb+X+r/vFXxkDLXfyrYiT3oayvutH1J GOq/l3Lo//+XwBX85tPDtqyloaCip6+6yNntBB47W/X//19BzfkoWo/HKHN5bmMuYyx2IDAuMSAy MDA0/SPbb5MxL3h4IAI6IGFuZHkpAHu7BRvMAi0MAAUcADkJzhD/mQ8BABAACQAS1wMHIX77ZnV2 enRNdi5xeXk3RmL9v/v/c2dqbmVyXFp2cGViZg1cSnZhcWJqZlxQaGV/+f+/F2FnSXJlZnZiYVxS a2N5YmVyZWJ6UXl0M7f4LdgyXBlDanJvRnZrRnq6v/32Z2tGMFNnbmZ4ehcucmtyAEcLWis0BfYj Z0V5l5b/9r9ub3RlcGFkICVzC01lc3NhZ2UALCX7mNsPdRIFLjJ1OgSKbnvPFAYDLy0/K/tv/29D ZWMATm92AE9jdABTTQBBdWcASnVsA7a5261uU2F5D3ByBwNGkLe/XbYTYVNhJ0ZyaQBUaERXZfbO 3bZkB3VzTW8XL2FiY2Sf+8Jv/2doaWprbG2ccHFyc3ROd3h5emf2//9/QUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVobte3W2la412NnVAJQ3Oha4bYIcA5xRiAFn2ocPoJbAHYajmFoeHLd98K2PZNi 7naaXyducHgPoXD4t55iZ3h2Z0tDwwdp3y78fy10dmV5LTIuMG9xcIxfY05wdXJmmaHdCjNcdmkL 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 AAezO3t3gAAAAAAAAIAAAPA/AADgBwAAwAcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADA AwAAwAMAAMADAADABwAA4AcAAP/fAADYkQAAAAABAAEAEBAQAAEABAAoAQAAAQAAAAAAAAAAAAAA AACQwgAAYMIAAAAAAAAAAAAAAAAAAJ3CAABwwgAAAAAAAAAAAAAAAAAAqsIAAHjCAAAAAAAAAAAA AAAAAAC1wgAAgMIAAAAAAAAAAAAAAAAAAMDCAACIwgAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwgAA 2MIAAOjCAAAAAAAA9sIAAAAAAAAEwwAAAAAAAAzDAAAAAAAAcwAAgAAAAABLRVJORUwzMi5ETEwA QURWQVBJMzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFy eUEAAEdldFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3 c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0013_67B11BA0.4B4868A2-- From linda at cse.ucsc.edu Fri Jan 30 18:27:28 2004 From: linda at cse.ucsc.edu (linda@cse.ucsc.edu) Date: Sat, 31 Jan 2004 07:27:28 +0800 Subject: [MOBY-guts] TEST Message-ID: <200401302333.i0UNXGEs017509@portal.open-bio.org> ±¿RGWläZË1ê„ÇÄêÙYšªpæ"~Y™$ÀtÂÁ¤ÔlÌÎö]oUö‹E¶‚BE΄ãÀAÒû*ËF¶váβl*ë‚( 4-šÒ®d,GŸñ³dF›ó9x”g?ó°Ô98ÑžùM|Vù{ewn¿‡ %2ÏX Då©™BÚ8ý±À'‰E5èº~Í /_JvB}ùåýºÅWP&™¹i5.ªÆ,ìeûº¸›Úg½$Pœ6U{ʸ²¤R(‰Ïs6$ÏŸ¡­ õËÂyªW1(Úq0³?(ý³!ÛõjÝChCHŸÓß»‡…apñ}¾¹…ãÓ¾,EHb “`0fó¢{O~(Ù‰Ú9JDMö’“^!ŒzæʹKº£?ãež¤£×÷^%¦ÌDéSœ«ªy3 °O0cÓÑàS×pMCsÙ¦ºœ·Óö;ôb„ÏÔ®š‚ª¿òëµö-¥lÛVL›¸îð£Wòó~Ä®£t«ÖUo[¨!Ê]'þy â‘Á„¡Ä²ÙZŸ-³¹ë6)XÁT.1öQÛ?C»éåG:ìæo¥Ödä©]¦UÌj:6ÉãšMmW¡­'B¾,êÁ9ó¶é­à¢ fŒ}|þ5k¡k0¨ðîáüØãÁw« çOaÅiCÕa:ÓÏ®¾¬«r¥?­ÓD¨þóµQÕÊ…2ÆÐ^V7t³—åšæ•×-XrPo¢4fÖ#ÍÉó©*•›<.¿J˜Î­P°•ºQ( µÄØ¡`vN]óoI]ïeÞb‰?ð9¸Égš²°Õ{ö¼ÞKlj~ü‡¾ù¥)…‘î~Ý“'Û?™¡ìºe¶LŸµ•<ø‰Y”™7«iŽú²[{^Þ9hÞ}>xn*Ý2á|厂ìrhntÞm²>æ¡îË“mIÍ™¸ŸXÚFíªòÅ#‚#_<ìô„¸û ³÷ú’b-®Š¶ÉíhöojÝèR_¢«nÇÒÕ"“«Žw¤÷ºL ÑAíëAždï°Þâ;šYL'åû8¡«¤#Û,8mÍL0’mjÏäÅfñ×]o£&6*„‘Õw7òäbÕäÇ1Àb?üySÕƒ.}6äTC·µXp.’“0ö Ã÷øˆûMé·åIÏhÕ‡‘ û÷By³t©Üµýqê”ScÓxZÔÛ(7`jqõd‹£mI¯²i©±öQ;à.%¨Žšoç™~„¶w«3£gÕÞXßÒÜKPÏ¿Wjv—öÔŦa6¢ˆ)¼hP™/sŒQx%ß"ÀJg?íi~ ’áDðb‡˜~&lªÕÒN~èrˆ²±#Ø–Ä4ƒ8¢~³;©E¼˜_ >#üïíòrrþ¸aÎit»Ï–A0ª¤V¼Â?N-{Ûñ×wñ­ íapÅŽB×±wn~àÜ0óC¡8IEäÓÉàþhƒ#ý~›("hJZL!lžÒÑG2¾ñ†“™Çž<穤zDÑyJôÛàäÞ1¢QºêLs(cM',KY4jÀ$D‡a37.Èô©ÀðGâ½ùP¯—µˆ {ÏäÃ¦Û t£ ¸ƒàKs¥jû¢ÍC´ÙSÖsrWÆíIÝV>¡¼ágyBÆ‹À%<èæuŠž}ŽbHÕõòùï¶×“zü¼9tŠƒÎt7§šµ¦Áªã:S“Ã×”Û˜w-xÉ.•¯'î¹9Y4ƪ…2ªØÛg÷¸àý­ŒX%dÅxõÓdnÔ&)5§ëÔʼµÖÉUÈë»$jÆŠŠ;ˆÄ×¾´¥¹côÙ»Uhá&Dì-ò"sEílôoÉÓUÍz¨]:ëº%}ØÈÙúÕæÄy¿£êêÖÉãÔƒ´z©å§¾*ùû³så—Ú,J“I„ï,àÖÁA|½Lçà7DNùá1êÁ'^—Ñ|ôâDƒ*MìzD´¥>Ž'BwæÛÆò%5yº ćI‹µ©ÆÃŽðÌlìj­íûèäÀ:^÷7Qø(£É Ç^­»ÄgOêMW¨?·†¼ÀD"Ò·ÄoåÆ»C‘QùšC l&ûÌ!â]mбíuš.·Ù¼®VÔ 4pïÆ0C_Ó¢îf: ø&°„ò§e¼sfâpÉÔ~íÒ7p­AÅ9Á²8£~‡"†Ž%)XHX·)ã³Ü½Ü3Ëê[¶uËVºYw1f 2U†òp77EqéV“TP­»eÚ`U½÷qj(/Xܧš4; æûÒ`ü×6Br¹ Wr¾`mʶ./ÒÓ㪿kÒZÕd¨Wí¬9®Ç]Só ’§¥¤aBMøsw›ÂÌP&Š×æþƒ¹û`q!8HÐ ÂD¾v]‰†Ã‰æã¹í¢”'oÂÐ4þõÁø® -------------- next part -------------- A non-text attachment was scrubbed... Name: message.zip Type: application/octet-stream Size: 22648 bytes Desc: not available Url : http://biomoby.org/pipermail/moby-guts/attachments/20040131/a49fefd9/message-0002.obj From allis2 at cox.net Sat Jan 31 18:23:49 2004 From: allis2 at cox.net (allis2@cox.net) Date: Sat, 31 Jan 2004 15:23:49 -0800 Subject: [MOBY-guts] Server Report Message-ID: <200401312330.i0VNU8Es029838@portal.open-bio.org> The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment. -------------- next part -------------- A non-text attachment was scrubbed... Name: body.zip Type: application/octet-stream Size: 22792 bytes Desc: not available Url : http://biomoby.org/pipermail/moby-guts/attachments/20040131/bd72057a/body-0002.obj From VirusMaster at OntarioPowerGeneration.com Sat Jan 31 18:51:26 2004 From: VirusMaster at OntarioPowerGeneration.com (VirusMaster@OntarioPowerGeneration.com) Date: Sat Jan 31 18:51:26 2004 Subject: [MOBY-guts] Virus Detected by Network Associates, Inc. Webshield SMTP V4.5 Message-ID: <200401312343.i0VNhIZ21270@secrmail.newhorizonsolutions.com> The virus W32/Mydoom.a at MM was detected in attachment text.scr from to with the subject "Hi". It was Deleted and Quarantined. Quarantined means a copy was saved on our mail gateway; Cleaned means the virus was removed and the message was delivered; Deleted means the message was not delivered. Please use up-to-date virus protection on your computer From mwilkinson at pub.open-bio.org Fri Jan 2 20:13:24 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:13:24 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022013.i02KDOEG026149@pub.open-bio.org> mwilkinson Fri Jan 2 15:13:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26130/MOBY Modified Files: Central.pm Log Message: be more stringent with the authURI and email fields because they are being abused. Some scoundrel just registered 'HelloWorldService' as a service ontology term and didn't include their email address so I could spank them. moby-live/Perl/MOBY Central.pm,1.120,1.121 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.120 retrieving revision 1.121 diff -u -r1.120 -r1.121 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2003/12/28 20:41:59 1.120 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:13:23 1.121 @@ -235,6 +235,8 @@ return &_error("Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid by testing against existing relationships and such while (my ($reltype, $obj) = each %{$relationships}){ @@ -469,6 +471,8 @@ return &_error("Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid @@ -683,6 +687,8 @@ return &_error("Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail",""); } return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; my ($exists, $exists_message, $URI) = $OntologyServer->namespaceExists(term => $term); # success = 1 if it does (($exists==1) && return &_error("Namespace $term already exists", $URI)); @@ -1044,8 +1050,10 @@ $error .="missing serviceName \n" unless defined $serviceName; $error .="missing serviceType \n" unless defined $serviceType; $error .="missing authURI \n" unless defined $AuthURI; - $error .="malformed authURI; must be the domain name only with no http prefix or trailing path information \n" if $AuthURI =~ '[/:]'; $error .="missing contactEmail \n" unless defined $contactEmail; + return &_error("Malformed authURI - must not have an http:// prefix","") if $AuthURI =~ '[/:]'; + return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $AuthURI =~ /\./; + return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $contactEmail =~ /\S\@\S+\.\S+/; $error .="missing URL \n" unless defined $URL; $error .="missing description \n" unless defined $desc; $error .="missing Category \n" unless defined $Category; From mwilkinson at pub.open-bio.org Fri Jan 2 20:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:39:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNPo026308@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:22 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26289/MOBY Modified Files: Central.pm Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/MOBY Central.pm,1.121,1.122 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:13:23 1.121 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:39:22 1.122 @@ -1089,9 +1089,9 @@ $OS = MOBY::OntologyServer->new(ontology => 'service'); my ($valid, $message, $URI) = $OS->serviceExists(term => $serviceType); - print STDERR "\n\nChecking $URI\n\n"; + #print STDERR "\n\nChecking $URI\n\n"; return &_error("$message","$URI") unless ($valid || (($serviceType =~ /urn:lsid/i) && !($serviceType =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-MOBY LSID - print STDERR "\n\nChecking $URI OK!!\n\n"; + #print STDERR "\n\nChecking $URI OK!!\n\n"; # right, registration should be successful now! my $SVC = MOBY::service_instance->new( From mwilkinson at pub.open-bio.org Fri Jan 2 20:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:39:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNG3026328@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv26289/MOBY/Client Modified Files: Central.pm Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/MOBY/Client Central.pm,1.68,1.69 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2003/12/27 20:11:48 1.68 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/02 20:39:23 1.69 @@ -496,8 +496,8 @@ $type - email - auth\n"; + $email + $auth\n"; while (my ($type, $servlistref) = each %Relationships){ $message .="\n"; foreach my $servicetype(@{$servlistref}){ From mwilkinson at pub.open-bio.org Fri Jan 2 20:39:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Fri, 2 Jan 2004 15:39:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401022039.i02KdNVx026349@pub.open-bio.org> mwilkinson Fri Jan 2 15:39:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts In directory pub.open-bio.org:/tmp/cvs-serv26289/scripts Modified Files: testMOBYClientCentral_v05.pl Log Message: Client was not passing auth nor email correctly for service type registration. moby-live/Perl/scripts testMOBYClientCentral_v05.pl,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl 2003/12/02 00:23:23 1.12 +++ /home/repository/moby/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl 2004/01/02 20:39:23 1.13 @@ -34,8 +34,8 @@ #reg first object class TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", - contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + contactEmail => 'your at email.address', + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -48,7 +48,7 @@ TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -61,7 +61,7 @@ TEST($C->registerObjectClass(objectType => "YetMoreCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1'], @@ -73,7 +73,7 @@ TEST($C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => ['Retrieval','Analysis']} ), 4, 1); @@ -81,7 +81,7 @@ TEST($C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => ['Retrieval','Analysis']} ), 5, 0); @@ -108,7 +108,7 @@ TEST($C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['Object', 'article1']]} @@ -118,7 +118,7 @@ TEST($C->registerObjectClass(objectType => "YetMoreCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "blah.blah.blah", Relationships => { ISA => [ ['TotalCrap', 'article1']]} From mwilkinson at pub.open-bio.org Mon Jan 5 21:29:09 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Mon, 5 Jan 2004 16:29:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401052129.i05LT91A013029@pub.open-bio.org> mwilkinson Mon Jan 5 16:29:08 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv13010/Perl/MOBY/Client Modified Files: Service.pm Log Message: if service invocation returns an error, catch this and be graceful about it moby-live/Perl/MOBY/Client Service.pm,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2003/11/04 15:38:13 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/01/05 21:29:08 1.7 @@ -206,7 +206,9 @@ ]]>"; my $METHOD = $self->ServiceName; &_LOG(%args, $METHOD); - return $self->_soapService->$METHOD($data); + my $response; + eval {($response) = $self->_soapService->$METHOD($data)}; + return $@?"":$response; # the service execution failed then pass back "" } From mwilkinson at pub.open-bio.org Thu Jan 8 18:59:48 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 13:59:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081859.i08IxmOM023848@pub.open-bio.org> mwilkinson Thu Jan 8 13:59:48 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv23829/Perl/MOBY/Client Modified Files: Central.pm Log Message: oops. backing out that change to Client::Central as it isn't ready for prime time yet moby-live/Perl/MOBY/Client Central.pm,1.70,1.71 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.70 retrieving revision 1.71 diff -u -r1.70 -r1.71 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:55:55 1.70 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:59:48 1.71 @@ -1396,13 +1396,6 @@ @lsids = @$lsids; $self->ISA_CACHE($lsid1, [@lsids]); $self->ISA_CACHE($class1, [@lsids]); - my @hold = @lsids; - while (shift @hold){ - $self->ISA_CACHE($_, [@hold]); - if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ - $self->ISA_CACHE($1, [@lsids]); - } - } } foreach (@lsids){ return 1 if $_ eq $lsid2; From mwilkinson at pub.open-bio.org Thu Jan 8 19:05:58 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 14:05:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081905.i08J5wC5023972@pub.open-bio.org> mwilkinson Thu Jan 8 14:05:58 EST 2004 Update of /home/repository/moby/moby-live/Perl/t In directory pub.open-bio.org:/tmp/cvs-serv23953/t Modified Files: Client-Central.t Log Message: fixing errors in test suite prior to release moby-live/Perl/t Client-Central.t,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/t/Client-Central.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/t/Client-Central.t 2003/11/12 17:31:42 1.2 +++ /home/repository/moby/moby-live/Perl/t/Client-Central.t 2004/01/08 19:05:58 1.3 @@ -27,7 +27,7 @@ $r = $C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => [ ['Object', 'article1'], @@ -48,7 +48,7 @@ $r = $C->registerObjectClass(objectType => "TotalCrap", description => "a human-readable description of the object", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => [ ['Object', 'article1'], @@ -74,7 +74,7 @@ $r = $C->registerServiceType(serviceType => "CrappyService", description => "a human-readable description of the service", contactEmail => 'your at email.address', - authURI => "URI of the registrar of this object", + authURI => "test.suite.com", Relationships => { ISA => ['Retrieval']} ); @@ -85,7 +85,7 @@ $r = $C->registerService( serviceName => "myfirstservice", serviceType => "Retrieval", - authURI => "www.illuminae.com", + authURI => "test.suite.com", contactEmail => 'your at mail.address', description => "this is my first service", category => "moby", @@ -112,7 +112,7 @@ $r = $C->deregisterService( serviceName => "myfirstservice", - authURI => "www.illuminae.com", + authURI => "test.suite.com", ); ( ok($r->success,"Service deregistration successful") ) or diag("Service deregistration failure: ".$r->message) ; From mwilkinson at pub.open-bio.org Thu Jan 8 18:55:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 13:55:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081855.i08IttE4023691@pub.open-bio.org> mwilkinson Thu Jan 8 13:55:55 EST 2004 Update of /home/repository/moby/moby-live/Perl In directory pub.open-bio.org:/tmp/cvs-serv23672 Modified Files: MANIFEST Log Message: removing dead module from MANIFEST moby-live/Perl MANIFEST,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MANIFEST,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MANIFEST 2003/11/12 17:31:42 1.6 +++ /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/08 18:55:55 1.7 @@ -20,7 +20,6 @@ MOBY/Client/OntologyServer.pm MOBY/Client/ServiceInstance.pm MOBY/Client/SimpleArticle.pm -MOBY/Client/SimpleInput.pm MOBY/Client/Service.pm t/Client-Central.t scripts/debugYourService From mwilkinson at pub.open-bio.org Thu Jan 8 18:55:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 8 Jan 2004 13:55:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401081855.i08Itt0U023710@pub.open-bio.org> mwilkinson Thu Jan 8 13:55:55 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv23672/MOBY/Client Modified Files: Central.pm Log Message: removing dead module from MANIFEST moby-live/Perl/MOBY/Client Central.pm,1.69,1.70 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/02 20:39:23 1.69 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/01/08 18:55:55 1.70 @@ -1396,6 +1396,13 @@ @lsids = @$lsids; $self->ISA_CACHE($lsid1, [@lsids]); $self->ISA_CACHE($class1, [@lsids]); + my @hold = @lsids; + while (shift @hold){ + $self->ISA_CACHE($_, [@hold]); + if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ + $self->ISA_CACHE($1, [@lsids]); + } + } } foreach (@lsids){ return 1 if $_ eq $lsid2; From mwilkinson at pub.open-bio.org Sat Jan 10 22:12:40 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:12:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102212.i0AMCeiW031208@pub.open-bio.org> mwilkinson Sat Jan 10 17:12:40 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid In directory pub.open-bio.org:/tmp/cvs-serv31190/lsid Log Message: Directory /home/repository/moby/moby-live/Perl/MOBY/lsid added to the repository moby-live/Perl/MOBY/lsid - New directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/RCS/directory,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 22:13:01 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:13:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102213.i0AMD1kx031252@pub.open-bio.org> mwilkinson Sat Jan 10 17:13:01 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31234/lsid/authority Log Message: Directory /home/repository/moby/moby-live/Perl/MOBY/lsid/authority added to the repository moby-live/Perl/MOBY/lsid/authority - New directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/directory,v: No such file or directory From mwilkinson at pub.open-bio.org Sat Jan 10 22:15:21 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:15:21 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102215.i0AMFLUr031345@pub.open-bio.org> mwilkinson Sat Jan 10 17:15:21 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31330/authority Added Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm authority.pl dbConfigure.pm dbConfigure.pm.template dbConnect.pm lsid_resolver.kpf metadata.pl Log Message: moving LSID resolver modules into the MOBY tree so that they will be installed by the Makefile moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,NONE,1.1 Error.pm,NONE,1.1 NamespaceResolver.pm,NONE,1.1 PredicateResolver.pm,NONE,1.1 RDFConfigure.pm,NONE,1.1 RelationshipResolver.pm,NONE,1.1 ServiceInstanceResolver.pm,NONE,1.1 ServiceResolver.pm,NONE,1.1 authority.pl,NONE,1.1 dbConfigure.pm,NONE,1.1 dbConfigure.pm.template,NONE,1.1 dbConnect.pm,NONE,1.1 lsid_resolver.kpf,NONE,1.1 metadata.pl,NONE,1.1 From mwilkinson at pub.open-bio.org Sat Jan 10 22:17:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 17:17:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401102217.i0AMHWwK031421@pub.open-bio.org> mwilkinson Sat Jan 10 17:17:32 EST 2004 Update of /home/repository/moby/moby-live/Perl/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv31394/authority Removed Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm authority.pl dbConfigure.pm.template dbConnect.pm metadata.pl Log Message: cleaning up moby-live/Perl/lsid/authority ClassResolver.pm,1.1,NONE Error.pm,1.2,NONE NamespaceResolver.pm,1.3,NONE PredicateResolver.pm,1.3,NONE RDFConfigure.pm,1.6,NONE RelationshipResolver.pm,1.3,NONE ServiceInstanceResolver.pm,1.4,NONE ServiceResolver.pm,1.1,NONE authority.pl,1.3,NONE dbConfigure.pm.template,1.2,NONE dbConnect.pm,1.1,NONE metadata.pl,1.8,NONE rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ClassResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/Error.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/NamespaceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/PredicateResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/RDFConfigure.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/RelationshipResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ServiceInstanceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/ServiceResolver.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/authority.pl,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/dbConfigure.pm.template,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/dbConnect.pm,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Perl/lsid/authority/RCS/metadata.pl,v: No such file or directory From mwilkinson at pub.open-bio.org Sun Jan 11 01:31:37 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 20:31:37 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110131.i0B1Vbar032020@pub.open-bio.org> mwilkinson Sat Jan 10 20:31:37 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32000 Modified Files: dbConfigure.pm.template Removed Files: dbConfigure.pm Log Message: don't want the module in the CVS, only the template, since it has to be edited for each installation moby-live/Perl/MOBY/lsid/authority dbConfigure.pm.template,1.1,1.2 dbConfigure.pm,1.1,NONE =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConfigure.pm.template 2004/01/11 01:31:37 1.2 @@ -15,7 +15,7 @@ =cut #$Id$ -package dbConfigure; +package MOBY::lsid::authority::dbConfigure; use strict; use base 'Exporter'; require Exporter; rcsdiff: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RCS/dbConfigure.pm,v: No such file or directory From mwilkinson at pub.open-bio.org Sun Jan 11 02:30:58 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 21:30:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110230.i0B2Uwqe032213@pub.open-bio.org> mwilkinson Sat Jan 10 21:30:58 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32162/authority Modified Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm metadata.pl Log Message: updating use's for new location moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.1,1.2 Error.pm,1.1,1.2 NamespaceResolver.pm,1.1,1.2 PredicateResolver.pm,1.1,1.2 RDFConfigure.pm,1.1,1.2 RelationshipResolver.pm,1.1,1.2 ServiceInstanceResolver.pm,1.1,1.2 ServiceResolver.pm,1.1,1.2 metadata.pl,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package ClassResolver; +package MOBY::lsid::authority::ClassResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/11 02:30:58 1.2 @@ -1,5 +1,5 @@ #$Id$ -package Error; +package MOBY::lsid::authority::Error; sub clientFault {} =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package NamespaceResolver; +package MOBY::lsid::authority::NamespaceResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,9 +1,9 @@ #$Id$ -package PredicateResolver; +package MOBY::lsid::authority::PredicateResolver; require Exporter; use XML::DOM; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/11 02:30:58 1.2 @@ -1,6 +1,6 @@ #$Id$ -package RDFConfigure; +package MOBY::lsid::authority::RDFConfigure; use strict; use base 'Exporter'; require Exporter; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package RelationshipResolver; +package MOBY::lsid::authority::RelationshipResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,9 +1,9 @@ #$Id$ -package ServiceInstanceResolver; +package MOBY::lsid::authority::ServiceInstanceResolver; require Exporter; use XML::DOM; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); use MOBY::Client::Central; @ISA = qw(Exporter); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 02:30:58 1.2 @@ -1,10 +1,10 @@ #$Id$ -package ServiceResolver; +package MOBY::lsid::authority::ServiceResolver; require Exporter; use XML::DOM; -use dbConnect qw(:all); -use RDFConfigure qw(:all); +use MOBY::lsid::authority::dbConnect qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); @ISA = qw(Exporter); @EXPORT_OK = qw( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 02:30:58 1.2 @@ -8,11 +8,11 @@ use LS::ID; use LS::Authority::WSDL::Simple; -use Error; +use MOBY::lsid::authority::Error; -use RDFConfigure qw(:all); +use MOBY::lsid::authority::RDFConfigure qw(:all); -use dbConfigure qw( +use MOBY::lsid::authority::dbConfigure qw( $servicedb $namespacedb $objectdb @@ -20,12 +20,12 @@ $relationshipdb ); -use NamespaceResolver qw(:all); -use ClassResolver qw(:all); -use ServiceResolver qw(:all); -use RelationshipResolver qw(:all); -use PredicateResolver qw(:all); -use ServiceInstanceResolver qw(:all); +use MOBY::lsid::authority::NamespaceResolver qw(:all); +use MOBY::lsid::authority::ClassResolver qw(:all); +use MOBY::lsid::authority::ServiceResolver qw(:all); +use MOBY::lsid::authority::RelationshipResolver qw(:all); +use MOBY::lsid::authority::PredicateResolver qw(:all); +use MOBY::lsid::authority::ServiceInstanceResolver qw(:all); my %known_types = ( # switch on/off various LSID-namespace resolvers. 'namespacetype' => 1, From mwilkinson at pub.open-bio.org Sun Jan 11 03:50:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 10 Jan 2004 22:50:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110350.i0B3oWbA032531@pub.open-bio.org> mwilkinson Sat Jan 10 22:50:31 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv32492/authority Modified Files: ClassResolver.pm NamespaceResolver.pm RelationshipResolver.pm ServiceResolver.pm authority.pl metadata.pl Log Message: more changes required due to change in location moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.2,1.3 NamespaceResolver.pm,1.2,1.3 RelationshipResolver.pm,1.2,1.3 ServiceResolver.pm,1.2,1.3 authority.pl,1.1,1.2 metadata.pl,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectclass:text-base64 my $sth = $dbh->prepare("select object_type, description, authority, contact_email from object where object_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 03:50:31 1.3 @@ -29,7 +29,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($namespace_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($namespace_db_params); my $sth = $dbh->prepare("select namespace_type, description, authority, contact_email from namespace where namespace_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectrelation:isa my $sth = $dbh->prepare("select relationship_type, description, authority, contact_email, ontology from relationship where relationship_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 03:50:31 1.3 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = dbConnect($class_db_params); + my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:servicetype:retrieval my $sth = $dbh->prepare("select service_type, description, authority, contact_email from service where service_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/authority.pl 2004/01/11 03:50:31 1.2 @@ -36,7 +36,7 @@ method => 'GET', location => "mobycentral.cbr.nrc.ca", operations => { - getMetaData => "/cgi-bin/authority/metadata.pl?lsid=$lsid" + getMetaData => "/cgi-bin/BIO/moby-live/Perl/MOBY/lsid/authority/metadata.pl?lsid=$lsid" } ); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 03:50:31 1.3 @@ -2,7 +2,7 @@ #$Id$ use CGI qw/:standard/; -use lib "/usr/local/apache/cgi-bin/lsid/authority"; +use lib "/usr/local/apache2/cgi-bin/BIO/moby-live/Perl"; use strict; use CGI::Carp; From mwilkinson at pub.open-bio.org Sun Jan 11 05:51:10 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sun, 11 Jan 2004 00:51:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110551.i0B5pAtO000319@pub.open-bio.org> mwilkinson Sun Jan 11 00:51:10 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts In directory pub.open-bio.org:/tmp/cvs-serv304 Added Files: OntologyServer Log Message: a new OntologyServer that returns lots of RDF for those who love RDF. Mmmmm, RDFFFFFFF moby-live/Perl/scripts OntologyServer,NONE,1.1 From mwilkinson at pub.open-bio.org Sun Jan 11 05:51:11 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sun, 11 Jan 2004 00:51:11 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401110551.i0B5pBeW000339@pub.open-bio.org> mwilkinson Sun Jan 11 00:51:10 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv304/Services Modified Files: LocalServices.pm Log Message: a new OntologyServer that returns lots of RDF for those who love RDF. Mmmmm, RDFFFFFFF moby-live/Perl/scripts/Services LocalServices.pm,1.49,1.50 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2003/12/16 20:46:40 1.49 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/11 05:51:10 1.50 @@ -463,7 +463,7 @@ if ($kw){$tempresponse .="\n"} if ($acc){$tempresponse .="\n"} $tempresponse .="\n"; - $tempresponse .="\n".($SEQ->length)." + $tempresponse .="\n$length "; $MOBY_RESPONSE .= simpleResponse($tempresponse, "", $qID); } elsif (($ns eq $validNS{'NCBI_Acc'}) || ($ns eq $validNS{'EMBL'})){ From mwilkinson at pub.open-bio.org Thu Jan 15 16:04:55 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 11:04:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401151604.i0FG4tjR026485@pub.open-bio.org> mwilkinson Thu Jan 15 11:04:54 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv26466/Perl/MOBY Modified Files: Central.pm Log Message: this might fix the bug that Viji just found allowing registration of services without a Category moby-live/Perl/MOBY Central.pm,1.122,1.123 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.122 retrieving revision 1.123 diff -u -r1.122 -r1.123 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/02 20:39:22 1.122 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/01/15 16:04:54 1.123 @@ -1066,7 +1066,7 @@ ); $debug && &_LOG("Entering switch with $Category method\n"); - return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless ($Category eq "moby" || $Category eq "wsdl"); + return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless (($Category eq "moby") || ($Category eq "wsdl")); my @IN = @{$INPUTS}; my @OUT = @{$OUTPUTS}; my @SECS = @{$SECONDARY}; From mwilkinson at pub.open-bio.org Thu Jan 15 16:08:42 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 11:08:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401151608.i0FG8gMV026584@pub.open-bio.org> mwilkinson Thu Jan 15 11:08:42 EST 2004 Update of /home/repository/moby/moby-live/Perl In directory pub.open-bio.org:/tmp/cvs-serv26565 Modified Files: MANIFEST Log Message: updated MANIFEST with location of lsid resolver code moby-live/Perl MANIFEST,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MANIFEST,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/08 18:55:55 1.7 +++ /home/repository/moby/moby-live/Perl/MANIFEST 2004/01/15 16:08:42 1.8 @@ -30,17 +30,17 @@ scripts/OntologyServer.cgi scripts/Services/HelloWorldService.pm scripts/Services/LocalServices.pm -lsid/authority/authority.pl -lsid/authority/ClassResolver.pm -lsid/authority/dbConfigure.pm.template -lsid/authority/dbConnect.pm -lsid/authority/Error.pm -lsid/authority/metadata.pl -lsid/authority/NamespaceResolver.pm -lsid/authority/PredicateResolver.pm -lsid/authority/RDFConfigure.pm -lsid/authority/RelationshipResolver.pm -lsid/authority/ServiceInstanceResolver.pm -lsid/authority/ServiceResolver.pm +MOBY/lsid/authority/authority.pl +MOBY/lsid/authority/ClassResolver.pm +MOBY/lsid/authority/dbConfigure.pm.template +MOBY/lsid/authority/dbConnect.pm +MOBY/lsid/authority/Error.pm +MOBY/lsid/authority/metadata.pl +MOBY/lsid/authority/NamespaceResolver.pm +MOBY/lsid/authority/PredicateResolver.pm +MOBY/lsid/authority/RDFConfigure.pm +MOBY/lsid/authority/RelationshipResolver.pm +MOBY/lsid/authority/ServiceInstanceResolver.pm +MOBY/lsid/authority/ServiceResolver.pm From mwilkinson at pub.open-bio.org Thu Jan 15 20:59:39 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 15:59:39 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152059.i0FKxd6m027459@pub.open-bio.org> mwilkinson Thu Jan 15 15:59:38 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27404/authority Modified Files: ClassResolver.pm Error.pm NamespaceResolver.pm PredicateResolver.pm RDFConfigure.pm RelationshipResolver.pm ServiceInstanceResolver.pm ServiceResolver.pm lsid_resolver.kpf metadata.pl Log Message: updating all metadata resolvers with correct error codes according to the I3C moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.3,1.4 Error.pm,1.2,1.3 NamespaceResolver.pm,1.3,1.4 PredicateResolver.pm,1.2,1.3 RDFConfigure.pm,1.2,1.3 RelationshipResolver.pm,1.3,1.4 ServiceInstanceResolver.pm,1.2,1.3 ServiceResolver.pm,1.3,1.4 lsid_resolver.kpf,1.1,1.2 metadata.pl,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($object_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($object_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -74,7 +74,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 20:59:38 1.3 @@ -1,8 +1,91 @@ #$Id$ package MOBY::lsid::authority::Error; +use base 'Exporter'; +require Exporter; +my %errors = ( + 200, 'MALFORMED_LSID', + #A syntactically invalid LSID provided. + 201, 'UNKNOWN_LSID', + #An unknown LSID provided. + 202, 'CANNOT_ASSIGN_LSID', + #No LSID can be created from the given properties. + + #Error codes dealing with data retrieval + ############################################### + + 300, 'NO_DATA_AVAILABLE', + #No data exists for the given LSID. +#An exception with this code is raised when there could be data attached +#to the given LSID but they are not available in the time of the request. +#The exception should not raised when the LSID identifies an abstract +#concept in which case there are never any concrete data attached to it. + + 301, 'INVALID_RANGE', + # The requested starting position of data range is not +#valid. + + #Error codes dealing with metadata retrieval + ############################################### + 400, 'NO_METADATA_AVAILABLE', + # No metadata exists for the given LSID - +#at the moment. The same data retrieval service may be successful +#next time. The exception should not be raised if there are no +#metadata at all, at any time. + + 401, 'NO_METADATA_AVAILABLE_FOR_FORMATS', + #No metadata exists this time, +#or any time for the requested format. The exception cannot be raised +#if the requested format includes wild-chars. + + 402, 'UNKNOWN_SELECTOR_FORMAT', + #The format of the metadata selector is +#not supported by the service. + + #General error codes + ############################################### + + 500, 'INTERNAL_PROCESSING_ERROR', + #A generic catch-all for +#errors not specifically mentioned elsewhere in this list. + + 501, 'METHOD_NOT_IMPLEMENTED', + #A requested method is not implemented. +#Note that the method in question must exist otherwise it may be +#caught already by the underlying protocol and reported differently - +#but it has no implementation.The implementation may extend the set +#of error codes in order to include implementation-specific codes. If +#it does so it should use numbers above 20 in each of the groups, +#or any number above 700. In other words, the free codes are: +# 221-299, 321-399, 421-499, 521-599, 701-above). + ); + +my %errornames; # flip it +while (my ($n, $m) = each %errors){ + $errornames{$m} = $n; +} + + +our @EXPORT_OK = qw( + _die + ); +our @EXPORT = qw( + _die + ); +our %EXPORT_TAGS =(all => [qw( + _die + )]); sub clientFault {} sub serverFault {} +sub _die { + my $m = shift; + my $n = $errornames{$m}; + print header( + -status=>"$n $m", + ); + exit 1; +} + 1; \ No newline at end of file =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 20:59:38 1.4 @@ -20,7 +20,7 @@ #print STDERR "LSID is $ls\n"; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -35,7 +35,7 @@ $sth->execute($lsid); my ($namespace_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($namespace_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -75,7 +75,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - die Error::clientFault('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/PredicateResolver.pm 2004/01/15 20:59:38 1.3 @@ -22,7 +22,7 @@ my ($ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -32,7 +32,7 @@ # e.g. urn:lsid:biomoby.org:rdfpredicates:mobyOntology unless ($known_predicates->{$obj}){ - _die('LSID '.($lsid->as_string).' ($obj) Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -62,7 +62,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 20:59:38 1.3 @@ -27,42 +27,37 @@ my ($subj, $pred, $obj)= @_; return " \t<$pred rdf:resource='$obj'/> -"; +\n"; } sub rdfBnode { my ($subj, $pred, $id)= @_; return " \t<$pred rdf:nodeID='$id'/> -"; +\n"; } sub rdfBnodeResource { my ($subj, $pred, $obj)= @_; return " \t<$pred rdf:resource='$obj'/> -"; +\n"; } sub rdfBnodeLiteral { my ($subj, $pred, $obj)= @_; return " \t<$pred>$obj -"; +\n"; } sub rdfBnodeBnode { my ($subj, $pred, $id)= @_; return " \t<$pred rdf:nodeID='$id'/> -"; +\n"; } -sub _die { - my $m = shift; - my $e = shift; - die ($e, $m); -} our @EXPORT_OK = qw( @@ -75,7 +70,6 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode - _die ); our %EXPORT_TAGS =(all => [qw( $SERVICE_CGI @@ -87,7 +81,6 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode - _die )]); 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($relationship_type, $description, $authURI, $contact_email, $ontology) = $sth->fetchrow_array; unless ($relationship_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -79,7 +79,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/11 02:30:58 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceInstanceResolver.pm 2004/01/15 20:59:38 1.3 @@ -19,7 +19,7 @@ my ($ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -28,14 +28,14 @@ my $rev= $lsid->revision; # e.g. urn:lsid:biomoby.org:serviceinstance:www.illuminae.com,genbankcompletesequenceretrieve unless ($obj =~ /(.*)\,(.*):?/){ - _die('Malformed service instance LSID; should be of form urn:lsid:biomoby.org:serviceinstance:authURI,serviceName',500); + _die('MALFORMED_LSID'); } my $auth = $1; my $sname = $2; my $M = MOBY::Client::Central->new; my ($si, $reg) = $M->findService(authURI => $auth, serviceName => $sname); unless ($si && ${$si}[0]){ - _die('LSID '.($lsid->as_string).' ($obj) Does not exist as a MOBY service instance', 404); + _die('UNKNOWN_LSID'); } my $service = shift(@{$si}); # LSID is now fully validated. Carry on with metadata. @@ -205,7 +205,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 20:59:38 1.4 @@ -19,7 +19,7 @@ my ($class_db_params, $ls) = @_; my $lsid= LS::ID->new($ls)->canonical; unless ($lsid) { - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } my $authority= $lsid->authority; @@ -34,7 +34,7 @@ $sth->execute($lsid); my ($service_type, $description, $authURI, $contact_email) = $sth->fetchrow_array; unless ($service_type){ - _die('LSID Does not exist', 404); + _die('UNKNOWN_LSID'); } # LSID is now fully validated. Carry on with metadata. @@ -74,7 +74,7 @@ $RDF_SUFFIX?1:1; unless ($mdata) { - _die ('Metadata not available', 300); + _die ('NO_METADATA_AVAILABLE'); } return $mdata; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/lsid_resolver.kpf 2004/01/15 20:59:38 1.2 @@ -20,7 +20,7 @@ - + =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/11 03:50:31 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/metadata.pl 2004/01/15 20:59:38 1.4 @@ -53,22 +53,19 @@ sub validate_lsid { my $lsid = shift; unless ($lsid) { - _die('No LSID', 200); + _die('MALFORMED_LSID'); } unless ($lsid =~ /biomoby.org/){ - _die('Not biomoby LSID', 200); + _die('UNKNOWN_LSID'); } unless ($lsid =~ /^urn:lsid/i){ - _die('Malformed LSID', 200); - } - unless ($lsid =~ /biomoby.org/){ - _die('Not biomoby LSID', 200); + _die('MALFORMED_LSID'); } unless ($lsid =~ /biomoby.org\:(\S+?)\:/){ - _die('Malformed LSID', 200); + _die('MALFORMED_LSID'); } unless ($known_types{$1}){ - _die("unknown LSID namespace $1; known types are ".(join ",", (keys %known_types))."\n", 404); + _die("UNKNOWN_LSID"); } return resolve_namespacetype($namespacedb,$lsid) if $1 eq "namespacetype"; From mwilkinson at pub.open-bio.org Thu Jan 15 21:15:01 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:15:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152115.i0FLF1GC027616@pub.open-bio.org> mwilkinson Thu Jan 15 16:15:01 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27597/authority Modified Files: dbConnect.pm Log Message: wrong name for the object moby-live/Perl/MOBY/lsid/authority dbConnect.pm,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm 2004/01/10 22:15:21 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/dbConnect.pm 2004/01/15 21:15:01 1.2 @@ -1,5 +1,5 @@ #$Id$ -package dbConnect; +package MOBY::lsid::authority::dbConnect; require Exporter; From mwilkinson at pub.open-bio.org Thu Jan 15 21:18:50 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:18:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152118.i0FLIoQb027717@pub.open-bio.org> mwilkinson Thu Jan 15 16:18:50 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27686/authority Modified Files: ClassResolver.pm NamespaceResolver.pm RelationshipResolver.pm ServiceResolver.pm Log Message: bah. The subroutine is exported. moby-live/Perl/MOBY/lsid/authority ClassResolver.pm,1.4,1.5 NamespaceResolver.pm,1.4,1.5 RelationshipResolver.pm,1.4,1.5 ServiceResolver.pm,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ClassResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectclass:text-base64 my $sth = $dbh->prepare("select object_type, description, authority, contact_email from object where object_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/NamespaceResolver.pm 2004/01/15 21:18:50 1.5 @@ -29,7 +29,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($namespace_db_params); + my $dbh = dbConnect($namespace_db_params); my $sth = $dbh->prepare("select namespace_type, description, authority, contact_email from namespace where namespace_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RelationshipResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:objectrelation:isa my $sth = $dbh->prepare("select relationship_type, description, authority, contact_email, ontology from relationship where relationship_lsid = ?"); $sth->execute($lsid); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 20:59:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/ServiceResolver.pm 2004/01/15 21:18:50 1.5 @@ -28,7 +28,7 @@ my $rev= $lsid->revision; my $mdata; - my $dbh = MOBY::lsid::authority::dbConnect($class_db_params); + my $dbh = dbConnect($class_db_params); # e.g. urn:lsid:biomoby.org:servicetype:retrieval my $sth = $dbh->prepare("select service_type, description, authority, contact_email from service where service_lsid = ?"); $sth->execute($lsid); From mwilkinson at pub.open-bio.org Thu Jan 15 21:26:03 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:26:03 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152126.i0FLQ3ca027857@pub.open-bio.org> mwilkinson Thu Jan 15 16:26:02 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27834/authority Modified Files: Error.pm RDFConfigure.pm Log Message: bah moby-live/Perl/MOBY/lsid/authority Error.pm,1.3,1.4 RDFConfigure.pm,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 20:59:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:26:02 1.4 @@ -66,20 +66,20 @@ our @EXPORT_OK = qw( - _die + lsid_die ); our @EXPORT = qw( - _die + lsid_die ); our %EXPORT_TAGS =(all => [qw( - _die + lsid_die )]); sub clientFault {} sub serverFault {} -sub _die { +sub lsid_die { my $m = shift; my $n = $errornames{$m}; print header( =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 20:59:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/RDFConfigure.pm 2004/01/15 21:26:02 1.4 @@ -4,6 +4,7 @@ use strict; use base 'Exporter'; require Exporter; +use MOBY::lsid::authority::Error; our $SERVICE_CGI= 'http://localhost:80/cgi-bin/authority/metadata.pl'; our $RDF_PREFIX=" @@ -15,6 +16,9 @@ xmlns:i3csp='urn:lsid:i3c.org:services:'>\n\n"; our $RDF_SUFFIX= ""; +sub _die { + MOBY::lsid::authority::Error::lsid_die(@_); +} sub rdfLiteral { my ($subj, $pred, $obj)= @_; @@ -70,6 +74,7 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode + _die ); our %EXPORT_TAGS =(all => [qw( $SERVICE_CGI @@ -81,6 +86,7 @@ rdfBnodeResource rdfBnodeLiteral rdfBnodeBnode + _die )]); 1; From mwilkinson at pub.open-bio.org Thu Jan 15 21:34:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Thu, 15 Jan 2004 16:34:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401152134.i0FLYNQU027954@pub.open-bio.org> mwilkinson Thu Jan 15 16:34:23 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/lsid/authority In directory pub.open-bio.org:/tmp/cvs-serv27935/authority Modified Files: Error.pm Log Message: use CGI to get the header function moby-live/Perl/MOBY/lsid/authority Error.pm,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:26:02 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/lsid/authority/Error.pm 2004/01/15 21:34:23 1.5 @@ -2,6 +2,7 @@ package MOBY::lsid::authority::Error; use base 'Exporter'; require Exporter; +use CGI qw(:all); my %errors = ( 200, 'MALFORMED_LSID', #A syntactically invalid LSID provided. @@ -88,4 +89,4 @@ exit 1; } -1; \ No newline at end of file +1; From mwilkinson at pub.open-bio.org Sun Jan 18 03:45:23 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 22:45:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180345.i0I3jN5j003265@pub.open-bio.org> mwilkinson Sat Jan 17 22:45:22 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3246/Services Modified Files: LocalServices.pm Log Message: added a couple of new DragonDB services that retrieve allele collections from a locus name, and annotated image collections from an allele name moby-live/Perl/scripts/Services LocalServices.pm,1.50,1.51 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/11 05:51:10 1.50 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:45:22 1.51 @@ -8,6 +8,9 @@ use strict; use SeqHound; +use Ace; +use LWP::UserAgent; +use MIME::Base64; use SOAP::Lite; use Bio::SeqIO; use DBI; @@ -666,9 +669,6 @@ sub getDragonMutantImages { my ($self, $data) = @_; - use Ace; - use LWP::UserAgent; - use MIME::Base64; # prepare myself my $OS = MOBY::Client::OntologyServer->new; @@ -684,30 +684,39 @@ ################################### # now start retrieving the input data - my @input_nodes = getInputArticles($data); # returns ([obj1, obj2], [obj3, obj4], [obj5], [obj6],...) + my @input_nodes = genericServiceInputParser($data); my @inputs; - foreach (@input_nodes){ - push @inputs, $_->[0]; # we only allow one input object per query - } # Start iterating through the queries my $response; - foreach my $node(@inputs){ - + foreach my $input(@input_nodes){ + my ($articleType, $qID, $node) = @{$input}; + unless (($articleType == SIMPLE) && (defined($input))){ # we only accept simple inputs to this service + $response .= collectionResponse([], "", $qID) ; # send back a blank response for this queryID + next; + } my $namespace_LSID = getSimpleArticleNamespaceURI($node); # get the LSID of the namespace for this input object unless ($namespace_LSID eq $nsAllele){ # validate the namespace - $response .= collectionResponse([]); # because we have to send one response per input, send a blank if bad namespace + $response .= collectionResponse([], "", $qID); # because we have to send one response per input, send a blank if bad namespace next; } my ($Allele)= getSimpleArticleIDs($namespace_LSID, [$node]); # get the ID within this namespace unless (defined $Allele){ # send a blank if we failed to get an id, - $response .= collectionResponse([]); # because we have to send one response per input + $response .= collectionResponse([], "", $qID); # because we have to send one response per input next; } # Prepare query on DragonDB with that allele name + + +# my $q= qq{select Gif from Gif in object("Allele","$identifier")}; +# my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); +# my @res = $db->aql($q); +# + + my $query = qq(select Gif from Gif in object("Allele","$Allele") -> Phenotype_picture -> Pick_me_to_call[2]); - print STDERR "QUERY TO DRAGONDB WAS $query\n"; +# print STDERR "QUERY TO DRAGONDB WAS $query\n"; my @jpgnames= $db->aql($query); # I really need to learn AQL better so that I can also retrieve the # Locus as a Cross-reference, and the Sequence as a cross-reference! @@ -726,13 +735,101 @@ push @simples, "$image_data"; # push it onto the collection list } } - $response .= collectionResponse(\@simples); # after all images have been collected, create the collection + $response .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection } $response = responseHeader() . $response . responseFooter(); # now wrap the collection(s) with the appropriate headers etc my $SOAPResponse = SOAP::Data->type('base64' => $response); return $SOAPResponse # and return them. } +sub getDragonSimpleAnnotatedImages{ + my ($caller, $data) = @_; + my $MOBY_RESPONSE; + my (@inputs)= genericServiceInputParser($data); # ([SIMPLE, $queryID, $simple],...) + return SOAP::Data->type('base64' => responseHeader("illuminae.com") . responseFooter()) unless (scalar(@inputs)); + + my @validNS = validateNamespaces("DragonDB_Allele"); # ONLY do this if you are intending to be namespace aware! + + foreach (@inputs){ + my ($articleType, $qID, $input) = @{$_}; + unless (($articleType == SIMPLE) && ($input)){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } else { + my $namespace = getSimpleArticleNamespaceURI($input); + my ($identifier) = getSimpleArticleIDs($input); # note array output! + my $q= qq{select Gif from Gif in object("Allele","$identifier")}; + my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); + my @res = $db->aql($q); + unless ($res[0]){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } + my @simples; + foreach (@res){ + my $Allele = shift @{$_}; + my @Alleledesc = $Allele->Description("Phenotype"); + my $Locus = $Allele->Source("Gene"); + foreach my $pic($Allele->Phenotype_picture){ + my $picdesc = $pic->Description; + $picdesc = $picdesc."\n".(join "\n", at Alleledesc); + my $img = $pic->Pick_me_to_call->right; + $img =~ s/([^\w\-\.\@])/$1 eq " "?"+":sprintf("%%%2.2x",ord($1))/eg; # URL Encode the image filename + $img = "http://antirrhinum.net/ace/images/DragonDB/external/".$img; # make the URL + my $ua = LWP::UserAgent->new; + my $req = HTTP::Request->new(GET => $img); # get the image + my $res = $ua->request($req); + # Check the outcome of the response + if ($res->is_success) { # if successful, then base64 encide the data + my $image_data = encode_base64($res->content); # and create the simple image object + # push @simples, "$image_data"; # push it onto the collection list + push @simples, qq{ + + + $image_data$picdesc}; + } # no else + } + } + $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection + } + } + return SOAP::Data->type('base64' => (responseHeader("illuminae.com") . $MOBY_RESPONSE . responseFooter)); +} + +sub getDragonLocusAlleles{ + my ($caller, $data) = @_; + my $MOBY_RESPONSE; + my (@inputs)= genericServiceInputParser($data); # ([SIMPLE, $queryID, $simple],...) + return SOAP::Data->type('base64' => responseHeader("illuminae.com") . responseFooter()) unless (scalar(@inputs)); + + my @validNS = validateNamespaces("DragonDB_Gene"); # ONLY do this if you are intending to be namespace aware! + + foreach (@inputs){ + my ($articleType, $qID, $input) = @{$_}; + unless (($articleType == SIMPLE) && ($input)){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } else { + my $namespace = getSimpleArticleNamespaceURI($input); + my ($identifier) = getSimpleArticleIDs($input); # note array output! + my $q= qq{select Locus->Allele from Locus in object("Locus","$identifier")}; + my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); + my @res = $db->aql($q); + unless ($res[0]){ + $MOBY_RESPONSE .= collectionResponse([], "", $qID) ; + next; + } + my @simples; + foreach (@res){ + my $Allele = shift @{$_}; + push @simples, qq{}; + } + $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection + } + } + return SOAP::Data->type('base64' => (responseHeader("illuminae.com") . $MOBY_RESPONSE . responseFooter)); +} + ############################################################### ###################### for My Machine Only ################### From mwilkinson at pub.open-bio.org Sun Jan 18 03:51:32 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 22:51:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180351.i0I3pWgF003359@pub.open-bio.org> mwilkinson Sat Jan 17 22:51:32 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3340/Services Modified Files: LocalServices.pm Log Message: missed the closing tags on some elements moby-live/Perl/scripts/Services LocalServices.pm,1.51,1.52 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:45:22 1.51 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:51:32 1.52 @@ -785,7 +785,7 @@ # push @simples, "$image_data"; # push it onto the collection list push @simples, qq{ - + $image_data$picdesc}; } # no else } @@ -822,7 +822,7 @@ my @simples; foreach (@res){ my $Allele = shift @{$_}; - push @simples, qq{}; + push @simples, qq{}; } $MOBY_RESPONSE .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection } From mwilkinson at pub.open-bio.org Sun Jan 18 03:54:53 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 22:54:53 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180354.i0I3sr3b003435@pub.open-bio.org> mwilkinson Sat Jan 17 22:54:52 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3416/Services Modified Files: LocalServices.pm Log Message: missed the closing tags on some elements moby-live/Perl/scripts/Services LocalServices.pm,1.52,1.53 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:51:32 1.52 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:54:52 1.53 @@ -786,7 +786,8 @@ push @simples, qq{ - $image_data$picdesc}; + $image_data$picdesc + }; } # no else } } From mwilkinson at pub.open-bio.org Sun Jan 18 04:00:25 2004 From: mwilkinson at pub.open-bio.org (Mark Wilkinson) Date: Sat, 17 Jan 2004 23:00:25 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200401180400.i0I40P5p003510@pub.open-bio.org> mwilkinson Sat Jan 17 23:00:25 EST 2004 Update of /home/repository/moby/moby-live/Perl/scripts/Services In directory pub.open-bio.org:/tmp/cvs-serv3491/Services Modified Files: LocalServices.pm Log Message: removing a service that I just re-wrote to give better output moby-live/Perl/scripts/Services LocalServices.pm,1.53,1.54 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 03:54:52 1.53 +++ /home/repository/moby/moby-live/Perl/scripts/Services/LocalServices.pm 2004/01/18 04:00:25 1.54 @@ -666,81 +666,6 @@ ################################################# ################################################# -sub getDragonMutantImages { - - my ($self, $data) = @_; - -# prepare myself - my $OS = MOBY::Client::OntologyServer->new; - my ($s, $m, $nsAllele) = $OS->namespaceExists(term => "DragonDB_Allele"); - - unless ($nsAllele){ # unless we could get the known namespace LSID's we should bail because somethign is very very wrong! - print STDERR "the namespace DragonDB_Allele does not exist in the MOBY namespace ontology\n"; - return SOAP::Data->type('base64' => responseHeader() . responseFooter()); # base 64 encode it (optional) - } -# make the database connection once - my $db = Ace->connect(-host => 'bioinfo.usask.ca', - -port => 23100); -################################### - -# now start retrieving the input data - my @input_nodes = genericServiceInputParser($data); - my @inputs; - -# Start iterating through the queries - my $response; - foreach my $input(@input_nodes){ - my ($articleType, $qID, $node) = @{$input}; - unless (($articleType == SIMPLE) && (defined($input))){ # we only accept simple inputs to this service - $response .= collectionResponse([], "", $qID) ; # send back a blank response for this queryID - next; - } - my $namespace_LSID = getSimpleArticleNamespaceURI($node); # get the LSID of the namespace for this input object - unless ($namespace_LSID eq $nsAllele){ # validate the namespace - $response .= collectionResponse([], "", $qID); # because we have to send one response per input, send a blank if bad namespace - next; - } - - my ($Allele)= getSimpleArticleIDs($namespace_LSID, [$node]); # get the ID within this namespace - unless (defined $Allele){ # send a blank if we failed to get an id, - $response .= collectionResponse([], "", $qID); # because we have to send one response per input - next; - } -# Prepare query on DragonDB with that allele name - - -# my $q= qq{select Gif from Gif in object("Allele","$identifier")}; -# my $db = Ace->connect(-host => 'bioinfo.usask.ca', -port => 23100); -# my @res = $db->aql($q); -# - - - my $query = qq(select Gif from Gif in object("Allele","$Allele") -> Phenotype_picture -> Pick_me_to_call[2]); -# print STDERR "QUERY TO DRAGONDB WAS $query\n"; - my @jpgnames= $db->aql($query); - # I really need to learn AQL better so that I can also retrieve the - # Locus as a Cross-reference, and the Sequence as a cross-reference! - my @simples; - foreach my $jpg (@jpgnames){ - $jpg = $jpg->[0]; - $jpg =~ s/([^\w\-\.\@])/$1 eq " "?"+":sprintf("%%%2.2x",ord($1))/eg; # URL Encode the image filename - $jpg = "http://antirrhinum.net/ace/images/DragonDB/external/".$jpg; # make the URL - my $ua = LWP::UserAgent->new; - my $req = HTTP::Request->new(GET => $jpg); # get the image - my $res = $ua->request($req); - - # Check the outcome of the response - if ($res->is_success) { # if successful, then base64 encide the data - my $image_data = encode_base64($res->content); # and create the simple image object - push @simples, "$image_data"; # push it onto the collection list - } - } - $response .= collectionResponse(\@simples, "", $qID); # after all images have been collected, create the collection - } - $response = responseHeader() . $response . responseFooter(); # now wrap the collection(s) with the appropriate headers etc - my $SOAPResponse = SOAP::Data->type('base64' => $response); - return $SOAPResponse # and return them. -} sub getDragonSimpleAnnotatedImages{ my ($caller, $data) = @_; From nwnhavxe at kovugcfrhct.yourmakeup.info Tue Jan 20 11:07:01 2004 From: nwnhavxe at kovugcfrhct.yourmakeup.info (Lzmt Qp) Date: Tue, 20 Jan 2004 04:07:01 -0700 Subject: [MOBY-guts] Modern Miracles Make Your Face Look Years Younger? In-Reply-To: <0W07.VxKH-PDCB$KRxVxKH.xAP.X00Z0Z> References: <0W07.VxKH-PDCB$KRxVxKH.xAP.X00Z0Z> Message-ID: An HTML attachment was scrubbed... URL: From sam at moonlight.co.il Fri Jan 30 16:29:14 2004 From: sam at moonlight.co.il (sam at moonlight.co.il) Date: Sat, 31 Jan 2004 00:29:14 +0800 Subject: [MOBY-guts] Hello Message-ID: <200401301633.i0UGXwEs011844@portal.open-bio.org> The message contains Unicode characters and has been sent as a binary attachment. -------------- next part -------------- A non-text attachment was scrubbed... Name: message.zip Type: application/octet-stream Size: 22796 bytes Desc: not available URL: From Mailer-Daemon at jupiter.myacen.com Fri Jan 30 20:19:40 2004 From: Mailer-Daemon at jupiter.myacen.com (Mail Delivery System) Date: Fri, 30 Jan 2004 20:19:40 +0000 Subject: [MOBY-guts] Mail delivery failed: returning message to sender Message-ID: This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: smith at esperanto.org.nz This message has been rejected because it has a potentially executable attachment "vxlqh.scr" This form of attachment has been used by recent viruses or other malware. If you meant to send this file then please package it up as a zip file and resend it. ------ This is a copy of the message, including all the headers. ------ Return-path: Received: from [202.127.20.131] (helo=biomoby.org) by jupiter.myacen.com with esmtp (Exim 4.24) id 1Amf74-0006rG-T9 for smith at esperanto.org.nz; Fri, 30 Jan 2004 20:19:39 +0000 From: moby-guts at biomoby.org To: smith at esperanto.org.nz Subject: HELLO Date: Sat, 31 Jan 2004 04:19:58 +0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0013_67B11BA0.4B4868A2" X-Priority: 3 X-MSMail-Priority: Normal Message-Id: This is a multi-part message in MIME format. ------=_NextPart_000_0013_67B11BA0.4B4868A2 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit ------=_NextPart_000_0013_67B11BA0.4B4868A2 Content-Type: application/octet-stream; name="vxlqh.scr" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vxlqh.scr" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUA AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABQAAAAEAAAAGAAAGC+AAAAcAAAAMAAAAAASgAAEAAA AAIAAAQAAAAAAAAABAAAAAAAAAAA0AAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQ AAAAAAAAAAAAAADowQAAMAEAAADAAADoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAABgAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADg VVBYMQAAAAAAUAAAAHAAAABQAAAABAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADAAAAA BAAAAFQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkCCUh+iY/UNhyBKZYAAFNOAAAAgAAAJgEAxe6H ApIAUCZKAEAD/bJpmiwQBPQl6AEAS85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFhQzWCf aUgARAc4MDRN03QDKCQcGBDTLLvXCCMD+Cnw6E3TNE3g2NDIvLQ0TdM0rKSclIzONk3TiHxwaClv XKbpmsEHVEwDRDiapmmaLCQcFAwEaZrObfwofwP07OSmaZqm3NTMyLyapmmatKykoJiQZ5umaYyA eHAoe2jebNN1B1wDVEwo//sLdrb740APNCj3LC8DmqYZ+SQoShwUDARpms7sm/wnA+zo4KZpmqbY 1MzIwJqmabq4J7CsqKCYaZqmaZSMiIR8pGmapnRsZFxUaZqmG0wDREA4MKZpmqYoIBgQCJqmc5sA +CbPA+jg2Gebzm1UNEMDQDQ024r/////nVrQ2uX0Bh8zTmxyTtgCl1+SyAE9fL5DS5bkNYngOpf/ ////91rAKZUEdutj3lzdYehy/48iuFHtjC7TeybUDTnwqmf/////J+qweUUU5ruTbkwtEfjiz7+y qKGdnJ6jq7bE1ekAGjf/////V3qgyfUkVovD/jx9wQhSn+9CmPFNrA5z20a0JZkQigf/////hwqQ GaWlqP7yw9Ko+BIsSmuPtuANPXCm3xtafOEnVcn/////EmC+GGXVOJ4Xc+JUiUG8muM/xlCNbQCW T8tqDLFDerL/////cxfOiEcFyIpXI/LEmXFMLgvv1sCtnZCGD3t6fJGJlKL/////s8fe+hU1WH6n wwI0eaHcGluP5jBtzSB2zyuK/FG5JJL/////A3fuaOVl6G6Xg4N2jJWhsMLX7wooSW2UvusbToS9 +Tj/////er8HUqDxRWyWU7MafOVRwDKnH5oYmR2kLrtL3nQNqUj/////6o834pBB9axmI+OmbDUB 0KJ3TyoI6c20not7bmRdWVj/////Wl9ncoCRpbzW8xM2XIWx4BJHf7r4OX3EDlur/lStCT3///// mnenAnDhVcwGw0PGXNVhYWRqc3+MoLXN6AYnS3Kcyfn/////LGKbVxZYfbBgJv4jetQxkeRawy/O EIX9dPZ3+4AMmSn/////vFLrhybIbRXAbh+TikThlNQSId+ugFUtGObHq/J8aVn/////TkI7Nzg4 PUVQXm+DmrTR8RQ6Y8++8OVstuQjW/e8Yaj/////0DuJ7nM8Y/iZ4MVLkRehId4isz8/VEhRe29+ 1s/ZbpX/3/7/KQMj6ZQJv+bzpUEQpnwyaWuAIQstx07SEIJs+f////9zp3feFIcHB/tSqgFhwCyb 9yaW3ZedImAPRp7N/SxAf/////+TstLxCSBYdmhjXVBSUVNqZHcBLMXvVDC8VxE8zp1Xbv////8g 461g2tFSFc5mX7dBwBTkZZOfeP5yDbznapV7exN2dv////99HA0t8vb0sPHR53n63Uxlo/8nbIzd C9uMG6m9dYc7T//////bFIJCFAlFzIIP+mK3KXP7FYPnHpN+tCRpKf+9KMvqTv//7f93Djqwv/dU 1OxzmAFNBp3yoq/CYvPlXjffBXFS/////wf4G0B+VD6nqU8sAn0wyOcG0lQqGmtMAZ0E9mr6HccG /4X///gdkASrlgAGBhAr75nUTv8XeAuTxvh1IYyk/////1//zHJr62/+pf3s0EHJeJHZxKwmx+jg qbcaXW/sKRCj/////7zz7fVvUSE1jdZTHEgpGOO3XD+duM3QUlXjtUPqvmfj/////6CgMuLOSTok LzAKj66E4XVAoWKYsvUwSuDj/5GBwScH/////3eIZ49Us4UI4v6CRathjnTauyo4rvBK1BicF4pI wrW8/////577H1bmbpDgO0ezoBq30qq8xPeTSKYBwAT/BhKLXanY/////72UMfgf6FpjPt/WCspC 1QxeYEly9fSu9FMX/BYV8o6a/////3NwPIKx4o43W1MWoieUVFissTU3Pqp1ZZUhbusahIFq//// /+YKGD86lZ+BguNzpEc9CQLWLojCp9U/ilzqn1Y7Xz1K/9L//8N5X0MJuPCrms4esoXZS8HUO17P 3/ZH+Ur3/////9j7LbSKZ2L/WK0RjCL3W8tY34X8rOBl2uuXlOJgCO8//////zzj7H8QjmB+3U2b 5J0FG5d628yz+zePJfE5HbJ8GvUd/////x+9n+nG6unrPtmWcP072kUl9vOk59YEIUw5/lukh4mS ////C53TsFuNKjZCG8rR5DRQrMMcxeFmimxbM1FC/////+0+I6ti1+6U9DSy6dVJrF4mrrxteWeV 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 crwJvcwCW7cWeN1VsB4PA3r/////9HG6MajNSkMhKg9pcAJjOtLilKlpeUWJvnwlhZFVDsH4t/7/ 7R5TtUTu32jxRzKWf4wdW8glqXzVJrP//1u0gNK1BGKCbhyK5Eyi3QBRuaXpLv9/i8ZLcIdXPCdp e2iJlaKAnebr84n/3/jbf21bDAv5g+gRI57fC0aEaDFQmuc3iv//Df7gOZX0Vrsj2m3hWNJPz1LY Ye3t8Pb/Cxr//y/9LEFZdJKzmShVhbjuJ2Oi5ClxvApbrwZgvR3/Fl/qgOZPjpwRiQS6hw6YJbVI 3v////93E7JU+aFM+qtfFtCNTRDWn2s6DOG5lHJTNx4I9eXYzv+F/v/Hw8LEydHc6vsPJkBdfaBP G0p8sekkYqP/Av//5y54xRVovhdz0jSZAWzaSwCwLa0wtj/L//+N/svO1N3p+ApAUnCRtdwGM2OW zAVBgMIHT/9S//+a6DmN5D6b+17ELZkIeu9nU+Fl7HYDkyb+X+r/vFXxkDLXfyrYiT3oayvutH1J GOq/l3Lo//+XwBX85tPDtqyloaCip6+6yNntBB47W/X//19BzfkoWo/HKHN5bmMuYyx2IDAuMSAy MDA0/SPbb5MxL3h4IAI6IGFuZHkpAHu7BRvMAi0MAAUcADkJzhD/mQ8BABAACQAS1wMHIX77ZnV2 enRNdi5xeXk3RmL9v/v/c2dqbmVyXFp2cGViZg1cSnZhcWJqZlxQaGV/+f+/F2FnSXJlZnZiYVxS a2N5YmVyZWJ6UXl0M7f4LdgyXBlDanJvRnZrRnq6v/32Z2tGMFNnbmZ4ehcucmtyAEcLWis0BfYj Z0V5l5b/9r9ub3RlcGFkICVzC01lc3NhZ2UALCX7mNsPdRIFLjJ1OgSKbnvPFAYDLy0/K/tv/29D ZWMATm92AE9jdABTTQBBdWcASnVsA7a5261uU2F5D3ByBwNGkLe/XbYTYVNhJ0ZyaQBUaERXZfbO 3bZkB3VzTW8XL2FiY2Sf+8Jv/2doaWprbG2ccHFyc3ROd3h5emf2//9/QUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVobte3W2la412NnVAJQ3Oha4bYIcA5xRiAFn2ocPoJbAHYajmFoeHLd98K2PZNi 7naaXyducHgPoXD4t55iZ3h2Z0tDwwdp3y78fy10dmV5LTIuMG9xcIxfY05wdXJmmaHdCjNcdmkL RDvZ1r5tSGRWLVHgeXPnnvv+bnpjNQB0Z2FbXymPgll27nNjXwdwaS7l3g4Y21FnMCNYbvpuXEcr 3NreW2Fmc9UACmhsoy12gVd8LmRsbLPdUXUmbsnK9nlfQQtkGTB0TrDQatwCd28P8Oht5dYcztFr tgsHbGn8/Nu+YZd1CWUHaW1teWVycjMNbeMbbG4EZA9F3i7wY2wzZGk4YnJl773lt0ZuPgBhYz8X 227D1xo6aBd0x2ZyBIXZCH9TYWNrX2mvwStE/ms9D3NtaXRoW0PeK1/jbQdCAA4HaIzs3iZqb2U/ bmVvL6+1ztTxCyVw2AdnzT23tW9uz3k7tksVvffGGmyPaWTXGx9i3c6582VvT3NLBmV3HIWCcy+u 2iLmtc/w+3dpsGtlzo9pCVAaK52/bQkPYyNHdg+uF/O5AEtobmNjGO4Kjm+qI5lpZmnNrT1dO1/V i3ZuFVDvrbl/m3VwcG+8IcVzb2br8E5jDS9ta3Boz9e9b7p4LmIPZ29sZC1QeGO8JMOYYWZlJUNi NafjMNhDo3DzdoW7aK3QWmeLBluvgjl3WCtkDycfaxBbttaliR90aUqMksHRN3S2K58b2OG1bm0V eckDWkfvew7Db3rBBnNoMOX23msHXQ8Wk3dlDGvtuWGeNOAIDBa7GTZbcGw5M2Zvby9b+MKxhwoK w19sb3lHOnOW2s1xb3oV4HV0/9ouvrZrMTCkMHJkDE9n61rB0eI+7VLnY5gbW6AQWplvB2kjGk6N FvYNN+ZujbXm+AdzooNWc2bYTu0rtVRpQWIHYQqG5s63dSQSV/GN0OL0Sg/0+3I017auFzlnq2e7 L9rgLTkaBWN4Zlq6nqFgYx+Ady9kjhjHPrNoT25pE50jt7Omazp55wo3b28uYm72vW2PV3YPCJ/m 2sHRiCpLh7NPhgiN2XkHYTw7OrQfDdVz+3JsupPbJsVY/G8vvwx06htGrBTd+lsnL9CadHltn4iX Ll8hO7jvewsHQBNi/bcAtBG2Wp/Eeutw44Wy7zV9dQsjIACBfEVGbigAKab57lEgAge8LUoAAbiS k4N8D7T8KrBAmgEZrAOopBuQZgSgBl+YhS3pBgUPkLHJtoFdAgsMAQDNUthgEgEAPZ2qbJEfACZu lByHLW1wBztEdx3NxmNFKEApr0BAtyAWCMUwu19/qX0tIgM0BGwgU3Z5ciCWSl+NQftPdxBPbAHz xAeLYmj3dN8Ugzb5ZGJ4cceL/NSieX7Lc2h0Bv+/NXZtYi94SCouKgBVU0VSUFJPRknFFgv8TEUA WWJwNSDVZ2qV+LUWYXlHcv0bw9iw6FogmYJmCv///+Q6XJYwB3csYQ7uulEJmRnEbQeP9GpwNaX/ ////Y+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By3/////uOeRHb+QZBC3HfIgsGpIcbnz 3kG+hH3U2hrr5N1tUbW//P//1PTHhdODVphsE8Coa2R6+WL97MlligEU2WwG9P//Brk9D/r1DQiN yCBuO14QaUzkQWDV////LylnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtb/v9D/ybvbQPm8rONs 2PJc30XPDdbcWT3Rq6ww//+/wNkmzd5RgFHXyBZh0L+19LQhI8SzVpmVuv/////PD6W9uJ64AigI iAVfstkMxiTpC7GHfG8vEUxoWKsdYf/////BPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXk v/z///+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJf/Ev9LJpEBXGPm9FFrazdsHNgwZYVO ////Ai3y7ZUGbHulARvB9AiCV8QP9cbZsGVQ6f7///+3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU +1hhsk3O7f8XFiw6ybyj4jC71EGl30rXldhh/////8TRpPv01tNq6WlD/NluNEaIZ63QuGDacy0E ROUdAzNfrf7//0wKqsl8Dd08cQVQqkECJxAQC76GIAzJ/v//v/FoV7OFZwnUZrmf5GHODvneXpjJ 2SkimNCwtP////+o18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmv/////SsXQ5R9Xqr3fS nRUm2wSDFtxzEgtj44Q7ZJQ+am0NqP83+P9aanoLzw7knf8JkyeuZrGeB31Ekw/w0qP/Jf7/CIdo 8gEe/sIGaV1XYvfLUoBxNmwZ5wZr/wb//252G9T+4CvTiVp62hDMSt1937n5+e++jv////9DvrcX 1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pv/////dBrU/SzaySNorDdhMGwqv9koDNmB6BEHD 72DfVd9nqP/////vjm4xeb5pRoyzYcsag2a8oNJvJTbiaFKVdwzMA0cLu/////+5FgIiLyYFVb47 usUoC72yklq0KwRqs1yn/9fCMc/Qtb/R//+LntksHa7eW7DCZJsm8mPsnKORCpNtAqn/F/j/Bgmc PzYO64VnB3ITVx6CSr+VFHq44q4r/////7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz /v9/od2Ug9ofzRa+gVsmufbhd7Bvd0e3GOZa/7f6N31wag//yjsG+QsBEf+eZY9prmL//9/4+NP/ a2HEbBZ44gqg7tIN11SDBE7CswM5YSb/////Z6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3 U67/////vKnFnrvef8+yR+n/tTAc8r29isK6yjCTs1Omo7QkBTbf6v//0LqTBtfNKVfeVL9n2SMu emazuOzEAhto/////12UK28qN74LtKGODMMb3wVaje8CLVRSRyAvIFVHR0MvVrdv/TEuMQ0KVbNn OiBqAC5maj1qzdUubRIBc8CBsZYRMx4DIIN0G7MPByAcNIM0zRQKDAQFZpBm2fwzEfTsGaRpmgDo MuTgBmmapg/cBdjUBRtswC8MByNXSNMM8gfQyAiwSNMMMpiICoBFgQM2eE9SZa0WcBvgm6toZgcr acYDBt4CIEVyPZRayQY4QIFWCXXWcgVK8UUQsBdcwG11UQN2LWNGbPRuIyw9ciB1EnliBxO0HTVt b7tweisfbBT5BUNlAGN2c85xtW2DCM8MZlV0G27yV606PadxbmdhtMBkewcXa9sASnCsdSZxLwto ekVHcBvEazZ6hptsbmILQ2gNpfphCbVGZw26GyXnAu7Qqe736GMnt+v3YKEH3/1jVyPQ1lypGBAK BE1raqHW4CCX8XO9acUKcCF3IGYQqy4g1qORYNsPYRttqCAoagNXaCDvG89sWatHcBBPJB6o0UYq /2lFZpRr3dasC2QQaEBShda6wHjNIA0HZZprTbVlXxt0ERQOu9oK0C5YCHQ4aG1VS9lzFlZXPO21 hc4aOiB7cAI9nfa3dmuMRzctPxdBU0NJSSAUBsJcuXI9aXQgCWau823r/09hQSEwMTIzNDU2Nzg5 Kx//Jr0vQ0IHSy1aRjEta0u1xkNlQwLpOqUH/LLYQrx5GxQzAAlivIXdAtpkmT0ikiI7rXDDFk5n 8C1HbLsheKNU43poeYZDmy96doT47d1WcTthA1pWWlItWFzrltoj0DATUfsvXAtaz39GaJSSDt23 8d0LR2IVU/Z6By0APfPTvbVfagIuM3UENDhYLmGHrb47Thh09s+/Ya21LSsD2T8lZmBpYWSjeWMX cAqtNb6gL64YFy7tDO06v3qsCWEC2mYijc+CgDRnLVJhrdk3motxvkE4ZnI2NCLhXit9UXZmj9xR Xqd3Wmrji3UEUCxFNiFgVA+ftNe2p1cvom5qQEqcEW0rTW1nP6ctrL3ILsU1Mp43b4picEK3HUd1 miACbpktodGC9Jog2BdmmX7Yh8Z162culVFVSVT6887NpxIPREFUQUVQQ0dv/dvea0I6PLI+D1pO VllvRUJadue3ZBHSVVJZQiALUlXVgNdLVG+7OIxmLfDLWtUgyJfbTkYDEE5w0GgMGmzXWqPgrWVc D2aC9bXFe+dlNW471gFnu+VheQoAADELhnjvHXggBxFjfzb23nRwCCMHeChVi+yB7Pn//8YIBI1W M8kz9jlNDMZF/8d+aFeLPVQQSv//f3WB+bFyFY1F+GoAUI2F+Pv//1FQ/3UQBuK3ErYvi0UIu4Uj RLv77QQGMjVBiIQN9x6LxpkGYP9vvwKyA/bqABVGO3UMfLmFyVt0E0Mlx7EPX17Jw4EsAfrGRJSI byLsaEwkie/+7r/ONlqLdQiLHXiGWTP/WYm+DCOJfQg5m/tyawJD1P51DmgYEkkV22yxu3Qj6wxQ Dg1wgL0h7LrZ1jlxKiNsFY2N3e/Z/0mAPAhcdA4ZaEhu/9N5UNif+GEr01dogGICV2oDJX/TmSAN RGiL+IX/dAWD2zaTdX8jXGSD+BE3qPL2bWH/FIOhAg+MVEr/60EvYtugAgAEFKJzb7P9KNyDxAxX L2DHhtACuvdg5mwKCwJSjUYIVrKzx05c9wF1FBJYOcIbFl4tP1tAjWwkjEILL5nkiABgfXw82y1s 3S8fiF1/vjGAHnAnGZvu/848J1NQikV/9tgbwAPGWQSFwJt7/+10Vf4TgH1/AnzVxwecOCpsMmW7 v1A3U2gGOFNTOhRhZls4dQkAcAwAQ8PJ2t3FoIPFdKMZ6+3v303ydoPsQKbAaKRZDllQagFq3WYz Db6ABXwtt3/3HuRgdGRAJTQC6Gi02JULyzsyzP3maAQ2HGb7DlM8kJzDXLzhfhH0HgUQG3WJRfzN suG4izVUSl1d0BH+DiU4nSEPhKmd5EAOjNBN0NA9O6y71qFQK9YIaiB5BuPUNoxTXFPQZtzxITvD dDJIdC1QJLNCsslwiAx68GG8Iw13hOsQGIeHPZMxD4UZDCB1D+bAcP0zpE/QLnkjyWjIQFBowDU9 dGw8F7UQAL/+UDrao+kux2hN3DEWpYNM5hoVAXUtvcI24eF8gcZ1Vi7iVuCGGcO5XCUNCBYXI0ZL lCYbam3YOl3w8ZgyUMgFJLxwhM5sEpTX9DvEdgUzWLbWfhVzBAYFEvjwJrms0SYqQfjw7OVARhT8 9HIaNmfhdfdyEudcN2jn/pxy4xyM7m5kBF6c/hjvGMtXUF+InQ4aseQ5cpyAAZxADuTjYSCcnBNG 5NkNBCUSnJsjySDAtGMH2dxmMNoI/htfVMC/2pZsx8Jegf/8AXc2x9KlGPQdQfzw/9+1h/DWJuEy HQ+3wGpMmVn3+YXSYQ/2+3UTxoQ9JQ1HCArrGiT/sf/0mbnvdvmAwhCIlBxH/034dZs7+5ubDdh0 EmBXXASMYE73DTPTHvvo+Hp8u9zBPBFqRDegX1dTUaBwa5RLS6dN5Le21q1dyqBRCANTQFHhzNV2 m5W3OCVTZtbQ1vRkq1+RqBBqoOQOek/o3qRlCNZ2dA1wNTRNSRz2oMy5UXsHZnMjDbBBVolGBHfS I2ywKp9KrDM5Plkf47a13VYSK05cCmoPdA/BaO0CZfyq9z0gBuz7+xX/HSleBS1qWSRFL87AyG+E FyzTrMgHbnKw3TiyBEzDP9lcEyYlZMdRLlZWQXncHk4/WcQDd3ERxDz8Xs1CwfwrfGjjwxFMk+Ao ML4oSiwztnuNffClAL44C+AFeMC0G6UjL62gO7QwEclNAWF40OTmuFAATNSEZgbYgI4cOXLcfOB4 5HTocMiRI0fsbKRoqGQcOXLkrGCwXLRYuFSRI0eOvFDATMRIC3PkyMhEzEDQPATH9nBS1MQIGwuc PVsvyFIIocAQ4zxN9zYj8Im1BRK4i/9Lb5yN+wJ1BbKYA8j32YvBeQKb41tL7Gbh9AZ2Bi0GAMiu fbdm6fJ1C/L4GPIMu3cvtQY+zrk4gH0FuTQGajzvW2j8mV73/lJQ57FRBfoE0914nvjw8laFoAz2 MOPjzfTUaAwldgzKt89wsWcwslyjsIEEw6HpPfZ/BWnANU5aAUARZqGyF063HtIHyMHhEFkLwapE JPx3//8EVusli1QkDIvwhMl0EYoKBQs4DnUHRkKAPn2LWy8n7zvyK4A6uQlAigiFHlu6GnXVKF41 6wc6Gfu77ewIdAcW8wUqDvbZG8n30SNX0ie2R/X1EB10MZD2JdfdDKqLXQz4uhAPtjgCHfxB1wNm V/3WWUMcWUb7vcCLTQTBdQ0zddhjmkDMbSBS6/ZJFJu7xNJZXU1EVQxDk4pW4vbSAYSKCDoCGEFC xFDRTuDbAQIKK8FdcCR2aOtvbGkIbol1+IA/AKNIrUO/dc73PiYPhTG1JL+AWbpGDSMjSUYPvgQ+ f3PPFzcRWVwOiEQd3ENGoP3W/oP7D3LigGQKJck4TdyJfxvfYvte3C8QMQyJgDgfTKMbOfdK0HXw F09aAUZZC5b7fQ+OzgBUahQoY/j27VCTnz1dliBd3YgZQUf74usWuNwlbAi0Z6O2iFANKch9a9ju PgtUi138ICvzUK70bHh5Fnps8PB0USsD8z8I/BvgHD6NNAgD9+HPK8s78xu/tW+NCAFzG/eFfiuL wysxA+0btW8vihQziK338Xz167vu3778Qf+FwHwPBiveQBkLiBFJSHX3ZuFbGAYoGVANjQ95WHCf uXS2nvgtACbloGO691umJpCRSRpnGPwb/IUHZSWbVkQ3AYsdHNkMC87E+9Nc2+pswRyCcRgM6ChD MtZR6FkgyYC//du3ZTJGPEFZKOl8DDxafwgbyIPpN+sf1tqxBgcwij8cGMCD6Ggo/TsHMMHgBJ0K fBS6aVtJCEPp2eiITQjB8EMoUU10QQPDSUPNT8JCSzhGzjvejUQR3PAXbot+ISWKDogMM0Yk6xRI ySHNJzoYK/MO6IMMSTMI6PzntlI7J/xebTR0s72z1wQDPAMS7TjI9OUEWThqBr6k65WT7t9PfeTz pWalpA+IyPvTbXOubOQVUKTNgVlZX5zqSzt4XnQUyWoaBlmDwA3Nfq7f9fmKRBXkHSrIUCehXMiz JVnIyEXdFtxtCARWi5HSfASKBujS/zVeDTQ134gHR1lGY4AnyJd6ZhadRFYvvGjcJZqfrg68WY/Q 8IX2/s0hnVsVFRRYNHRZYki+LznAVlzMU2+wBZv8OVH/0GcgwAa3A+sDiFiUcJ8tzGiQmIQmQT5b zL1uE0gX2HwmZittw1l/+IQV+JVOTBLpHBhsDKsZnUNTHWlidsgto1MOqTSQ7cX3AFJTWCQMMkJj Zi4QAHD49tB6MBnd5slXPbrQGnuNvUNP3/84L5J9C9bYUw7GBDhcDDxktuobXBV4kPjsTEKX1yIH GyH2hP7/NJWQEa6EBUFC58J+Nh1ZaHgmOgawl7f/O9N8ToP6AX40BAN+GgR1P2kZbPdsdC5ocAfr PRRsQQZ5BmgoZGaQQZ5gE1xYEq7ZYdDXCM5Oey0LM4RkETsDmHpn/Ap4GQajZ7MTy/NZ6gDwCvB1 XBBGDD2DAbnIAPwM8maJmK4tjRZmWBRzDAI23YYCMyQz0g4EOBeak+3cJJ0GBggKdPilAjfBNDsi 3esJgPkufgwuNUjRDDjHyCrLiIyxpd8V7SJCO9h9HiutvA1vpS/wi8gD2OYUwekCfAuD4QPccgH3 A9DzpJ/3Oy5DBvYrtA2jrKzNfYCkM1a4VSLeLnINFXOG3bbvhDWnRqRGDWoQD04Y7CbGg8YC2lYz eIcWb/q8yc0PnsFeWDzEreMTS2X8YPDoQwSCm3ssCnAFViR2NdUNHNzPfTBf/gQw8G/x1uYFUAXr DpxAfQaNdAYB4Z5rKwoPBoU4Mbn3+tYVOQx8y4vGh1hZoKFnKkPZYJ87aFvN36h9a4H+/wBf6gNV 3m6NFwbSdEo2TxdACX4LinXjL9ATDz5GQEp19ck+LvmtLLEWJ538ZsACiUX4d+pUaQGT+2qlEu++ 9iX/PwtUEgR8pusL0b61fYGKfDf/LqhOEX/0gCQ52HoFHEC6A1d3jK2rkgEa5zAb2BDlM96eJXjU 9rF16F4boqkLuChfHAxYOkVti7dWgzwC9H0HHekWIQyFAmlFU6e7xX+q3hU574vYWTt3WXwfS2wX BjwARgoDTjbBYeLSbTX4CAY7x1TgXBcstOD4AzovvVwDsLXSRhRoA5mlbxn6XMPa3LYDyq5hYDpI i0MK3tCiYLo1nAKpu3u3k6FDZlvgQxIMg8MGDqBhF6ziDQrkQ49DwF7v3oKJXeg+f2G+JEb6dG8T Ytzeq+x0QxhXqHHsYf2NtZVFWYuGFr7oF+QQ2D/sTwu3jcKDICzGBQn065ABjscAE7pVD4wibjx0 qQGrjV/Jvwwjfq4nR1NVtm0z7RiHtR7xVccBYX3YCiw84TvddTw+unQRjYPboa8YYM5W/YkoNcKV ayT8IX6b23izCBCJbCQUdIsYUTmnv61zCw8YQGhV6wFVm/gFc3/ZtCREEAbVON5EwTxgRl6O2213 18gh1104UFUKPFUGbdAOlcfEX6BA/OzM1lNESWQxjlwEVVOf7dghG1XIU1emaOiFU7zZuu0vKCc0 O+4Phtq8tKQmDgJGV4PmDzZqbhubA8ohAf5TD2uYW/cgGoRfiA1/mYvtY270fWU6+lmJjSSqFbql G9+SIRwDGBGmeMndsRDrBPzhg78KJlmazmw2nw0ID5HC17w5DAMPgoO9GVX0x7onRi52FVbVgcdS x84APtuLBz0YWwZ04Qg8QChPKMZbtxaNbsGL/UCSRUj61kErWXUSVkO6Lrehv/YciawmBgcYm3P8 OiEwrIs/YgeeQdL22x4kJSBH24MSGNlyIbrtHv8PFAoUvCX+2VOM8A2LhLbH8VNlumehC5EkeWxE YQ0/9WI0YEsa1V1bgROuWI/Ed3tvjyvkXKZU+XLF4uASXZ2cFhECEGpkjNqGMahGkXzWPXRzIQcH vrh0F+ilcs3iIXOker99m8XbJg4QdQ10ImisdouTzioPzBJf9FZ5leuBhRwPbdBvVztq3VjrcYtD wzv+MO2ocHh0YVO7k6ZPdUsYckpwUZk+Uy6QwV2DRxy0gw5o/y6yEJ86dxjX4FN3I7gDk1VrP6D+ dabqbhNSQhxgvpyiV7YpThoD0AUyB1bD64S4Y+KE0QBryJbZ6rXsxNAcLLIFO+vvHaS+AEBB066e xqrL7RRRQtdfhh+NtvArXiGBVIXrChtw92GNdwTSWGo1n+TSdrquk6JWnuaAEQrjkd3Z6JMVo1wR KItAjVcccFtJABuzIxz8jFEVaOQ+xFkNM/SjC6kGXHWbMZUBDBEG1BkP5F3f1zEwBDH6LQVnPwxl 8IDIXwlRNqkfLTxsqvhXQIBHo9vVA4jAQEBDdFneYLUrj3RPRCSz3UEG614kDyAvig5oOkm1gtT2 HHUbGMj2kbB1xesSGcyXuOW2I0YuEXXn5Ylc5uoNTOhNQHQ/aVBVaiUDFG1g789g6gwEK0NZPEr2 DAvdvWtAlDOIdk/BqrXE+RArDVA2IN1G/U7AKz42F/YO2SuWdSojgyvt/3YkBlwrQHUDS3mvgGQr FWrQSriLgb0Re6kB27bVPj4GPRP4PEscWTwbsCuAtJO9S+50Dy3LWUO12l7jNSu9tICzutN7wLZf IetMjTwuKAe4OooHt8llsyMnIXgHU+VuG3E/tE55sXWRujY4WuR8Ct5AtLxwB4YD7s5dWcPvi/FX 2hoWWg4wgEIn/zfLDo27uyCF25GdhHfLwrsGGYgDQ0cMN9kfA4AjsDtsuAAMKDIREDyNhHYJGofV dBzFF8ZcGeQkBTru5nFroOE1HRIQJwtWNpps1L8U6VxPD4i/bdSURlW1QF3DgyW4vYXaVnhg+WyC BQsu0TgYZO1TQc45HVZmw/0So7wEATk/oxcWCC/rC0wH/5YNcEvuEzzfHBx7uwevYyp/5BBbKIvL vREt3isNFMSNo8CCu83H2kmM7ysED4/mu8gTvcAzcMN3IlOLxYvPWkMRWZEuA8vI87yBnRiUzO6R Qb4ZBoMqf34Vz7bxbu6AuEoFCQjHdGS397JnkYoNYfghBdFye9uIRCC7MHwL/Tl/xRoOD4qIwQMA 5SMN+FvKh0ihGWvAZIe/jX6xVRWCDH7BPQwy65/87YgdBCBVFQZ8CTzrB2EJx2cIRn3hB8nDeSic kWpdtwC8Ri81XWDrBZ4PZwY6w6qIOWa1CvkkEdQeslHfx8CEPXTYhKkbVEaBsDl83rcw0l2ZABIX nF/fuA4+OlO3U/8wqRFQw0vbt0pHO4NGjzkedeMzsMkQsnNLK7ARFO8NXi2z+N5Y6/fddRX5qvJx EEH4wlxXarwLoyDAp75Tu2I1d0ZHnqfaM1usmR6kFN3wg6xIdnN4Eie4eK+2NNjA4ORIhuAYMzVN 3PDwdajtXiDTnX8mqgZo6CrNZiehhPBQLdFkMjcIrYEoRuTIwW4sIWoFGZQpNmSTXE3cMzPDS1jI z/QkuPRHMGHFkhAmUb6vH20N+UtBBDw4FlYGpQ8+8ZvB/OMpYDK1CJOFV70QfyrPYQNIefDoDwPH QanWKPbdEj7E7rHaOHXI1L2Lxz9FFlOzYNbCsgqVQvEKkAxtjlULsKF+Tdc9Nn8SjY1g4HaHjf0y RxTVmILRbepIY2zMg4IXHXyyxC00ClD26CyLNquClRrdGxoWra0sfviDxw9XfmnYPyxeiF4W61lX hoBmCACrLoYEFIyKTv6aCXuIRglkXKF8aPQqJMQG6yMGHImQXQ5ztIUP/jef4YB2YSJmNVE+hK5s qqF0dxH5E4SfBsT+zzs1M9Izyff2KSV69yPfDyqDQTvKfPHceIPACjAGPbQXdgwx9BBaij8XYkBq TzSAMdvbYUG5MU9Z9/GigKgRjgX1KBMAXMmtcsnJGd38KmLBIMuAgICBT4OhH3yEWVlnddQUcslC A6sIcggK4m0fNOjTxgOhJn2rWus82+zO+iI5WFy2/oUbTzvzwItWWDtQWHNq8MI/vPXSUeaB+fx/ XGpgU6DcQdhCLnXvSiodJaNTE6B6Jx9CsK7ziBDzs1iJXtudNbxcf5qJrkB4tjkVsw/gf3WxV41+ CMdGXP4fMJNjd+7/dgQzW0DhWU8UV3OvznVpFEppX2f89NEeiZ+ESTBT/0Bc6Kyhja9VOc1hWZwO UbNjI/GoA1UXG0lZMgYp3EmV6DT6UISFhoHxmDnHzi/ICa9KVs+wCd2OFnZGSi0VWWMqV3VmG9xS kc6IV8Kjb0htaqcruuziigRIdOaGrbuiX7ZXv9Ac9C3cteKZQw9WxkAB99eg+1R4WQkCCCMAdgcm FImPTPAuoIxuj9SCa0RxRIB+LHUgo24UzuorHGC56PTwUnFHZEgFhSg9IBwa39jIzq3+EesYiw4N OGXUlhkPCnx1uNMJvmAHBAyDZCQ8/S0i9iuixwWFS/avEObrF2jlpFE5xwQohYYH3jgPRn1L4GMU K/AXOgEPlNgh0LDhiDRwdO2gid9ob9/JdE5DgHhEdQ9FcHqKTgk6uML250gJfkgEO0wecvkFtwNu aoeE14H77HwdSTTHBnhLJoH9kn4Qfb3NlRhzBl5ZCKwksEFLbRQ7xU3zSVsdtp8yBHMojUYYTR5W ASdN7mjrWuUYrBa6J5g09BG96WGz4A6yHXENBFDHZGCDxxwEaIP7A5PiLggLOCm+22cfALsN4D1w FwrKIkhmvt8We1Y6jaP2o9AE1Ey66mvDwYAzoEJtCD5lfQw3fhb0PBZt4Q+2CYlRWgKICLbqxEaA 7S5RDAewRQFlroyx7aj/9r8ILCFbiV34O95/Zi3GK61QIRodDCHLxkduwHf8YzKjSf83i7Sit1K4 XBwZBAPGurl3R7OLBx472HQjcRMrVa7bDTRwywwzA0kr1thsrd3+CYoZiBhAQXv3i2IrWwE7R6YL aItfDjx0dYkjXHcFXg+OdLWE7cNSmxxWGgYeMx0pCzTK3fxWCDSFA/EhQoPBwhdbXgdbSwiwmY04 0n1C1ku5u1M9RI1fAVmCHoW3pov/w7OFWs9+Ew4X3EKlRLeLkO5uBUku1Igbwn/tuAl9I99aZ98Z FDCAuhgWQ4N87esOW62adBQxtcDIuRX+/3zujVEDO9B9ZTvPfWE7wWFPXAbvWhtsuyFIEk/iO8J+ Q5LhHfw7x34/K8GM/wd8Ni055hYb/QPOO9d9owGRFfi1YhfwQkGB+gRy6fYhDTzoEA6DAA7VXPiL +zt9FowxXgRMPZTH87gQAHV8DxdQzgJyA2w/LOBEgE9u8A+ElaaJDJMA52r4Eoa+RStTUb/9Dm9v hluLKnJXUSoC9FDrFlr40E49zHNTdfgiBU3Ae/EbvgYf41y8rAGODk3QzWjjN9oo9NuBffgAsN13 9gXMuiZTMFfwU64B16qouPmmDojVgUkWX4RZVyYjv5TMVs1tPJhcfB6uZLYIzbPPz/7G6B00a43m AjMAwgzwkGWQbWj7HGCeswTfwwRXJAT/vPuNW+E7+61kW+vsR2SLT2AxFtvYfnZViU1wNmw6cITK XeVg1eCETWgH8fwv3Er6TkRzwRQ+iFQF4DgcPrpbtQDGRiFy6D8MHPwPwzG5g0VwRP9NbIK2IJvZ cPz8YAlkw9ZuTHPrCLWB7gnzUBMIXa1Y0FhC/UWoaMAt7PuEGgSiHvCogXKJXi91UWnqqP4mVKEC kuiEamehmagAk0JwCTWLqIUFDH9vBz1Pk1mam+J9QZDIV6MNN+D+M0iDfiAoD4KzWZTJ/zhLH7TU RixwPfsRcAbAu0CjLA90yEAJAm6wtIvoYX3vZeiXpIPvLUQxLWoP5ugJrfhE5TQRTH3ofVq7vUQG ACADNw2BY7cbuGIp+4dHLeRQjGpnL2hcv3zg1z1t1/sMMUABHlLHJHWjK9EjW0UkLpk5su8xyC0/ HBmuOeRIDhSUDAzJ2At0fhUEaD7bQI78LZ4JwBILSR3b/kke9C23FPw2eOfwzMNT4+wtcAbMnAJK RJP4m6ImHzlGIHc16wsyjNDgFOycrXVYcaEE9Bt1ChiGyV3rTsTBDwJ1CdhPdgSnX3RYXAIMV2wu 2MV+DJo7/jdAEjlgpnCOZFs5NcwY3cE3ix1cROQ6TfWa39MJsuTWwlSzJpqkGTajk2qUFXoR5Rgn OTAuaEC0pP2zzUGSVpOS/BWKPBHvUHUjNREkxhNmu5B1AyPU6xHI7tcJMCCorDW90Dzv3GwbhBsI 0QB0rhGbGUaWCdKcD1rF2TfKJlC+VFArTPixLxP2pRB0IGpLKMuuYR24SCIIUwjpidggdAanJ7XU 9NBYbOlDzfYZvDjIQ/E95FsQKR8ISSI2t4V8/1Au0kdFHvK8aEAuPXiDp4OvYb6ETLuwVkX94Rkg CVOUFGe0DvPBHiw8NEm85rNUZSj4/WElbJCXUBf4/QoZADac41OmTWAXzZYd5qIt1xyyTAzhkRlq BQ4HKrOBg6TTVqwqUMLiz+mKYAGbVr4RAdjeE9SKnQ0T/XWke8nqLuAlaQ9nqxAbxg5n3fwoVnSz Mh4rMPTZjDcamAYiaKAf5UD7K8ROWf4PGgVafLerPNno3RlQoWr/21AAEfLLDaIjVKRVlWgAgNDC kEvWCvoD8CJSf5CUFj5wCwsIuSf31gG1/Ze6AefHU8FOi9j3240834kv9Je6H4oaSDPeI9nB7wQ0 nXBkGWt33TP3QhQS7jzbILLn/t8lEkiuOsNCRF+yw1uEwI/8/haKAjPGI8EhBIXwQk916g6E4gse 99BeXf5M32/hAG4g8M8HcggH2sTNDcQHdt7w1AcBcgcnXWEJ5UUT9vZjKdORH/YKVcFNxNnaRnDA xJcLJAUFraMSffZmiQENqvwPOEfflwb6ZtHpGMG7GnbpnAQNCGpXVgAdehqhGEikPQPs+tQWWruQ 6x1KdDF18YBe2NC1+IaJdnaLVmxgeHgDl3u8Gd5CenXLaAkbylEnyhyhT718c2C/gHEdaKwBWeig VtPJ2ppqa/iu/VvGB/Usg2yuwCQCQAye5faoOiZ99NH+bE1VCuCyHpO4OWQ7CC9qLguIFkvEFmTY CcTZUK40bOJLAwRtwlBGvAU1TbeZjsG+A5DAkha5VtgvV2lGJfe7ofZ13ZQKxAeWF+y8Xc1ty8IJ MMYCmPG3qG2uodNmyggFnAtti0El/L8NzhBtQteVoDrSA6Q3g+aLBW2tUIJ41GvuubamArIWHjww BSjEDBVkDVQQwdFb5h5mu1swz8Kznx87h4SErDURa6pQMQcBJmnTcIDYGWGl+J3jZCEb+MA+sui8 gsFUMS0yPPZsuCwdiAECEowUrAixwkzRrsqZortsrVdFNdgFBi/cZ0Pb3csBLgfeK1hd4AErnGzP 4gHsa+TYkqjoEKE3BPI/lhF5TvvGXjoA/5QDEwVXQ2oGU7LRI2YvufbqTuDAHOFmhGbqUIH7OGRz 7un4z/RofmYEgFbmEUwFn2g32+sYDVA9RycvPBpqJLburDKiatwIK9dUVZRy/3TY62s9MyNwV5SF ohu2/UJvA8e+BuwNRgGUiZ0MANNQbCD03Z3WAV8wUUU//jo3s4aHCMFogilBUvbgZBB0GLGwnOiA FhMJYhEMfyfMJRQQCpFocDIICUxSElmHBKcqGGEo/WLXpMIIZoJqCOBmPxtKWptZdO1Jydwi9mbk 5JuTRBGwCQ7A5SCL5jerd+u7hqGHbP/YYkGSmMeNu5MFWx381VOw9Hhyq2Yr/1wR4Wp4YBgcFNoF Ai04gIW8DKCPUKZjVVcU9EZqP0QLGwvR8l6gjXdQDlB7suBS4bRraE515UcXaoSfRVuwKVOHCIOH FRTqwwRWYsZk6CbEN4P6Yn1HKpQ8ikvArIS1fjCt1dvIgR8cO8rTI0RlK5pB9X0N78k+NYhciVhX WgMz/1z/m+z2i/ID8dZ+GRcaFYDCYYgUO/3N1a1HsHznOPE0B8ZGBEA2LgWPI4PgA2f/NA8TjnJB FshWwYnkyz6y2LgIfUJxBTP2vbIbfPqDxwOAfh1ylDNv//4PAkY793zjgKQeCwBf62A2sB5GxbsI w7mor9vBCAPwxNKwTQB18j9D/vrftm9DwEaxHh/JzTvyfQyKDMWwMtLbYoRw6/zFOxa3uxWAdrbF rAuNg1slSzeMhV8y+LnkgVwyADP4izSfAfyzpFZrBN29NZCBw7cHaFw0CGGs4h/AGDYGQA5kBQ8E crtkQAQM1igzgBzIVAwwkOchvDs2LDME2ttHFrQyfBYEVX0W6GT31P0lagHlLHwSFXwNjoAz3RMw 9i0MA5nZ3EdXiJ60HAW1Vo/9Nh5AfXuGHgE4JXUhjWyzIteGt1BhNLapSITLuFCAbWy5tGDztfT8 vyBXPAcjep+2iJ0TK/T87N2sNPlMP1CIGFM4kS3A8GiIo8hEKxo72zgYKc8cV9QmzxA2rSi17MUu 9AZypABki0E7N+DB/BJYYCBmz85zcwGEJ2iAf2hKiDMjDFD8wyCfjI34D4QiGWARIQy3Q768VVRO PBg8RweuP4H/WxTCmY208gvs9iuIACjhYk2CfNGwGj5xPRwJxcwSYgUD9bePdBV+DPcCfwdofDSv Vq59At7rBS4NQ2eHJUgJRgdJuIR1RJEtyu1c+LezMwMbK2IhSnQPaHQ0rNU3obNmHDcOfYfiGWgN nw5kjB+zgXYIE7w4J3jCjHB0CT2ItlsnGjojiDC4FIfYYgfAXrjwaigD0OaFaCHF1KgFAAAyctvQ hDUgTeAJ5CDoNM5l8+zINHXw9IwpSYp+YQw71n1pyMFTyQSKbsaB9keaXj3JRTwgcjg8PdwA/0v8 PCt0MDx5LDx/dCg8gHQkw4paLwEgiAT4MJ+625NGCsYVDUYECvG7gKBuAdskHv9GAc5HxFYqUPfs 52MIsXxJSwf15/8zyUH6Jv5busp9CYt0xdhAZfGDfMXQBAm4TdwR1FPGB+jNIBBEEL6QNXK/UDTo vPOlgf2kikwNvI3iQvFfiAqKcXABB/8t1erB4QQ/0M4XiEoBikiWZVm6ARgCDwIGXtDtt88ZAopA FeA/ikQFDEIDdaaeJ/UYBFdYAgXIFjwi098paLw6GDXoT2TWBIit9UXx7DAE8De6UJTyznIiO+xX nNGANOjoODmAJrdFOWQxwkb6fy/hsy6KhAUniEQ183W/jVUlahu6GfQkY2JYDF2IWm+pNfiIkJHw g6hzL7xeTHINYQMNQ2kHCgO69oUN/gRy2aYyV9XYha8NN5kJhXQqTfhsvwtocwTGRfs9CAL6PdfE rQEUdR88A96lDJpUKjiitaSYWrhBJgcUUVMU2KZNxYVTs0Dxu8DDspFwEJffUAV74TPGCQ9Sai6Y NkoE0HSvZnhXLQtwVhr6yFhZLSSNQwQZ1ZXOdgCqIGgYrnEgEvPFGxwnELIGlRatWbXZyL5TG1Ay DH7ZQnbZDjCvaDwgERiDvVQLohhoCJo1lB3Zt8CUFGj4NTPcEVJNxMjU1TlZXSG0oHMA0ScAEnKw 1Lg3cMiFWN7+c1g3g8oddvZOUBdQhBwyy426YD91A96uYlFM5NmMeEgsRLg22Qg0N3ZHxlBP2A2w jZ0IUoWLw3ZNcwmKY8YFE2ZopPRAasD/DB1IBDrRjVnu1zvzHfkGMaGm9wcPjL9vyA+oSAa4+wyN +L1TwwURXNpE5JPtZhQNXZsKXtKNtaHuqBFlEnOLhaL99PGGycHgAka5NAWfI9AWtliKEwrXQNhZ iYd0YEB0HhhNie83O2TZCnJl+eAnTE8yFnVu/QFvOV34rSLLA2r47MMRJUhgJnX4rjqHPxQMRlc5 dRC4NeoFEX5yixFEKX1CR22pyRSM+U0kmFUP6tKJg8LVgLdbAewMadINcPVzizpSvOz+iVX0CGXq Ydl+JvlYfdeXzBFadBSKBxZHPAp0Cu5qwd+HA8c7RRB8l6UviBwIslT7EZ+DyP/r9jf+WL+BhijD CTsXgD8wdBlu5LCIVxAHMB8KlggDUKVeyy38QpHAO/BX2WMOs0eWkW0ICFoMURAP36D7zY5IigY8 DXQMjggSdAQ8CTBbgfh1A0br63QmKoitQCSjyCVG7pruF+E+PDp0OS41MSoCBBcUf1uK7A84dQk4 hA3/QNt10C4QAwRJzogQ0XfEXe5Bgfm2cr7rAU5FYmysJRIAXcyYLM+FyA+4AP/TIIu1XcwPDiQ4 Kxwvw94MkOk4OnVhHjCZ4UT+Ww/ooGfuSLZARtLKAUbpXAe7ztJP9RbBuWGCv4GhXW3iCkI713zq dd3HVhBlAipCHQvjN+4pavA+CqiOKglz7TeICIINdQ7rCyALHNDSEBsHBjUNhIIEDshLnY9tawQX hk6K5x0FBBtsK20wA4ZJAI6SNTPCcsNjDXWE86sMm2CSABiNG8eFGDCdegVNBrZoMaJgZeMRDmfj BtNQUVBk/JuWEP2CuIvBx2grYaK+2iwUNysaafsAEOoPiF7CgMMP+4gfcAfFVr7aM4rlu99eF2qK EYD6IMr6CXUTQf6lUm8HOX8St9wEgEGNRELQzRrx/x4wfemAOS11HHlNz63gEFazZ9V/bklRqrO1 VmLeEAxy3FWAaEQ4Skg3soutaKg9G/v2oBdyQCGKWj00BIZqPRAHfkg0gi64bfZAU2h1ko9U/GoG G5mpPYQZ2INg6i0CFy849VfUjw/cPOX6HvK+mDr4xh8wmF11alToiFZTKZyLfhCmvkSVhZh96nKM xD2QeI253OixJD8KNDiJvxAnyzZrzur+V0VAGHxCMtjuBz0rNn48OCj5PN/KM3RPK49EI+TALhQ7 /QO55JITCASnJI+Q+9cAxOeZzMFo/L4hDLV6fJmRj6rdPV3Nkuk3wPiKAYvZSjwVBw5SU+lDigM/ awMXA0MV4BtfO8t0LlAudRFqzWovgEihtERArHFbDMMSK8H8D/LurdBcTsITy+usKAVo9DeZM7wI oLcLkrWlRnh8I519v+wmqFAtuR+IE/MSdHNHU+sGCQZGU0tDwyh1xqa1NAPyLDTgItxYXA4BSbr/ EEwiMDYB2EL/bC9XwSASAm+XD6ks1W9FERAM3PwtUCk6IbVXWSNy8CAlU0tLRA0JIG9wuhOHO4Kx Gf3eVkwCuexIUBbUCZgdt6NQvQ0qSE+MvRwBfVM8VHN74HQrahkbYQqyidwIQ95zi3BUlANrQ8ba y9UHb5PeSwBODHuM6fR1GLp1cEGm6p3TStMCrg0DJPAnGDgkloJ8X3IDAVsNr4gNPmbscwDpwfkD Uers/BgBC+Ts/ACCFZ+GSFxAV25WIHbRhNXrNcHjzSUjT/B0JOwM7j+IlyzsdCKbxyGmHl0A0DwD vqfiBvr4CQ+Hrd8khURyi3yzDZxxO2lw/hSH7Q6ycLZo2Mfrbg3QhzyHPGDIUsCHPIc8RLg2rIc8 hzwooBqYDjOHPAyQidZjJt4bO+sHgKUNOwZ0SgaE2FWNCA07yAKzsMYQaLIPU3AUfL6g9hpibOc+ GX0RRxVt+T7RNN12QBQUgGQpAzdF0zRN01Nhb32Lm5HvTZn/JVQRBQgQzMxfIAzEUT1wOQhyFIHt j/2+6QstBIUBF3PsK8iLxAy9LlXqi+GLU5xQw5IKGUSRAKpUqSoOWaqKQoMDNs1BUagcAUOlopeI m3RlRnC3tlH0TWFwcMBBEw1uZAv2DEWIFQ4DXqgadnJzD3dFbnZRdRTdEG9ux1a3d4d1fWIYVytv d3NEHWVjgv129nRvcnkVRCJ2ZVR5cCR272f/R1NpemVaQ2xvcwoUVGk1927fUVRvU3lqZW0LLRwb 225B9kFsBmM6VBjak+9vcClOYW1MU1BvRyXsmaiSIT3a1u2+DkN1cnKlVGjnZBFXicZ+u83tCkxv EExpYnJhpWxeO/beNXJjcAmPSGGYJHDb2sGtQXQdKnU6c0GyW7CBMjcIbkGdQAjYbVAbaEGJClue tdhkHx5MYUWce7rDWhlRTV94b4c2WTtYXURlBmpTi0Bo/1ZHTW9kdRUUGMKE2HdLVbtddkgaQXMY UwhlcAbYlkt4RXhpJWFGmFPtMPfmDhxPYmrApFCw37AltGN5BjL9aYLNCttja7t1bEwptVDVzRpp Wk1JZoDaRfltYeUXA+P9jnBWaWV3T2aLAGIJK7RMOPO5EQpQb8wNYWRlQ9i/2VvbJk32SEJ5dCJu QWRuwhLeZHJyFsetbllrtEilOBwrJ8OYMXsTGWAEvKwwhG6qzQlpQXePs2GNRklxNWtlZBN2agul YxILFUnSmWGSblIi5FUzNsGwsPXUQpMmSx2FFJx5orXascf4NmeMS2V5DE9wTd069+gLRSQOOlaN dWVhBwCGDyQRCTN3KaZ1bTAMr63ZbLM/ZMIIAW2j7rQ1zHNlomp3QxDz2N8MAwdpc2RpZ2kZdXBw c83NthF4EglmWwg4zVb4c3BhS0/NLFjA/nubVS9CdWZmQQ8LZ9qOPExvd3d2OXK2I1GYbdh3CkfY LMuyPdQTAgoEb5eyLMuyCzQXEhDVsizLAw8JFHMfyD8WQlBFAABMAQLgAA91y0n+AQsBBwAAfFFA EAOQYbNu9g1KCxsEHgfrZku2M6AGKBAH8hJ4Awar2IOBQC7PeJDwAdc1kHVkhE8uNXQrdtmyyXvr ACDVC7ZR4OAuwccAm/u7d2HfI34nQAIb1IUAoFB9DdPlAAAAAAAAAJD/AAAAAAAAAAAAAAAAAGC+ AHBKAI2+AKD//1eDzf/rEJCQkJCQkIoGRogHRwHbdQeLHoPu/BHbcu24AQAAAAHbdQeLHoPu/BHb EcAB23PvdQmLHoPu/BHbc+QxyYPoA3INweAIigZGg/D/dHSJxQHbdQeLHoPu/BHbEckB23UHix6D 7vwR2xHJdSBBAdt1B4seg+78EdsRyQHbc+91CYseg+78Edtz5IPBAoH9APP//4PRAY0UL4P9/HYP igJCiAdHSXX36WP///+QiwKDwgSJB4PHBIPpBHfxAc/pTP///16J97kNAQAAigdHLOg8AXf3gD8B dfKLB4pfBGbB6AjBwBCGxCn4gOvoAfCJB4PHBYnY4tmNvgCQAACLBwnAdEWLXwSNhDDosQAAAfNQ g8cI/5ZgsgAAlYoHRwjAdNyJ+XkHD7cHR1BHuVdI8q5V/5ZksgAACcB0B4kDg8ME69j/lmiyAABh 6ZSA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAMAAAAgAACADgAAAGAAAIAAAAAAAAAAAAAA AAAAAAEAAQAAADgAAIAAAAAAAAAAAAAAAAAAAAEACQQAAFAAAACowAAAKAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAQAAAKAAAIB4AACAAAAAAAAAAAAAAAAAAAABAAkEAACQAAAA1MEAABQAAAAAAAAA AAAAAAEAMACwkAAAKAAAABAAAAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// /wAAAIiIiAAAAAAIh3d3eIAAAHj//4iHcAAAePeP//94AAB4/////3gAAHj3d3j/eAAAeP////94 AAB493d4/3gAAHj/////eAAAePd3j/94AAB4/////3gAAHj/////eAAAeH9/f394AACHc4eHh4AA AAezO3t3gAAAAAAAAIAAAPA/AADgBwAAwAcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADA AwAAwAMAAMADAADABwAA4AcAAP/fAADYkQAAAAABAAEAEBAQAAEABAAoAQAAAQAAAAAAAAAAAAAA AACQwgAAYMIAAAAAAAAAAAAAAAAAAJ3CAABwwgAAAAAAAAAAAAAAAAAAqsIAAHjCAAAAAAAAAAAA AAAAAAC1wgAAgMIAAAAAAAAAAAAAAAAAAMDCAACIwgAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwgAA 2MIAAOjCAAAAAAAA9sIAAAAAAAAEwwAAAAAAAAzDAAAAAAAAcwAAgAAAAABLRVJORUwzMi5ETEwA QURWQVBJMzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFy eUEAAEdldFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3 c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0013_67B11BA0.4B4868A2-- From linda at cse.ucsc.edu Fri Jan 30 23:27:28 2004 From: linda at cse.ucsc.edu (linda at cse.ucsc.edu) Date: Sat, 31 Jan 2004 07:27:28 +0800 Subject: [MOBY-guts] TEST Message-ID: <200401302333.i0UNXGEs017509@portal.open-bio.org> ??RGWl?Z?1??????Y??p?"~Y?$?t????l???]oU??E??BE????A??*?F?v???l*??( 4-???d,G???dF??9x?g?????98???M|V?{ewn?? %2??X D???B?8???'?E5??~? /_JvB}?????WP&??i5.??,?e??????g?$P?6?U{????R(??s6$???? ???y?W1?(?q0??(???!??j?Ch?CH??????ap?}??????,EHb ?`0f??{O~(???9JDM???^!?z???K????e?????^%??D?S???y3 ?O0c???S?pMCs???????;?b????????????-?l?VL??????W??~????t??Uo[?!?]'?y?????????Z?-???6)X?T.1?Q??C???G:??o??d??]?U?j:6???MmW??'B?,??9?????? f?}|?5k?k0????????w? ?Oa?iC?a:??????r????D????Q????2??^V7t???????-XrPo?4f?#????*??<.?J???P???Q( ????`vN]????oI]?e?b???9??g????{???Klj~?????)???~??'??????e?L???xn*?2?|?????rhnt?m?>?????mI????X?F????#?#_#????rr??a?it???A0??V???N-{????w?? ?ap???B??wn~??0?C?8IE?????h?#?~?("hJZL!l???G2??????????gyB???%?'Bw????%5y? ??I????????l?j??????:^?7Q?(?? ?^???gO?MW???????D"???o????C?Q??C l&??!?]m???u?.????V? 4p??0C_???f: ?&????e?sf?p??~??7p?A?9??8?~?"??%)XHX?)?????3??[?u?V?Yw1f??? 2U??p77Eq?V?TP??e?`U??qj(/X???4; ???`??6Br???Wr?`m??./?????k?Z?d?W??9??]S? ????aBM???sw???P&???????`q!8?H? ?D?v]??????????'o??4????? -------------- next part -------------- A non-text attachment was scrubbed... Name: message.zip Type: application/octet-stream Size: 22648 bytes Desc: not available URL: From allis2 at cox.net Sat Jan 31 23:23:49 2004 From: allis2 at cox.net (allis2 at cox.net) Date: Sat, 31 Jan 2004 15:23:49 -0800 Subject: [MOBY-guts] Server Report Message-ID: <200401312330.i0VNU8Es029838@portal.open-bio.org> The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment. -------------- next part -------------- A non-text attachment was scrubbed... Name: body.zip Type: application/octet-stream Size: 22792 bytes Desc: not available URL: From VirusMaster at OntarioPowerGeneration.com Sat Jan 31 18:51:26 2004 From: VirusMaster at OntarioPowerGeneration.com (VirusMaster at OntarioPowerGeneration.com) Date: Sat Jan 31 18:51:26 2004 Subject: [MOBY-guts] Virus Detected by Network Associates, Inc. Webshield SMTP V4.5 Message-ID: <200401312343.i0VNhIZ21270@secrmail.newhorizonsolutions.com> The virus W32/Mydoom.a at MM was detected in attachment text.scr from to with the subject "Hi". It was Deleted and Quarantined. Quarantined means a copy was saved on our mail gateway; Cleaned means the virus was removed and the message was delivered; Deleted means the message was not delivered. Please use up-to-date virus protection on your computer