General
This site was produced by David Goodwin (email)
while working for Douglas Kell and others on a BBSRC funded project which forms part of the
Investigating Gene Function Initiative.
The code to this site is licensed under the GNU Public License in an
attempt to assist future developments in this area, so benefitting the community as a
whole. The code can be downloaded from here
This page contains links to some semi-relevant documents for the system as a whole and
should give you some vague details on how to set up a similar site in the future. It
should be noted that parts of this site have been customised for the Streptomyces
community - for instance the integration with the online ScoDB and suchlike - therefore
customisation of this site for other related projects is possible, but will require
additional development work.
Presentations
If you wish to view the two presentations I have given (Norwich 2002
Streptomyces "gathering" and the much smaller Manchester 2003 Streptomyces IGF
meeting then try here and here. The first presentation mainly covers
before the product was near completion, and what I expected it to do, while the final one
is an overview of the features the product now has, and gives some general guides for the
future
The Future
This site, which although is working, is lacking some necessary features,
namely :
- Direct linking to a spot is difficult. Perhaps spots need a unique id field? e.g.
spot number 21 is at the x coordinate 456, y coordinate 654 on image z.
- The imageView page should allow the user to select which zoom value they
require.
- The image navigation tool could be redone in Java, (similar to what the AA/RAC use
for route planning?) to make it easier to use
- The text could be removed into a common properties file, making translation
easier
- Users need to get a better preferences page, where they can store their preferred
background colour, spot colour etc long term in the database.
- Some caching of e.g the reference gels and database queries would be beneficial.
However this could be tricky to implement. (Perhaps non-authenticated users would not be
displayed a dynamically generated image?)
- It would be helpful if users could click on buttons around the navigation image to
move from side to side, as well as clicking on the "map" image.
- A setup / configuration page which would configure it for the database, and
webserver etc.. similar to other php applications, for use in new installations etc.
Installation
As a prerequisite you'll need to install or have access to a relational database. This
site has been designed for use with PostgreSQL but
should work on any other fully featured database (e.g. MsSQL, Oracle etc). It is unlikely
that the site would run on a MySQL database without additional work, because it makes use
of nested/inner queries. Postgres does not require any special compile time arguments, and
any prepackaged version of it should work without any issues.
Once you have a database setup, you will need to have PHP
installed on a webserver, currently the site works for PHP version 4.3.0 (which is the latest
release at the time of writing), and should work for some earlier versions.
PHP will need to be configured with gd support enabled, along with
postgres support. The latest configuration of PHP used, had the following compile time
arguments (php_config)
As of PHP 4.3, GD support is bundled into the PHP distribution, however
the author found that this GD support was inadequate, and it was necessary to install GD
manually (enabling TrueType font support as well). TrueType support is necessary for GD
for some of the labels/buttons which are not statically cached in the images directory.
SQL is only contained within the databaseAccess.php and
classes/database.php class (and a small amount within the proteinList.php
class).
Then download this file,
which contains all the php files, and unpack on the
webserver. Please note it may not work straight away out of the box, but any reasonably
competent programmer should be able to fix it.
Modifications required will be to
the classes/DatabaseInclude.php file, to detail your database setup (host, username,
password etc), and also the globals.php file, which details whether to allow logging, who
the webmaster is, and whether logging should be permitted, and also the URL which the site
thinks it belongs to
CVS Access
All files used in this project have been stored under CVS's versioning
control, to allow for controlled updating, and rolling back of changes, along with a
history of what has been done and means of reverting to "old" code.
Local file access, (or ssh access) is required to use the CVS repository on
Ermintrude/Qbab, To setup CVS to talk to files on Ermintrude do the following :
- Acquire a user account on the server
- Ask to be added to the "src" group, which will give you permission to
read the files etc
- If working locally, do :
export CVSROOT=/home/cvsroot followed by
cvs co s_coeli which will give you the entire Streptomyces website as held on
Ermintrude. For futher info on CVS see CVSHome.org.
- If working from another computer, do :
export
CVSROOT=username@qbab.aber.ac.uk:/home/cvsroot and export CVS_RSH=ssh
and then cvs co s_coeli
Licensing
- This software is released under the GNU
Public license, this is
in an attempt to assist the development of future sites like this in the future
within the UK and overseas.
The GNU Public license is included with the download of this software, if you wish to
redistribute or use the software in any way you are encouranged to read it
Support / Updates etc
- Where possible this software will be kept up to date, and modified/updated with any
patches suggestions received, but it is carried out very much as a "best
effort" effort only.
- Support/Help using this software may be available, this depends upon staffing.
Credits
This software was funded as part of the BBSRC
Investigating
Gene Function initiative. Programming has been undertaken entirely by David Goodwin with feedback from (among
others) Professor Douglas Kell (UMIST), Professor Keith Chater (BBSRC) and Dr. Andrew Hesketh
(BBSRC)
|