If you've a closer look at the
WSDL file describing the DIALIGN
webservice, you can see two pairs of methods belonging
together.
request
and response
request_orig and
response_orig
Bioinformatics programs often
perform computation on large data sets and therefore require
much CPU time. This can cause problems like http connection
timeouts (usually after 5 minutes) during online usage. To
avoid such problems when using DIALIGN WebService we use a
technique called
Request and Reply with
polling based on BiBiWS. First the client side (e.g.
your program) requests a DIALIGN job submitting the necessary
data (parameter and data) and gets an
id after the job is started. Afterwards the
client can request the result by calling the corresponding
response method with the
id
returned earlier. If the DIALIGN job is not finished, the user
gets a status code with an enhanced description of current
status back (see
HOBIT status
codes for more information).
request_orig
The request method gets two parameters as input - a (multiple)
sequence file in FASTA format and a parameter array with
key/value pairs as described in the following table - and
returns either a unique id or in case of an error a fault
message.
| key |
type |
value |
description |
| sequenceMode |
String |
n|nt |
n : Nucleotide Sequence (w/o translation)
nt : Nucleotide Sequence (with translation)
(optional) |
| threshold |
Integer |
0 - 10 |
see manual (optional) |
| stars |
Integer |
0 - 15, 5 |
maximum number of `*' characters indicating
degree of local similarity among sequences
(optional) |
response_orig
The response_orig gets the id returned by the
request and request_orig methods as input parameter and returns
the original DIALIGN result as ASCII text.
request
The request method has the same parameters and
return value as the request_orig method except the
sequences which have to be in SequenceML xml format (http://hobit.sourceforge.net/xsds/20060201/sequenceML.xsd).
response
The response method gets the id returned by the
request and request_orig methods as input parameter and returns
the calculated result as a AlignmentML xml document (http://hobit.sourceforge.net/xsds/20060201/alignmentML.xsd).
The example perl client implementation for both methods
request_orig and
response_orig is
based on
SOAP::Lite.
request_orig (download)
The implementation of the request_orig method is quite simple.
Simply call request_orig.pl with a filname as a parameter. If
no error occured, a bibiid will be printed to STDOUT.
response_orig
(download)
If you want to recieve the result of your DIALIGN run, call
response_orig.pl with a valid bibiid (retrieved by
request_orig) as a parameter. If no error occured, the DIALIGN
result will be printed to STDOUT.
Example Java client
The example
Java client
implements the request/replywith polling technique using
the XML based methods (response and request) and is based on
Apache Axis (tested with
Version 1.3)