[Biojava-l] Question about BioJava DASClient classes

Thomas Down td2@sanger.ac.uk
Tue, 10 Sep 2002 17:11:59 +0100

On Fri, Sep 06, 2002 at 09:57:18AM +0200, Jansen wrote:
> Hi,
> currently I am trying to understand how the BioJava DASClient classes and
> their methods (e.g. ReferenceServer.getReferenceServers(),
> DASSequence.filter(), ...) map to the related http-requests. Does anybody
> know some details about that?


There's not a very clear mapping between methods on the BioJava
API and the DAS protocol itself -- it's designed as an implementation
of the standard BioJava Sequence, SequenceDB, and Feature interfaces,
rather than a thin layer over the underlying protocol. 

The DAS.addDasURL method causes a `dsn' request to the server.
The client then builds DataSource and ReferenceServer operations
to represent the returned datasource information.  Calling
ids on a DASSequenceDB causes an entry_points request.  But
fetching of sequence and features is rather more complex, and
doesn't necessarily map cleanly.  In particular, when fetching
features from servers which use the DAS assembly mechanisms, there
are some fairly complex mechanisms inside the DAS client
for aggregating requests to minimize the number of network
round-trips.  See FeatureRequestManager.java if you're interested.

Hope this helps,