[Biocorba-l] Biocorba IDL

Alan Robinson alan@ebi.ac.uk
Fri, 3 Nov 2000 17:14:32 +0000 (GMT Standard Time)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--23824084-24855-973271672=:74
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi,

On Thu, 19 Oct 2000, Alan Robinson wrote:

> I'm writing a Biocorba server currently (planned to be released next
> week), and whilst working with the Biocorba IDL I've come across the
> following issues:

OK - A little later than expected and not entirely finished, but I'd like
to put forward a prototype biocorba server.

The server which we're currently testing is a biocorba wrapper around a
replication of the complete production EMBL nucleotide sequence database
via our own EMBL CORBA server (see http://corba.ebi.ac.uk/). 

So through the EBI's biocorba server, you'll have access to all 9,000,000+
sequences in EBML-Bank (aka GenBank).

Caveat emptor - The Biocorba server is temporarily working off an ancient
SGI. But you can find a *TEMPORARY* IOR at

	http://industry.ebi.ac.uk/~alan/IOR/ 
called
	org.Biocorba.Seqcore.BioEnvPOAImpl-Server.ior

I've attached a little perl client that connects to the server and pulls
over data from it. You'll also need the BioCorba.idl file, which I've
attached for convenience, as well as the ORBit orb and perl binding (you
can find these via CPAN if necessary).

For those of you who are Java-enabled, I've included a Java client too.
(Personally, I'd recommend ORBacus as a good free Java ORB).

You can query the EMBL SeqDB object by accession number or entry ID.

Not all methods are implemented for the EMBL SeqDB object - In particular,
you cannot get a PrimarySeqIterator, or the accession numbers of all Seq's
in the EMBL SeqDB.


At the moment, we're working on a proposal for a next version of the
BioCorba IDL and an implementation (I'll try and post next week). 

We're also itching to get the bioperl-gui working with biocorba. As an
alternative, we may implement the relevant bioperl interfaces (Bio::SeqI,
etc) as an IDL interface.

Obviously any feedback and bug reports would be most appreciated.


cheers,
al


--
============================================================
Alan J. Robinson, D.Phil.             Tel:+44-(0)1223 494444
European Bioinformatics Institute     Fax:+44-(0)1223 494468
EMBL Outstation - Hinxton             Email:  alan@ebi.ac.uk
Wellcome Trust Genome Campus
Hinxton, Cambridge
CB10 1SD, UK                http://industry.ebi.ac.uk/~alan/
============================================================





--23824084-24855-973271672=:74
Content-Type: APPLICATION/octet-stream; name="BioCorba.idl"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.WNT.4.05.10011031714320.74@medusa.ebi.ac.uk>
Content-Description: 
Content-Disposition: attachment; filename="BioCorba.idl"

Ly8gTm90ZXMgb24gdGhlIElETC4gCiAgIC8vCiAgIC8vIFRoaXMgSURMIGlz
IGRlc2lnbmVkIHRvIGJlIHByZXR0eSB1bmNvbnRyb3ZlcnNpYWwgYW5kIHNp
bXBsZS4gSSBhbQogICAvLyB1c2luZyB2ZXJ5IHNpbXBsZSBDT1JCQSBmZWF0
dXJlcywgYW5kIHNvIG5vIHZhbHVldHlwZXMsIGFueSdzLAogICAvLyBjb25z
dCdzIGFsbCBvZiB3aGljaCBnZXQgaW1wbGVtZW50ZWQgbGF0ZSBpbiBPUkJz
IChpZiBhdCBhbGwpLgogICAvLwogICAvLyBUaGlzIElETCBpcyBkZXNpZ25l
ZCBvbmx5IGZvciBzZXF1ZW5jZXMgYW5kIGZlYXR1cmVzLiAgVGhlcmUgaXMg
bm8KICAgLy8gcHJvdmlzaW9uIGZvciBvdGhlciBzdHVmZiAtIHdlIG5lZWQg
dG8gc3RhcnQgd2l0aCB0aGUgdGhpbmdzIHdlIGNhbgogICAvLyBhZ3JlZSB3
aXRoIGFuZCBidWlsZCBvbiB0aGF0LgogICAvLwogICAvLyBUaGlzIElETCBz
aG91bGQgd29yayB3ZWxsIGFzIGFuIGludGVybmFsIElETCBmb3IgYW4gT01H
IGNvbXBsaWFudAogICAvLyBzZXJ2ZXIuIFRoZSBPTUcgc3BlY2lmaWNhdGlv
biBsZWF2ZXMgYWxvdCBvZiB0aGUgIm1hZ2ljIiB0byB0aGUKICAgLy8gc2Vy
dmVyLCBpbmNsdWRpbmcgbWVtb3J5IG1hbmFnZW1lbnQgZXRjLCBhbmQgYWxz
byB1c2VzIGFsb3Qgb2YKICAgLy8gInN0YW5kYXJkIiBPTUcgdHlwZXMgYW5k
IHNlcnZpY2VzIHdoaWNoIGdlbmVyYWxseSBkbyBub3QgY29tZQogICAvLyB3
aXRoIGEgc3RhbmRhcmQgZnJlZSBPUkIuIEhlbmNlIHRoZSBHTk9NRSBtZW1v
cnkgbWFuYWdlbWVudAogICAvLyBtb2RlbCBhbmQgdGhlIHNpbXBsZSBpdGVy
YXRvcnMuCiAgIC8vCiAgIC8vIAogICAvLwoKICAgLy8KICAgLy8gVGhpcyBj
b21lcyBkaXJlY3RseSBmcm9tIHRoZSBHTk9NRSBib25vYm9vIG1vZGVsLgog
ICAvLyBJdCBhbGxvd3MgbWVtb3J5IG1hbmFnZW1lbnQgdmlhIHJlZiBhbmQg
dW5yZWYgY2FsbHMuCiAgIC8vIFRoZSBxdWVyeV9pbnRlcmZhY2UgaXMgbm90
IGltcG9ydGFudCBmb3IgdGhpcyBjYXNlLAogICAvLyBidXQgaGVyZSBmb3Ig
Y29tcGxldGVuZXNzLgogICAvLwoKCiAgIG1vZHVsZSBHTk9NRSB7CiAgICAg
aW50ZXJmYWNlIFVua25vd24gewogICAgICAgdm9pZCByZWYoKTsKICAgICAg
IHZvaWQgdW5yZWYoKTsKICAgICAgIE9iamVjdCBxdWVyeV9pbnRlcmZhY2Uo
aW4gc3RyaW5nIHJlcG9pZCk7CiAgICAgfTsKICAgfTsKCiAgIC8vCiAgIC8v
IFRoZXNlIGFyZSB0aGUgYWN0dWFsIGJpb2xvZ2ljYWwgb2JqZWN0cyB0aGF0
IHdlIGFyZSBpbnRlcmVzdGVkCiAgIC8vIGluLiBOZWFybHkgZXZlcnl0aGlu
ZyBpcyBhbiBpbnRlcmZhY2UuIEl0IGlzIG5vdCBnb2luZyB0byB3b3JrCiAg
IC8vIHdlbGwgYWNyb3NzIGxhcmdlIGludGVybmV0IGNvbm5lY3Rpb25zLCBz
byBkb24ndCB1c2UgaXQgZm9yIHRoYXQuCiAgIC8vCgogICAvLyBUaGUgb3Jn
LkJpb2NvcmJhLlNlcWNvcmUgcGFja2FnZSBpcyBzbyB3ZSBsb29rIGdvb2Qg
aW4gSmF2YS4KICAgLy8gTWFrZXMgdGhlIEMgaW50ZXJmYWNlIG5hbWVzIHdh
YWFhYXkgdG9vIGxvbmcgb2YgY291cnNlCgogICBtb2R1bGUgb3JnIHsKICAg
ICBtb2R1bGUgQmlvY29yYmEgIHsKICAgICAgIG1vZHVsZSBTZXFjb3JlIAog
ICAgICAgICAgLy8gY2hhbmdlZCBpbmRlbnRhdGlvbiB0byBnaXZlIHVzIG1v
cmUgc3BhY2UgZm9yIHRoZSBtYWluIHRleHQKICAgewoKICAgICBleGNlcHRp
b24gUmVxdWVzdFRvb0xhcmdlIHsgc3RyaW5nIHJlYXNvbjsgbG9uZyBzdWdn
ZXN0ZWRfc2l6ZTsgfTsgCiAgICAgLy8gbWVhbnMgeW91IG5lZWQgdG8gcmVx
dWVzdCBhIHNtYWxsZXIgbnVtYmVyLAogICAgIC8vIGllLCByZXF1ZXN0IG9u
bHkgZmFpbGVkIGR1ZSB0byBpdHMgc2l6ZS4KICAgICAKCiAgICAgZXhjZXB0
aW9uIE91dE9mUmFuZ2UgeyBzdHJpbmcgcmVhc29uOyB9OyAgICAgIC8vIEZv
ciB3aGVuIHN0YXJ0L2VuZCBwb2ludHMgYXJlIG91dCBvZiByYW5nZS4KICAg
ICBleGNlcHRpb24gRW5kT2ZTdHJlYW0geyB9OyAgICAgICAgICAgICAgICAg
ICAgLy8gZm9yIGVuZCBvZiBzdHJlYW1zCiAgICAgZXhjZXB0aW9uIFVuYWJs
ZVRvUHJvY2VzcyB7IHN0cmluZyByZWFzb247IH07IC8vIEFsbCBvdGhlciBl
cnJvcnMKICAgICBleGNlcHRpb24gTmVlZHNVcGRhdGUgeyBzdHJpbmcgZGVz
Y3JpcHRpb247IH07CiAgICAgZXhjZXB0aW9uIERvZXNOb3RFeGlzdCB7IHN0
cmluZyBkZXNjcmlwdGlvbjsgfTsKICAgICAKICAgICBlbnVtIFNlcVR5cGUg
eyBQUk9URUlOLEROQSxSTkEgfTsKCiAgICAgLy8gQW5vbnltb3VzU2VxIGlz
IGp1c3QgdGhlIHNlcXVlbmNlIGluZm9ybWFpdG9uIGFuZCAqbm90aGluZyBl
bHNlKgogICAgIC8vIGluY2x1ZGluZyBuYW1lcwoKICAgICAKICAgICBpbnRl
cmZhY2UgQW5vbnltb3VzU2VxIDogR05PTUU6OlVua25vd24gewogICAgICAg
U2VxVHlwZSB0eXBlKCk7IC8vIHNlcnZlciBoYXMgdG8gYXQgbGVhc3QgKmd1
ZXNzKiB0aGUgdHlwZS4KICAgICAgIGxvbmcgICAgbGVuZ3RoKCk7CgogICAg
ICAgCiAgICAgICAvLyB0aGUgZW50aXJlIHNlcXVlbmNlLiBVc2UgbWF4X3Jl
cXVlc3RfbGVuZ3RoIHRvIGZpbmQgdGhlIG1heAogICAgICAgLy8gc2l6ZSBh
bGxvd2VkCgoKICAgICAgIHN0cmluZyAgZ2V0X3NlcSgpIHJhaXNlcyAoUmVx
dWVzdFRvb0xhcmdlKTsKCiAgICAgICAKICAgICAgIC8vIGdldHMgYSBzdWIg
c2VxdWVuY2UuIHRoZSBzdGFydCxlbmQgYXJlIGluIGJpb2xvZ2ljYWwKICAg
ICAgIC8vIGNvb3JkaW5hdGVzLCBpZSwgMS0yIGFyZSB0aGUgZmlyc3QgdHdv
IGJhc2VzCgogICAgICAgc3RyaW5nICBnZXRfc3Vic2VxKGluIGxvbmcgc3Rh
cnQsaW4gbG9uZyBlbmQpIHJhaXNlcyAoT3V0T2ZSYW5nZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBSZXF1ZXN0VG9vTGFyZ2UpOwogICAgLy8gVGhp
cyBpcyB0byBmaW5kIHRoZSBsYXJnZXN0IHN0cmluZyB0aGF0IGNhbiBiZSBw
YXNzZWQgYmFjayAKICAgICAgIGxvbmcgICAgbWF4X3JlcXVlc3RfbGVuZ3Ro
KCk7IAogICAgIH07CiAgICAgCgogICAgIC8vIFByaW1hcnkgc2VxdWVuY2Vz
IGFyZSBqdXN0IHRoZSBzZXF1ZW5jZSBpbmZvcm1hdGlvbiBhbmQgZW5vdWdo
IHRvCiAgICAgLy8gaWRlbml0eSBpbmZvcm1hdGlvbiB0byBwcm9jZXNzIHRo
ZSBzZXF1ZW5jZS9zdG9yZSByZXN1bHRzL2V0Yy4KICAgICAKICAgICBpbnRl
cmZhY2UgUHJpbWFyeVNlcSA6IEFub255bW91c1NlcSB7CiAgICAgICAKICAg
ICAgIC8vIHRocmVlIGRpZmZlcmVudCBpZCdzIHdoaWNoIG1pZ2h0IGJlIHRo
ZSBzYW1lLiBUaGUgZmlyc3QsCiAgICAgICAvLyBkaXNwbGF5IGlkIGlzIHdo
YXQgdG8gdXNlIGlmIGEgaHVtYW4gdXNlcyBpdC4gVGhlIHNlY29uZCwKICAg
ICAgIC8vIHByaW1hcnlfaWQgaXMgd2hhdCB0aGUgaW1wbGVtZW50YXRpb24g
ZGVjaWRlcyBhcyB0aGUgY29ycmVjdAogICAgICAgLy8gdW5pcXVlIGlkIGZv
ciB0aGlzIHNlcXVlbmNlLiAoaW4gYWxvdCBvZiBjYXNlcyB0aGlzIHdpbGwg
YmUKICAgICAgIC8vIGFjY2Vzc2lvbiBudW1iZXIpLiBUaGUgZmluYWwgb25l
IGlzIHRoZSBhY2Nlc3Npb24gbnVtYmVyIHdoaWNoCiAgICAgICAvLyBpcyB0
aGUgdW5pcXVlIGlkIGluIHRoZSBiaW9sb2dpY2FsIGRhdGFiYXNlIHdoaWNo
IGl0IGlzIGZyb20KICAgICAgIC8vICh0aGlzIG1heWJlIHRoZSBzYW1lIGFz
IHRoZSBwcmltYXJ5X2lkLCBidXQgbWlnaHQgbm90KS4gWWVzIC0KICAgICAg
IC8vIHdlIGRvIG5lZWQgYWxsIHRocmVlIGlkcy4KICAgICAgIAogICAgICAg
c3RyaW5nICBkaXNwbGF5X2lkKCk7ICAgICAgIC8vIGlkIHRvIGRpc3BsYXkg
dG8gaHVtYW5zIAogICAgICAgc3RyaW5nIHByaW1hcnlfaWQoKTsgICAgICAg
IC8vIGlkIHRvIHVzZSBhcyBhIHVuaXF1ZSBpZCBmb3IgdGhpcwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNlcXVlbmNlLiBpbiBz
b21lIGNhc2VzIGl0IGNvdWxkIGJlCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gYnl0ZSBwb3NpdGlvbi9maWxlIG11bmdlZCBpbnRv
IGEgc3RyaW5nIGZvciBleGFtcGxlIAogICAgICAgc3RyaW5nICBhY2Nlc3Np
b25fbnVtYmVyKCk7ICAvLyBUaGUgdW5pcXVlIGlkIChjb21tb25seSBjYWxs
ZWQgYWNjZXNzaW9uIG51bWJlcikgaW4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyB0aGUgYmlvbG9naWNhbCBkYXRhYmFzZSB0aGlz
IGNvbWVzIGZyb20sIG5vdCB0aGUgcGFydGljdWxhcgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIGluc3RhbmNlIG9mIHRoZSBkYXRh
YmFzZSBmb3IgdGhlIGltcGxlbWVudGF0aW9uLgogICAgICAgCiAgICAgICBs
b25nICAgIHZlcnNpb24oKTsgICAgLy8gcG90ZW50aWFsICh1bnN0YWJsZSkg
dmVyc2lvbiBudW1iZXIgZm9yIHRoZSBzZXF1ZW5jZS4gMCBmb3IKICAgICAg
IC8vIHRoaW5ncyB0aGF0IGRvbid0IGhhdmUgYSB2ZXJzaW9uIG51bWJlcgog
ICAgICAgCiAgICAgfTsKICAgICAKICAgICAvLyBSZXByZXNlbnRzIHN0cmVh
bWluZyB0aHJvdWdoIGEgc2luZ2xlIGRhdGFiYXNlLCBlZyBvdmVyIGEgZmFz
dGEgZmlsZQogICAgIC8vIERvbid0IGZvcmdldCB0byBkZWZlcmVuY2Ugb2Jq
ZWN0cyBvbmNlIHRoZXkgYXJlIGRvbmUKCiAgICAgaW50ZXJmYWNlIFByaW1h
cnlTZXFJdGVyYXRvciA6IEdOT01FOjpVbmtub3duIHsKICAgICAgIFByaW1h
cnlTZXEgbmV4dCgpIHJhaXNlcyAoRW5kT2ZTdHJlYW0sVW5hYmxlVG9Qcm9j
ZXNzKTsKICAgICAgIGJvb2xlYW4gICAgaGFzX21vcmUoKTsgLy8gcmV0dXJu
cyAxIHdoZW4gbmV4dF9zZXEgd2lsbCBnaXZlIGFuIG9iamVjdCAKICAgICB9
OwogICAgIAogICAgIC8vIFByb3ZpZGVzIGEgZGF0YWJhc2UgbWFpbmx5IGZv
ciBkYXRhYmFzZSBzZWFyY2hpbmcuIENhbiBtYWtlIG5ldwogICAgIC8vIHN0
cmVhbXMgYW5kIGNhbiByZXRyaWV2ZSBzZXF1ZW5jZXMgZnJvbSB0aGUgZGF0
YWJhc2UuCgogICAgIGludGVyZmFjZSBQcmltYXJ5U2VxREIgOiBHTk9NRTo6
VW5rbm93biB7CiAgICAgICBzdHJpbmcgIGRhdGFiYXNlX25hbWUoKTsgICAg
IC8vIFRoaXMgaXMgdG8gaWRlbnRpZnkgZGF0YWJhc2VzIGJ5IG5hbWUKICAg
ICAgIHNob3J0ICAgZGF0YWJhc2VfdmVyc2lvbigpOyAgLy8gdmVyc2lvbiBv
ZiB0aGUgZGF0YWJhc2UKICAgICAgIFByaW1hcnlTZXFJdGVyYXRvciBtYWtl
X1ByaW1hcnlTZXFJdGVyYXRvcigpOyAvLyBtYWtlcyBhIG5ldyBpdGVyYXRv
ciBvYmplY3QuCiAgICAgICBQcmltYXJ5U2VxIGdldF9QcmltYXJ5U2VxKGlu
IHN0cmluZyBwcmltYXJ5X2lkKSByYWlzZXMgKFVuYWJsZVRvUHJvY2Vzcyk7
IC8vIFJldHJpZXZlcyBvbmUgc2VxdWVuY2UKICAgICB9OwogICAgIAoKICAg
ICAvLyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcGFzcyBiYWNrIGFkZGl0aW9u
YWwgc3RydWN0dXJlZCBpbmZvcm1hdGlvbgogICAgIC8vIGluIHNvbWUgY2Fz
ZXMuIFRoaXMgZ2l2ZXMgdXMgYSB3YXkgb2YgZG9pbmcgaXQgd2l0aG91dCBz
cGVjaWZ5aW5nIAogICAgIC8vIHRoZSBzdHJ1Y3R1cmUgYXQgY29tcGlsZSB0
aW1lLiBUcnkgbm90IHRvIGFidXNlIHRoaXMuLi4KICAgICAKICAgICAKICAg
ICAvLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYSBoYXNoIG9mIGFycmF5cyBp
biBwZXJsCgogICAgIHR5cGVkZWYgc2VxdWVuY2U8c3RyaW5nPiAgc3RyaW5n
TGlzdDsKICAgICBzdHJ1Y3QgTmFtZVZhbHVlU2V0IHsKICAgICAgIHN0cmlu
ZyBuYW1lOwogICAgICAgc3RyaW5nTGlzdCB2YWx1ZXM7CiAgICAgfTsKICAg
ICAKICAgICB0eXBlZGVmIHNlcXVlbmNlPE5hbWVWYWx1ZVNldD4gIE5hbWVW
YWx1ZVNldExpc3Q7CiAgICAgCiAgICAgLy8gU2VxRmVhdHVyZXMgYXJlIGZl
YXR1cmVzIG9uIGEgc2VxdWVuY2UuIFRoaXMgaXMgR0ZGCiAgICAgLy8gY29t
cGF0aWJsZS4gCiAgICAgCiAgICAgaW50ZXJmYWNlIFNlcUZlYXR1cmUgOiBH
Tk9NRTo6VW5rbm93biB7CiAgICAgICBzdHJpbmcgdHlwZSgpOyAgICAgICAg
ICAgLy8gZXhvbiwgcmVwZWF0IGV0Yy4KICAgICAgIHN0cmluZyBzb3VyY2Uo
KTsgICAgICAgICAvLyBzb3VyY2Ugb2YgdGhlIFNlcUZlYXR1cmUgbWFpbmx5
IGZvciBHRkYgY29tcGF0aWJpbGl0eQogICAgICAgc3RyaW5nIHNlcV9wcmlt
YXJ5X2lkKCk7IC8vIFRoaXMgZ2l2ZXMgdGhlIHByaW1hcnkgc2VxdWVuY2Ug
aWQgdGhpcyBpcyBsaW5rZWQgdG8uCiAgICAgICBsb25nIHN0YXJ0KCk7ICAg
ICAgICAgICAgLy8gc3RhcnQgaW4gYmlvbG9naWNhbCBjb29yZGluYXRlcyAo
MSBpcyB0aGUgZmlyc3QgYmFzZSkKICAgICAgIGxvbmcgZW5kKCk7ICAgICAg
ICAgICAgICAvLyBlbmQgaW4gYmlvbG9naWNhbCBjb29yZGluYXRlcyAoMS0y
IGFyZSB0aGUgZmlyc3QgdHdvIGJhc2VzIGluIGEgc2VxdWVuY2UpCiAgICAg
ICBzaG9ydCBzdHJhbmQoKTsgICAgICAgICAgLy8gLTEsMCwxLiAtMSBtZWFu
cyByZXZlcnNlLCAwIG1lYW5zIGVpdGhlciwgMSBtZWFucyBmb3J3YXJkLiBJ
cnJlbGV2YW50IGZvciBwcm90ZWlucwogICAgICAgTmFtZVZhbHVlU2V0TGlz
dCBxdWFsaWZpZXJzKCk7IC8vIGFkZGl0aW9uYWwgc3RydWN0dXJlZCBpbmZv
cm1hdGlvbgogICAgICAgYm9vbGVhbiAgICBQcmltYXJ5U2VxX2lzX2F2YWls
YWJsZSgpOyAgIC8vIHJldHVybnMgMSBpZiBpdCBkb2VzLCAwIGlmIG5vdC4K
ICAgICAgIFByaW1hcnlTZXEgZ2V0X1ByaW1hcnlTZXEoKSByYWlzZXMgKCBV
bmFibGVUb1Byb2Nlc3MgKTsgLy8gdGhlIFNlcXVlbmNlIG1heSBvciBtYXkg
bm90IGJlIHRoZXJlLgogICAgICAgICAgICAgICAvLyBpbXBsZW1lbnRvcnMg
YXJlIGZyZWUgdG8gY2hvb3NlCgogICAgIH07CgogICAgIHR5cGVkZWYgc2Vx
dWVuY2U8U2VxRmVhdHVyZT4gU2VxRmVhdHVyZUxpc3Q7CiAgICAvLyBXZSBo
YXZlIHRvIGhhbmRsZSBsYXJnZSBudW1iZXJzIG9mIGZlYXR1cmVzLiAKICAg
ICBpbnRlcmZhY2UgU2VxRmVhdHVyZUl0ZXJhdG9yIDogR05PTUU6OlVua25v
d24gewogICAgICAgU2VxRmVhdHVyZSBuZXh0KCkgcmFpc2VzIChFbmRPZlN0
cmVhbSxVbmFibGVUb1Byb2Nlc3MpOwogICAgICAgYm9vbGVhbiAgICBoYXNf
bW9yZSgpOwogICAgIH07CgoKICAgICAvLyBZZXMgd2Ugc2hvdWxkIGluaGVy
aWV0IG9mIFNlcUZlYXR1cmUgZm9yIG1vcmUgY29tcGxleCB0aGluZ3MuIFBs
ZWFzZSAKICAgICAvLyBpbmhlcmlldCBvZmYgU2VxRmVhdHVyZSBmb3IgeW91
ciBmYXZvdXJ0aWUgZmVhdHVyZSBleHRlbnNpb24hCiAgICAgCiAgICAgLy8g
VGhpcyBpcyBvbmUgaGVhdnkgb2JqZWN0LCBUaGlzIHNob3VsZCByZWFsbHkg
YmUgYSBudW1iZXIgb2YKICAgICAvLyBjb29yZGluYXRpbmcgb2JqZWN0cyB1
bmRlcm5lYXRoLiBOb3RpY2UgdGhhdCB0aGUgU2VxIG9iamVjdAogICAgIC8v
IGJvdGggaW5oZXJpZXRzIGZyb20gdGhlIFByaW1hcnlTZXEgaW50ZXJmYWNl
IGFuZCBhbHNvIGhhcy1hCiAgICAgLy8gUHJpbWFyeVNlcSBpbnRlcmZhY2Uu
IFRoaXMgaXMgZGVsaWJlcmF0ZSBzbyB0aGF0IGNsaWVudHMgY2FuCiAgICAg
Ly8gaW5kaWNhdGUgd2hlbiB0aGV5IHJlYWxseSB3YW50IHRvIGRpc2NhcmQg
YSBjb21wbGV0ZSBzZXF1ZW5jZQogICAgIC8vIHdpdGggZmVhdHVyZXMgYnkg
ZnJlZWluZyBidXQgc3RpbGwgaG9sZCBvbiB0byB0aGUgb3JpZ2luYWwgCiAg
ICAgLy8gcHJpbWFyeSBzZXF1ZW5jZS4KCiAgICAgLy8gb3RoZXJ3aXNlIHNl
cnZlcnMgd2lsbCBoYXZlIGV4dHJlbWVseSBsYXJnZSBvYmplY3RzIGZvciBl
dmVyeQogICAgIC8vIHNlcXVlbmNlIGluIGZlYXR1cmUgcmljaCBkYXRhYmFz
ZXMgKGJhZCkuCiAgICAgCiAgICAgaW50ZXJmYWNlIFNlcSA6IFByaW1hcnlT
ZXEgewogICAgICAgU2VxRmVhdHVyZUxpc3QgICAgIGFsbF9mZWF0dXJlcygp
IHJhaXNlcyAoUmVxdWVzdFRvb0xhcmdlKTsKICAgICAgIFNlcUZlYXR1cmVJ
dGVyYXRvciBhbGxfZmVhdHVyZXNfaXRlcmF0b3IoKTsKICAgICAgIAogICAg
ICAgU2VxRmVhdHVyZUxpc3QgICAgIGZlYXR1cmVzX3JlZ2lvbihpbiBsb25n
IHN0YXJ0LGluIGxvbmcgZW5kKSAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByYWlzZXMgKE91dE9mUmFuZ2UsVW5hYmxlVG9Qcm9jZXNzLFJl
cXVlc3RUb29MYXJnZSk7CiAgICAgICBTZXFGZWF0dXJlSXRlcmF0b3IgZmVh
dHVyZXNfcmVnaW9uX2l0ZXJhdG9yKGluIGxvbmcgc3RhcnQsaW4gbG9uZyBl
bmQpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlcyAo
T3V0T2ZSYW5nZSxVbmFibGVUb1Byb2Nlc3MpOwoKICAgICAgIGxvbmcgICAg
ICAgICAgICAgICBtYXhfZmVhdHVyZV9yZXF1ZXN0KCk7CgoKCiAgICAgICAv
LyBUaGlzIGlzIHB1dCBoZXJlIHNvIHRoYXQgY2xpZW50cyBjYW4gYXNrIHNl
cnZlcnMganVzdCBmb3IgdGhlCiAgICAgICAvLyBzZXF1ZW5jZSBhbmQgdGhl
biBmcmVlIHRoZSBsYXJnZSwgc2VxZmVhdHVyZSBjb250YWluaW5nIHNlcXVl
bmNlLgogICAgICAgLy8gSXQgcHJldmVudHMgYSBzZXF1ZW5jZSB3aXRoIGZl
YXR1cmVzIGhhdmluZyB0byBzdGF5IGluIG1lbW9yeSBmb3IgZXZlci4KCgoK
ICAgICAgIFByaW1hcnlTZXEgICAgICAgICBnZXRfUHJpbWFyeVNlcSgpOyAK
ICAgICB9OyAgCgogICAgIHR5cGVkZWYgc3RyaW5nIHByaW1hcnlpZDsKICAg
ICB0eXBlZGVmIHNlcXVlbmNlPHByaW1hcnlpZD4gIHByaW1hcnlpZExpc3Q7
CgoKICAgICBpbnRlcmZhY2UgU2VxREIgOiBQcmltYXJ5U2VxREIgewogICAg
ICAgU2VxIGdldF9TZXEoaW4gc3RyaW5nIHByaW1hcnlfaWQpIHJhaXNlcyAo
VW5hYmxlVG9Qcm9jZXNzKTsgLy8gUmV0cmlldmVzIG9uZSBzZXF1ZW5jZQog
ICAgICAgcHJpbWFyeWlkTGlzdCBnZXRfcHJpbWFyeWlkTGlzdCgpOwogICAg
IH07CiAgICAKICAgLy8gbXV0YWJsZSBzZXF1ZW5jZSBjYW4gYWRkLCByZW1v
dmUsIG9yIHVwZGF0ZSBzZXF1ZW5jZXMKCiAgICAgdHlwZWRlZiBzZXF1ZW5j
ZTxTZXE+ICBTZXFMaXN0OwogICAgIHR5cGVkZWYgc2VxdWVuY2U8UHJpbWFy
eVNlcT4gIFByaW1hcnlTZXFMaXN0OwoKICAgICBpbnRlcmZhY2UgVXBkYXRl
YWJsZVNlcURCIDogU2VxREIgCiAgICAgeyAgICAKICAgICAgIHZvaWQgd3Jp
dGVfU2VxKGluIFNlcUxpc3QgdXBkYXRlZFNlcXMsIAogICAgICAgICAgICBp
biBTZXFMaXN0IGFkZGVkU2VxcywKICAgICAgICAgICAgaW4gU2VxTGlzdCBk
ZWFkU2VxcykgCiAgICAgICAgIHJhaXNlcyAoIE5lZWRzVXBkYXRlLAogICAg
ICAgICAgICAgVW5hYmxlVG9Qcm9jZXNzLCBPdXRPZlJhbmdlICk7CiAgICAg
ICAKICAgICAgIHZvaWQgd3JpdGVfUHJpbWFyeVNlcShpbiBQcmltYXJ5U2Vx
TGlzdCB1cGRhdGVkU2VxcywgCiAgICAgICAgICAgICAgaW4gUHJpbWFyeVNl
cUxpc3QgYWRkZWRTZXFzLAogICAgICAgICAgICAgIGluIFByaW1hcnlTZXFM
aXN0IGRlYWRTZXFzKSAKICAgICAgICAgcmFpc2VzICggTmVlZHNVcGRhdGUs
IFVuYWJsZVRvUHJvY2VzcywgT3V0T2ZSYW5nZSApOwoKICAgICB9OwoKICAg
ICAvLyB0aGlzIGFsbG93cyB0byBnZXQgaG9sZCBvZiBhbiBvYmplY3Qgd2hp
Y2ggd2lsbCByZXByZXNlbnQgCiAgICAgLy8gYWNjZXNzaWJsZSBjb2RlIG9u
IGEgcGFydGljdWxhciBzZXJ2ZXIuIE5vdGljZSB0aGF0IHdlIGFsbG93IGNv
bmNlcHRzCiAgICAgLy8gbGlrZSBmaWxlbmFtZXMgaGVyZS4gSWYgc28gd2lz
aGVkLCB0aGUgc2VydmVyIGNhbiB0aHJvdyBhbiBleGNlcHRpb24KICAgICAv
LyBvbiBhbGwgdGhlIGZpbGVuYW1lIGNvZGUgKGVnLCBjbGllbnQgaXMgb24g
YSBkaWZmZXJlbnQgbWFjaGluZSB0byBzZXJ2ZXIhKQogICAgIAoKICAgICBp
bnRlcmZhY2UgQmlvRW52IHsKICAgICAgIC8vIGZvcm1hdCBjYW4gYW4gZW1w
dHkgc3RyaW5nLCBpbiB3aGljaCBjYXNlIEJpb0VudiBzZXJ2ZXIgZ3Vlc3Nl
cy8KICAgICAgIC8vIHRocm93cyBhbiBleGNlcHRpb24sIGRlcGVuZGluZyBv
biB3aGF0IGl0IGZlZWxzIGxpa2UKCiAgICAgICBQcmltYXJ5U2VxSXRlcmF0
b3IgUHJpbWFyeVNlcUl0ZXJhdG9yX2Zyb21fZmlsZShpbiBzdHJpbmcgZm9y
bWF0LGluIHN0cmluZyBmaWxlbmFtZSkgcmFpc2VzIChVbmFibGVUb1Byb2Nl
c3MpOwogICAgICAgUHJpbWFyeVNlcSAgICAgICAgIFByaW1hcnlTZXFfZnJv
bV9maWxlKGluIHN0cmluZyBmb3JtYXQsaW4gc3RyaW5nIGZpbGVuYW1lKSBy
YWlzZXMgKFVuYWJsZVRvUHJvY2Vzcyk7CiAgICAgICBTZXEgICAgICAgICAg
ICAgICAgU2VxX2Zyb21fZmlsZShpbiBzdHJpbmcgZm9ybWF0LGluIHN0cmlu
ZyBmaWxlbmFtZSk7CgogICAgICAgLy8gdmVyc2lvbiBjYW4gYmUgZW1wdHks
IGluIHdoaWNoIGNhc2UsIGFzc3VtbWUgdGhlIGxhdGVzdCB2ZXJzaW9uCgog
ICAgICAgU2VxREIgICAgICAgICAgICAgIFNlcURCX2J5X25hbWUoaW4gc3Ry
aW5nIG5hbWUsaW4gc3RyaW5nIHZlcnNpb24pOwogICAgIH07ICAgIAoKICAg
fTsgLy8gZW5kIFNlcWNvcmUgbW9kdWxlCiAgICAgfTsgLy8gZW5kIEJpb2Nv
cmJhIG1vZHVsZQogICB9OyAvLyBlbmQgb3JnIG1vZHVsZQoK
--23824084-24855-973271672=:74
Content-Type: APPLICATION/octet-stream; name="EmblBiocorbaClient.pl"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.WNT.4.05.10011031714321.74@medusa.ebi.ac.uk>
Content-Description: 
Content-Disposition: attachment; filename="EmblBiocorbaClient.pl"

IyEvc3cvYXJjaC9iaW4vcGVybCAtdwoKIyBVc2FnZTogcGVybCBFbWJsQmlv
Y29yYmFDbGllbnQucGwgPGxpc3Qgb2YgYWNjZXNzaW9ucyAmIGVudHJ5IG5h
bWVzPgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBUaGVyZSBh
cmUgb25seSAqVEhSRUUqIHNwZWNpZmljIENPUkJBIGNvbW1hbmRzIGZvciB0
aGlzIGNsaWVudDogICAgICAgICMKIyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICMKIyAgLSB1c2UgQ09SQkE6Ok9SQml0IGlkbCA9PiBbIHF3KC9ob21l
cy9hbGFuL0NPUkJBL0lETC9CaW9Db3JiYS5pZGwpIF07ICMKIyAgLSAkb3Ji
ID0gQ09SQkE6Ok9SQl9pbml0KCJvcmJpdC1sb2NhbC1vcmIiKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICMKIyAgLSAkYmlvZW52ID0gJG9yYi0+c3Ry
aW5nX3RvX29iamVjdCgkaW9yKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICMKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKIyBPbmNlICRi
aW9lbnYgaXMgcmV0dXJuZWQsIHVzaW5nIHRoZSBDT1JCQSBvYmplY3RzIGlz
ICpJREVOVElDQUwqIHRvICAgICMKIyB1c2luZyByZWd1bGFyIG9iamVjdHMs
IGFycmF5cywgaGFzaGVzIGFuZCB2YXJpYWJsZXMgaW4gcGVybC4gICAgICAg
ICAgICMKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgQ2hlY2sgdGhlIGlucHV0IGxpbmUu
CmlmIChAQVJHViA8IDEgKSB7IAogIHByaW50ICJVc2FnZTogcGVybCBFbWJs
QmlvY29yYmFDbGllbnQucGwgPGxpc3Qgb2YgYWNjZXNzaW9ucyAmIGVudHJ5
IG5hbWVzPlxuIjsKICBwcmludCAiICAgRS5nLiB0cnk6IHBlcmwgRW1ibEJp
b2NvcmJhQ2xpZW50LnBsIEhTRVJQR1xuIjsKICBleGl0Owp9CgojIFVzZSB0
aGUgTFdQOjpTaW1wbGUgcGFja2FnZS4KdXNlIExXUDo6U2ltcGxlOwoKIyBM
b2FkIGluIHRoZSBJREwgZmlsZSB0aGF0IGRlc2NyaWJlcyB0aGUgb2JqZWN0
cyBhdmFpbGFibGUgYW5kIHRoZSBtZXRob2RzIHRoZXkgaGF2ZS4KIyBTZWUg
aHR0cDovL3d3dy5iaW9jb3JiYS5vcmcgZm9yIGEgZGVzY3JpcHRpb24gb2Yg
dGhlIEJpb2NvcmJhIElETC4KdXNlIENPUkJBOjpPUkJpdCBpZGwgPT4gWyBx
dygvaG9tZXMvYWxhbi9DT1JCQS9JREwvQmlvQ29yYmEuaWRsKSBdOwoKIyBD
cmVhdGUgYW4gT1JCIG9iamVjdCB0aGF0IHdpbGwgaGFuZGxlIGNvbW11bmlj
YXRpb24uCiRvcmIgPSBDT1JCQTo6T1JCX2luaXQoIm9yYml0LWxvY2FsLW9y
YiIpOwoKIyBUaGUgSU9SIGlzIGxpa2UgYSBVUkwgZm9yIGEgQ09SQkEgb2Jq
ZWN0LiBJIG1ha2UgdGhlIElPUnMgb2YgbXkgc2VydmVycyBhdmFpbGFibGUg
CiMgdmlhIGh0dHAuIFRoZSBFTUJMIEJpb2NvcmJhIHNlcnZlciBJT1IgaXMg
bG9jYXRlZCBoZXJlOgokdXJsID0gImh0dHA6Ly9pbmR1c3RyeS5lYmkuYWMu
dWsvfmFsYW4vSU9SL29yZy5CaW9jb3JiYS5TZXFjb3JlLkJpb0VudlBPQUlt
cGwtU2VydmVyLmlvciI7CgojIFJlYWQgdGhlIElPUiBmcm9tIGEgVVJMIGlu
dG8gYSB2YXJpYWJsZSB1c2luZyBMV1A6OlNpbXBsZS4KJGlvciA9IGdldCgk
dXJsKTsKCiMgQ2hvbXAgYW55IHRlcm1pbmFsICdcbicgYW5kIHdoaXRlc3Bh
Y2Ugb2ZmIHRoZSBJT1Igc3RyaW5nLgpjaG9tcCgkaW9yKTsKCiMgVXNlIHRo
ZSAkb3JiIHRvIGRlY29kZSB0aGUgSU9SIGFuZCBnZXQgYSByZWZlcmVuY2Ug
dG8gaXRzIENPUkJBIG9iamVjdCBhdCB0aGUgRUJJLgokYmlvZW52ID0gJG9y
Yi0+c3RyaW5nX3RvX29iamVjdCgkaW9yKTsKCgojIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKIyBDYW4gbm93IHN0YXJ0IHVzaW5nIHRoZSAkYmlvZW52IG9iamVj
dCBsaWtlIGFueSBvdGhlciBvYmplY3QhISAjCiMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwoKIyBHZXQgYSByZWZlcmVuY2UgdG8gYSBTZXFEQiBmb20gJGJpb2Vu
di4gVGhlICJFTUJMIG51Y2xldGlkZSBzZXF1ZW5jZSBkYXRhYmFzZQojIGlz
IGNhbGxlZCAiRU1CTCIgb3IgIkVNQkwtQmFuayIuIAokc2VxREIgPSAkYmlv
ZW52LT5TZXFEQl9ieV9uYW1lKCJFTUJMIiwgIiIpOwoKIyBQcmludCBvdXQg
aW5mb3JtYXRpb24gYWJvdXQgdGhlIGRhdGFiYXNlLgpwcmludCAiRGF0YWJh
c2UgbmFtZTogIi4kc2VxREItPmRhdGFiYXNlX25hbWUuIlxuIjsKcHJpbnQg
IkRhdGFiYXNlIHZlcnNpb246ICIuJHNlcURCLT5kYXRhYmFzZV92ZXJzaW9u
LiJcbiI7CgojIEdvIG92ZXIgYWxsIHRoZSBlbnRyaWVzIHJlcXVlc3RlZDoK
Zm9yZWFjaCAkc2VxTmFtZSAoQEFSR1YpIHsKCiAgIyBHZXQgYSByZWZlcmVu
Y2UgdG8gYW4gRU1CTCBTZXEgZW50cnkuCiAgJHNlcSA9ICRzZXFEQi0+Z2V0
X1NlcSgkc2VxTmFtZSk7CgogICMgUHJpbnQgb3V0IHRoZSB0eXBlIG9mIHRo
ZSBzZXF1ZW5jZS4KICBwcmludCAiVHlwZTogIi4kc2VxLT50eXBlLiJcbiI7
CiAgCiAgIyBQcmludCBvdXQgdGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2Uu
CiAgcHJpbnQgIlNlcXVlbmNlIGxlbmd0aDogIi4kc2VxLT5sZW5ndGguIlxu
IjsKICAKICAjIFByaW50IG91dCB0aGUgRE5BIHNlcXVlbmNlCiAgIyBwcmlu
dCAiU2VxdWVuY2U6ICIuJHNlcS0+Z2V0X3NlcS4iXG4iOwogIAogICMgUHJp
bnQgb3V0IGEgc3Vic2VxdWVuY2UuCiAgcHJpbnQgIlNlcXVlbmNlIFsxLi42
MF06ICIuJHNlcS0+Z2V0X3N1YnNlcSgxLDYwKS4iXG4iOwogIAogICMgUHJp
bnQgb3V0IHRoZSBtYXggbGVuZ3RoIHRoYXQgY2FuIGJlIHJldHVybmVkLgog
IHByaW50ICJNYXhpbXVtIGxlbmd0aDogIi4kc2VxLT5tYXhfcmVxdWVzdF9s
ZW5ndGguIlxuIjsKICAKICAjIFByaW50IG91dCB0aGUgRGlzcGxheSBJRC4K
ICBwcmludCAiRGlzcGxheSBJRDogIi4kc2VxLT5kaXNwbGF5X2lkLiJcbiI7
CiAgCiAgIyBQcmludCBvdXQgdGhlIHByaW1hcnkgaWQuCiAgcHJpbnQgIlBy
aW1hcnkgSUQ6ICIuJHNlcS0+cHJpbWFyeV9pZC4iXG4iOwogIAogICMgUHJp
bnQgb3V0IHRoZSBhY2Nlc3Npb24gbnVtYmVyLgogIHByaW50ICJBY2Nlc3Np
b24gTnVtYmVyOiAiLiRzZXEtPmFjY2Vzc2lvbl9udW1iZXIuIlxuIjsKICAK
ICAjIFByaW50IG91dCB0aGUgc2VxdWVuY2UgdmVyc2lvbi4KICBwcmludCAi
VmVyc2lvbjogIi4kc2VxLT52ZXJzaW9uLiJcbiI7CiAgCiAgCiAgIyBSZXR1
cm4gdGhlIHNlcXVlbmNlIGZlYXR1cmVzIGFycmF5LgogIEBzZXFGZWF0dXJl
TGlzdCA9IEB7JHNlcS0+YWxsX2ZlYXR1cmVzfTsKICAKICAjIEdvIG92ZXIg
ZWFjaCBvZiB0aGUgU2VxRmVhdHVyZXMgYW5kIHByaW50IG91dCB0aGUgcHJv
cGVydGllcy4KICBmb3JlYWNoICRzZXFGZWF0dXJlIChAc2VxRmVhdHVyZUxp
c3QpIHsKICAgIHByaW50ICJcdFNlcUZlYXR1cmUgXG4iOwogICAgcHJpbnQg
Ilx0XHRUeXBlOiAiLiRzZXFGZWF0dXJlLT50eXBlLiJcbiI7CiAgICBwcmlu
dCAiXHRcdFNvdXJjZTogIi4kc2VxRmVhdHVyZS0+c291cmNlLiJcbiI7CiAg
ICBwcmludCAiXHRcdFNlcSBQcmltYXJ5IElEOiAiLiRzZXFGZWF0dXJlLT5z
ZXFfcHJpbWFyeV9pZC4iXG4iOwogICAgcHJpbnQgIlx0XHRTdGFydDogIi4k
c2VxRmVhdHVyZS0+c3RhcnQuIlxuIjsKICAgIHByaW50ICJcdFx0RW5kOiAi
LiRzZXFGZWF0dXJlLT5lbmQuIlxuIjsKICAgIHByaW50ICJcdFx0U3RyYW5k
OiAiLiRzZXFGZWF0dXJlLT5zdHJhbmQuIlxuIjsKICAgIHByaW50ICJcdFx0
UHJpbWFyeVNlcSBpcyBhdmFpbGFibGU6ICIuJHNlcUZlYXR1cmUtPlByaW1h
cnlTZXFfaXNfYXZhaWxhYmxlLiJcbiI7CiAgCiAgICAjIEdldCB0aGUgYXJy
YXkgbmFtZS12YWx1ZSBxdWFsaWZpZXJzIGZvciB0aGlzIFNlcUZlYXR1cmUu
CiAgICBAcXVhbGlmaWVyTGlzdCA9IEB7JHNlcUZlYXR1cmUtPnF1YWxpZmll
cnN9OwogICAgCiAgICAjIEdvIG92ZXIgZWFjaCBuYW1lLXZhbHVlIHF1YWxp
Zmllci4gRWFjaCBxdWFsaWZpZXIgaXMgZGVmaW5lZCAKICAgICMgYXMgYSBz
dHJ1Y3QgaW4gdGhlIElETC4KICAgIGZvcmVhY2ggJHF1YWxpZmllciAoQHF1
YWxpZmllckxpc3QpIHsKICAgICAgI0dldCB0aGUgbGlzdCBvZiB2YWx1ZXMu
CiAgICAgIEB2YWx1ZUxpc3QgPSBAeyRxdWFsaWZpZXItPnt2YWx1ZXN9fTsK
ICAgICAgcHJpbnQgIlx0XHRcdFF1YWxpZmllcjpcbiI7CiAgICAgICMgR28g
b3ZlciBlYWNoIHZhbHVlLgogICAgICBmb3JlYWNoICR2YWx1ZSAoQHZhbHVl
TGlzdCkgewogICAgICAgIHByaW50ICJcdFx0XHRcdCIuJHF1YWxpZmllci0+
e25hbWV9LiIgPSAiLiR2YWx1ZS4iXG4iOwogICAgICB9CiAgCiAgICB9CiAg
ICAKICB9CiAgCiAgCiAgIyBVc2UgYSBTZXFGZWF0dXJlSXRlcmF0b3IuCgog
ICRzZXFGZWF0dXJlSXRlcmF0b3IgPSAkc2VxLT5mZWF0dXJlc19yZWdpb25f
aXRlcmF0b3IoMSwgJHNlcS0+bGVuZ3RoLzIpOwogIAogIHByaW50ICJcblxu
XG5TZXFGZWF0dXJlSXRlcmF0b3IgZXhhbXBsZVxuXG5Mb2NhdGlvbiAoMS4u
Ii4oJHNlcS0+bGVuZ3RoLzIpLiIpXG4iOwogIAogIHdoaWxlICgkc2VxRmVh
dHVyZUl0ZXJhdG9yLT5oYXNfbW9yZSkgewogICAgJHNlcUZlYXR1cmUgPSAk
c2VxRmVhdHVyZUl0ZXJhdG9yLT5uZXh0OwogICAgcHJpbnQgIlx0Ii4kc2Vx
RmVhdHVyZS0+dHlwZS4iOiAoIi4kc2VxRmVhdHVyZS0+c3RhcnQuIi4uIi4k
c2VxRmVhdHVyZS0+ZW5kLiIpLlxuIjsKICB9Cn0K
--23824084-24855-973271672=:74
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="EmblBiocorbaClient.java"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.WNT.4.05.10011031714322.74@medusa.ebi.ac.uk>
Content-Description: 
Content-Disposition: attachment; filename="EmblBiocorbaClient.java"

aW1wb3J0IG9yZy5CaW9jb3JiYS5TZXFjb3JlLio7DQppbXBvcnQgamF2YS5p
by5CdWZmZXJlZFJlYWRlcjsNCmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFt
UmVhZGVyOw0KaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRJbnB1dFN0cmVhbTsN
Cg0KcHVibGljIGNsYXNzIEVtYmxCaW9jb3JiYUNsaWVudCB7DQoNCiAgICBw
dWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgew0KCS8v
UmVmZXJlbmNlIGZvciBhY2Nlc3Npb25fbnVtYmVyLg0KCVN0cmluZyBhY2Nl
c3Npb25fbnVtYmVyOw0KCQ0KCWlmIChhcmdzLmxlbmd0aCA8IDEpDQoJICAg
IGFjY2Vzc2lvbl9udW1iZXIgPSAiSFNFUlBHIjsNCgllbHNlDQoJICAgIGFj
Y2Vzc2lvbl9udW1iZXIgPSBhcmdzWzBdOw0KDQoJdHJ5IHsNCg0KCSAgICAv
L0NyZWF0ZSB0aGUgbG9jYXRpb24gb2YgdGhlIElPUiBmaWxlLg0KICAgICAg
ICAgICAgamF2YS5uZXQuVVJMIHVybCA9IA0KCQluZXcgamF2YS5uZXQuVVJM
KCJodHRwOi8vaW5kdXN0cnkuZWJpLmFjLnVrL35hbGFuL0lPUi9vcmcuQmlv
Y29yYmEuU2VxY29yZS5CaW9FbnZQT0FJbXBsLVNlcnZlci5pb3IiKTsNCg0K
CSAgICAvL0dldCB0aGUgSU9SIGZvciB0aGUgc2VydmVyLg0KCSAgICBCdWZm
ZXJlZFJlYWRlciByZWFkZXIgPSBuZXcgQnVmZmVyZWRSZWFkZXINCgkJKG5l
dyBJbnB1dFN0cmVhbVJlYWRlcg0KCQkgICAgKG5ldyBCdWZmZXJlZElucHV0
U3RyZWFtDQoJCQkodXJsLm9wZW5TdHJlYW0oKSkpKTsNCgkgICAgU3RyaW5n
IGlvciA9IHJlYWRlci5yZWFkTGluZSgpOw0KCSAgICByZWFkZXIuY2xvc2Uo
KTsNCgkgICAgDQoJICAgIC8vQ3JlYXRlIGFuIE9SQiBvYmplY3QuDQoJICAg
IG9yZy5vbWcuQ09SQkEuT1JCIG9yYiA9IG9yZy5vbWcuQ09SQkEuT1JCLmlu
aXQobmV3IFN0cmluZ1swXSwgbnVsbCk7DQoNCgkgICAgLy9DcmVhdGUgdGhl
IENPUkJBIG9iamVjdCBmcm9tIHRoZSBJT1IuDQogICAgICAgICAgICBvcmcu
b21nLkNPUkJBLk9iamVjdCBvYmogPSBvcmIuc3RyaW5nX3RvX29iamVjdChp
b3IpOw0KICAgICAgICAgICAgDQoJICAgIC8vTmFycm93IGl0IHRvIGEgQmlv
RW52IG9iamVjdC4NCiAgICAgICAgICAgIEJpb0VudiBiaW9FbnYgPSBCaW9F
bnZIZWxwZXIubmFycm93KG9iaik7DQogICAgICAgICAgICANCgkgICAgLy9S
ZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIEVNQkwgZGF0YWJhc2UuDQoJICAg
IFNlcURCIHNlcURCID0gYmlvRW52LlNlcURCX2J5X25hbWUoIkVNQkwtQmFu
ayIsICIiKTsNCg0KCSAgICAvL1ByaW50IG91dCBpbmZvcm1hdGlvbiBhYm91
dCB0aGUgZGF0YWJhc2UuDQoJICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRGF0
YWJhc2UgbmFtZTogIitzZXFEQi5kYXRhYmFzZV9uYW1lKCkpOw0KCSAgICBT
eXN0ZW0ub3V0LnByaW50bG4oIkRhdGFiYXNlIHZlcnNpb246ICIrc2VxREIu
ZGF0YWJhc2VfdmVyc2lvbigpKTsNCgkgICAgDQoNCgkgICAgLy9Gcm9tIHRo
ZSBTZXFEQiBkYXRhYmFzZSwgcmV0dXJuIGEgU2VxIG9iamVjdCBmb3IgdGhl
DQoJICAgIC8vZ2l2ZW4gYWNjZXNzaW9uX251bWJlci4NCgkgICAgU2VxIHNl
cSA9IHNlcURCLmdldF9TZXEoYWNjZXNzaW9uX251bWJlcik7DQoNCgkgICAg
aW50IF90eXBlID0gc2VxLnR5cGUoKS52YWx1ZSgpOw0KCSAgICBTdHJpbmcg
dHlwZSA9ICIiOw0KDQoJICAgIHN3aXRjaCAoX3R5cGUpIHsNCgkgICAgY2Fz
ZSAoU2VxVHlwZS5fRE5BKTogDQoJCXsNCgkJICAgIHR5cGUgPSAiRE5BIjsN
CgkJICAgIGJyZWFrOw0KCQl9DQoJICAgIGNhc2UgKFNlcVR5cGUuX1JOQSk6
DQoJCXsNCgkJICAgIHR5cGUgPSAiUk5BIjsNCgkJICAgIGJyZWFrOw0KCQl9
DQoJICAgIGNhc2UgKFNlcVR5cGUuX1BST1RFSU4pOg0KCQl7DQoJCSAgICB0
eXBlID0gInByb3RlaW4iOw0KCQkgICAgYnJlYWs7DQoJCX0NCgkgICAgZGVm
YXVsdDogDQoJCXsNCgkJICAgIHR5cGUgPSAiVW5rbm93biI7DQoJCSAgICBi
cmVhazsNCgkJfQ0KCSAgICB9DQoNCgkgICAgLy9QcmludCBvdXQgaW5mb3Jt
YXRpb24gYWJvdXQgdGhlIFNlcS4NCgkgICAgU3lzdGVtLm91dC5wcmludGxu
KCJUeXBlOiAiK3R5cGUpOw0KCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkxl
bmd0aDogIitzZXEubGVuZ3RoKCkpOw0KCSAgICAvLwkgICAgU3lzdGVtLm91
dC5wcmludGxuKCJTZXF1ZW5jZTogIitzZXEuZ2V0X3NlcSgpKTsNCgkgICAg
U3lzdGVtLm91dC5wcmludGxuKCJTZXF1ZW5jZVsyLi41XTogIitzZXEuZ2V0
X3N1YnNlcSgyLDUpKTsNCgkgICAgU3lzdGVtLm91dC5wcmludGxuKCJNYXgg
bGVuZ3RoOiAiK3NlcS5tYXhfcmVxdWVzdF9sZW5ndGgoKSk7DQoJICAgIFN5
c3RlbS5vdXQucHJpbnRsbigiRGlzcGxheSBJRDogIitzZXEuZGlzcGxheV9p
ZCgpKTsNCgkgICAgU3lzdGVtLm91dC5wcmludGxuKCJQcmltYXJ5IElEOiAi
K3NlcS5wcmltYXJ5X2lkKCkpOw0KCSAgICBTeXN0ZW0ub3V0LnByaW50bG4o
IkFjY2Vzc2lvbiBOdW1iZXI6ICIrc2VxLmFjY2Vzc2lvbl9udW1iZXIoKSk7
DQoJICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVmVyc2lvbjogIitzZXEudmVy
c2lvbigpKTsNCgkgICAgDQoJICAgIC8vR2V0IHRoZSBTZXFGZWF0dXJlcy4N
CgkgICAgU2VxRmVhdHVyZVtdIHNlcUZlYXR1cmVMaXN0ID0gc2VxLmFsbF9m
ZWF0dXJlcygpOw0KDQoJICAgIC8vUHJpbnQgb3V0IGluZm9ybWF0aW9uIGFi
b3V0IHRoZSBTZXFGZWF0dXJlcy4NCgkgICAgU3lzdGVtLm91dC5wcmludGxu
KCJOdW1iZXIgb2YgU2VxRmVhdHVyZXM6ICIrc2VxRmVhdHVyZUxpc3QubGVu
Z3RoKTsNCgkgICAgDQoJICAgIC8vR28gb3ZlciBlYWNoIFNlcUZlYXR1cmUg
aW4gdGhlIFNlcUZlYXR1cmVMaXN0Lg0KCSAgICBmb3IgKGludCBpPTA7IGk8
c2VxRmVhdHVyZUxpc3QubGVuZ3RoOyBpKyspIHsNCgkJU3lzdGVtLm91dC5w
cmludGxuKCJcdFNlcUZlYXR1cmUgIitpKyI6ICIpOw0KCQlTeXN0ZW0ub3V0
LnByaW50bG4oIlx0XHRUeXBlOiAiK3NlcUZlYXR1cmVMaXN0W2ldLnR5cGUo
KSk7DQoJCVN5c3RlbS5vdXQucHJpbnRsbigiXHRcdFNvdXJjZTogIitzZXFG
ZWF0dXJlTGlzdFtpXS5zb3VyY2UoKSk7DQoJCVN5c3RlbS5vdXQucHJpbnRs
bigiXHRcdFNlcSBQcmltYXJ5IElEOiAiK3NlcUZlYXR1cmVMaXN0W2ldLnNl
cV9wcmltYXJ5X2lkKCkpOw0KCQlTeXN0ZW0ub3V0LnByaW50bG4oIlx0XHRT
dGFydDogIitzZXFGZWF0dXJlTGlzdFtpXS5zdGFydCgpKTsNCgkJU3lzdGVt
Lm91dC5wcmludGxuKCJcdFx0RW5kOiAiK3NlcUZlYXR1cmVMaXN0W2ldLmVu
ZCgpKTsNCgkJU3lzdGVtLm91dC5wcmludGxuKCJcdFx0U3RyYW5kOiAiK3Nl
cUZlYXR1cmVMaXN0W2ldLnN0cmFuZCgpKTsNCgkJU3lzdGVtLm91dC5wcmlu
dGxuKCJcdFx0UHJpbWFyeVNlcSBpcyBhdmFpbGFibGU6ICIrc2VxRmVhdHVy
ZUxpc3RbaV0uUHJpbWFyeVNlcV9pc19hdmFpbGFibGUoKSk7DQoNCgkJLy9H
ZXQgdGhlIE5hbWVTZXRWYWx1ZUxpc3QuDQoJCU5hbWVWYWx1ZVNldFtdIHF1
YWxpZmllcnMgPSBzZXFGZWF0dXJlTGlzdFtpXS5xdWFsaWZpZXJzKCk7DQoJ
CQ0KCQlTeXN0ZW0ub3V0LnByaW50bG4oIlx0XHROdW1iZXIgb2YgcXVhbGlm
aWVyczogIitxdWFsaWZpZXJzLmxlbmd0aCk7DQoNCgkJLy9HbyBvdmVyIGVh
Y2ggb2YgdGhlc2UgUXVhbGlmaWVyczoNCgkJZm9yIChpbnQgaj0wOyBqPCBx
dWFsaWZpZXJzLmxlbmd0aDsgaisrKSB7DQoJCSAgICAvL1ByaW50IG91dCB0
aGUgUXVhbGlmaWVyIG5hbWUgYW5kIGFsbCBpdHMgdmFsdWVzLg0KCQkgICAg
aWYgKHF1YWxpZmllcnNbal0udmFsdWVzLmxlbmd0aCA+IDApIHsNCgkJCVN5
c3RlbS5vdXQucHJpbnRsbigiXHRcdFx0UXVhbGlmaWVyICIrDQoJCQkJCSAg
IGorIjogIisNCgkJCQkJICAgcXVhbGlmaWVyc1tqXS5uYW1lKyIgPSAiKw0K
CQkJCQkgICBxdWFsaWZpZXJzW2pdLnZhbHVlc1swXSk7DQoJCSAgICB9IGVs
c2Ugew0KCQkJU3lzdGVtLm91dC5wcmludGxuKCJcdFx0XHRRdWFsaWZpZXIg
IisNCgkJCQkJICAgaisiOiAiKw0KCQkJCQkgICBxdWFsaWZpZXJzW2pdLm5h
bWUrIiA9ICIrDQoJCQkJCSAgICJudWxsIik7DQoJCQlTeXN0ZW0uZXJyLnBy
aW50bG4oIk5vIHZhbHVlIGZvciBxdWFsaWZpZXI6ICIrDQoJCQkJCSAgIHF1
YWxpZmllcnNbal0ubmFtZSsNCgkJCQkJICAgIiBhdCAiKw0KCQkJCQkgICBz
ZXFGZWF0dXJlTGlzdFtpXS5zdGFydCgpKw0KCQkJCQkgICAiLi4iKw0KCQkJ
CQkgICBzZXFGZWF0dXJlTGlzdFtpXS5lbmQoKSk7DQoJCSAgICB9CQkJDQoJ
CSAgICBmb3IgKGludCBrPTE7IGs8cXVhbGlmaWVyc1tqXS52YWx1ZXMubGVu
Z3RoOyBrKyspIHsNCgkJCVN5c3RlbS5vdXQucHJpbnRsbigiXHRcdFx0XHRc
dCIrcXVhbGlmaWVyc1tqXS52YWx1ZXNba10pOw0KCQkgICAgfQ0KCQl9DQoJ
ICAgIH0NCgkNCgkgICAgDQoJICAgIC8vUmV0dXJuIGEgU2VxRmVhdHVyZUl0
ZXJhdG9yIGZvciB0aGUgZmlyc3QgaGFsZiBvZiB0aGUNCgkgICAgLy9zZXF1
ZW5jZS4NCgkgICAgU2VxRmVhdHVyZUl0ZXJhdG9yIHNlcUZlYXR1cmVJdGVy
YXRvciA9IA0KCQlzZXEuZmVhdHVyZXNfcmVnaW9uX2l0ZXJhdG9yKDEsIA0K
CQkJCQkgICAgIChpbnQpKHNlcS5sZW5ndGgoKSkvMik7DQoNCgkgICAgLy9H
byBvdmVyIHRoZSB2YWx1ZXMgYW5kIHByaW50IHRoZW0gb3V0Lg0KCSAgICBT
eXN0ZW0ub3V0LnByaW50bG4oIlxuU2VxRmVhdHVyZUl0ZXJhdG9yICgxLi4i
KyhpbnQpKHNlcS5sZW5ndGgoKS8yKSsiKS4iKTsNCg0KCSAgICAvL1JlZmVy
ZW5jZSBmb3IgYSBTZXFGZWF0dXJlIG9iamVjdC4NCgkgICAgU2VxRmVhdHVy
ZSBzZXFGZWF0dXJlOw0KDQoJICAgIHdoaWxlIChzZXFGZWF0dXJlSXRlcmF0
b3IuaGFzX21vcmUoKSkgew0KCQlzZXFGZWF0dXJlID0gc2VxRmVhdHVyZUl0
ZXJhdG9yLm5leHQoKTsNCgkJU3lzdGVtLm91dC5wcmludGxuKCJcdCIrc2Vx
RmVhdHVyZS50eXBlKCkrDQoJCQkJICAgIjogKCIrc2VxRmVhdHVyZS5zdGFy
dCgpKyIuLiIrc2VxRmVhdHVyZS5lbmQoKSsiKS4iKTsNCgkgICAgfS8vd2hp
bGUuDQoJICAgIA0KCX0gY2F0Y2ggKEV4Y2VwdGlvbiBleCkgew0KCSAgICBl
eC5wcmludFN0YWNrVHJhY2UoKTsNCgl9DQoNCglTeXN0ZW0ub3V0LnByaW50
bG4oImZpbmlzaGVkIik7DQoNCiAgICB9Ly9tYWluLg0KDQp9Ly9DbGllbnQu
DQo=
--23824084-24855-973271672=:74--