Skip to content
Snippets Groups Projects
Commit f7b98632 authored by Andreas Kusalananda Kähäri's avatar Andreas Kusalananda Kähäri
Browse files

Remove old (and hopefully unused) things I don't want to be associated

with anymore.
parent 8d269d3a
No related branches found
No related tags found
No related merge requests found
Guzzle
A stand-alone Perl-based web das-client
Author:
Andreas Kähäri (EMBL-EBI/ensembl),
andreas.kahari@ebi.ac.uk
ABOUT
Guzzle consists of the "guzzle.pl" Perl script. It is a web based
client program, running as a CGI script, that may be used to interface
a distributed annotation server (DAS). The name means "to eat or
drink quickly, eagerly and usually in large amounts" (Cambridge
International Dictionary of English). More information about DAS may
be found at [1].
This particular client was developed at the EBI to be used with a
Dazzle server [2] or a ProServer server [3] serving protein features,
but there is really nothing stopping it from being used as a more
generic DAS client for ProServer or Dazzle or any other server that
serves data in a way that is consistent with version 1.5 of the DAS
protocol.
USAGE
So, what does Guzzle do then? When invoked as a CGI script by a web
browser, it will present a request page consisting of a number of
predefined DAS server sources (with the possibility of adding any
number of user-defined sources). Each source has a name and an URL
associated with it. The URL is equivalent to the DSN, the DAS Source
Name, of the source. In addition to this, there is also the
possibility to choose a colour to identify each source or to specify
that the colour should be taken from the DAS stylesheet of the source,
if it has one.
Once the DAS sources have been chosen, the ID of the sequence that
interests you may be entered together with an optional range. The
type of ID that should be used (SwissProt, Ensembl, or what have you)
depends entirely on the DAS sources that are being queried.
Once done, press the "GO" button.
The result page will contain a PNG image showing the tracks found in
the specified region on the sequence as colored boxes, followed by a
table containing the equivalent information. If link information was
retrieved from the DAS source, the table will contain the appropriate
links.
The descriptive labels on the features in the tracks may be turned off
by unchecking "Show descriptions on tracks". You are also be able
to sort the information in the table in various ways by using
the controls at the bottom of the page and clicking the "Update
display"-button.
CODE DEPENDENCIES
Although it was developed within the Ensembl project at the EBI and
Sanger institutes [4], the code does not depend on any pre-existing
Ensembl code, which hopefully makes it easy to install, to use, and to
modify.
The client does have dependencies on non-standard Perl modules. This
is a list of all modules that it depends on:
Bio::Das required
CGI required
Bio::Graphics required for graphics (optional)
Bio::SeqFeature::Generic required for graphics (optional)
File::Temp required for graphics (optional)
LWP::UserAgent required for faking
stylesheets (optional)
Data::Serializer required for being nice
to DAS servers (optional)
Most of these Perl modules have additional dependencies in themselves
(e.g. the Bio::Graphics module depends on the Perl GD module, which in
turn depends on the libgd C library etc.), but they are all available
through CPAN.
INSTALLATION
Make sure that all dependencies are met (see above) and copy the
guzzle.pl script as well as the entire Guzzle directory into the
cgi-bin directory of a web server. Make sure the script has the right
permissions (executable). Configure the client before running for the
first time (see below).
A Guzzle installation should look like this:
cgi-bin/
guzzle.pl
CONFIGURATION
Guzzle is configured by changing the definition of a set of variables
in the head of the guzzle.pl script file itself. The comments in the
script should be descriptive enough for most configurational things.
You have the option to turn certain features on or off. These
features are the graphics, the "being nice to DAS servers" feature,
the stylesheet feature, and the mapping feature. Turning features off
removes dependencies on some Perl modules.
Turning the graphics feature off will inhibit the creation of
temporary PNG files (which otherwise would need to be cleaned out with
a cron-job or something similar). There will be no graphical view of
the tracks on the result page.
The "being nice to DAS servers" feature is a feature that ensures that
the DAS servers will only be queried once. Without it, the servers
will be queried for features and stylesheets whenever the user presses
the "GO" or "Update display" buttons. With the feature, the responses
from the DAS servers are serialized, compressed, and stored as a
string in a hidden field on the result page.
Turning off the stylesheet feature will prevent the client from ever
asking the DAS server for stylesheet information.
MAPPING
The mapping feature is a new addition. It allows you to provide a
simple comma-delimited file containing mapping information (segment
name translation). Currently mappings may be of the following types:
* simple
A simple mapping of a user-requested ID into one or
several other IDs is performed before querying the DAS
server. The IDs in the result are then mapped back into
the user-requested ID.
Format of map data file:
queryID,targetID
The "queryID" is what the user requests and need not be
unique. The file needs to be sorted.
BUGS
The DAS stylesheet support is a hack. The Bio::Das modules from CPAN
does not contain the implementation of the Bio::Das::Stylesheet
module. Rather than building the client around a version of the
Bio::Das modules that can only be found on a CVS server, I decided to
fake the stylesheet support of the client using LWP::UserAgent. This
hack simply picks up the *first* encountered foreground color from the
reply to a stylesheet request. I do not currently use glyphs or other
things specified in the stylesheet of a DAS source.
The generated graphics isn't beautiful.
Better suggestion for names are welcomed.
REFERENCES
[1] http://www.biodas/org/
[2] http://www.biojava.org/dazzle/
[3] http://www.sanger.ac.uk/proserver/
[4] http://www.ensembl.org/
[5] http://www.ensembl.org/Docs/wiki/html/EnsemblDocs/CigarFormat.html
// vim: et
This diff is collapsed.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment