perate

Usage

First choose the page most relevant to you (i.e. if it's E.coli, go to the EscopE page, if it's S. coelicolor, go to StropE, if it's any other genome, then go to the "other genomes").

Then enter the Gene ID for the gene you are interested in. If you're at the "other genomes" page, then you will also have to select the genome you're interested in.

Once you have done so, a drop down should appear giving you some data expression options. If available, there will be some pre-loaded expression data you can use. Also if available, there will be some data stored in a database that you can access. You will be able to upload your own tab-delimited text file with gene expression data, and then follow instructions to select the appropriate columns.

Web service access

The operate back end can be accessed via a web-service to facilitate inclusion of operon prediction data into your data-analysis workflows. Here are some code-examples in PHP:

All code examples below can be initialised as follows:

<php
$url = "http://strep-microarray.sbs.surrey.ac.uk/"
		."operate_view/webservices/OperateService.wsdl.php";
$client = new SoapClient($url);

Determining available data sources

// checking the StropE deployment
print "\n". $client->checkForSource("scodb");

// checking the EscopE deployment
print "\n". $client->checkForSource("ecoli");

// checking the default deployment (supply the 
// genome name you want to search for)
print "\n". $client->checkForSource("NC_003888");

Using getPreLoaded() to get a list of available genomes and then get fetch a list of pre-loaded data sets for a particular genome using the default Operate deployment

// retrieve a list of genomes
print "\n" . $client->getPreLoaded("Genome");

// retrieve a list pre-loaded measurements for this genome
print "\n" . $client->getPreLoaded("NC_003888");

Using getPreloaded() to fetch a list of pre-loaded data sets for StropE and EscopE

// get pre-loaded data sets from StropE
print "\n" . $client->getPreLoaded("scodb");

// get pre-loaded data sets from EscopE
print "\n" . $client->getPreLoaded("ecoli");

Getting an operon-prediction for preloaded measurements 2-5 on StropE

print $client->getOperonPrediction(
	"scodb", 
	"SCO3210", 
	"pre", 
	"2,3,4,5"
);

Getting a list of database-stored measurements on StropE

print $client->getExperiments("public");

Getting an operon-prediction for database-stored measurements 2-5 on StropE

print $client->getOperonPrediction(
	"scodb", 
	"SCO3210", 
	"connect", 
	"2,3,4,5", 
	"public" 
);

Uploading your own gene expression data and getting a prediction for Streptomyces Coelicolor and the gene SCO0001

// upload the contents of your tab delimited file
$result =  $client->uploadExpressionFile(file_get_contents("test_file.txt"));

// extract the uploaded fileID
$resultXML = new SimpleXMLElement($result);
$id = $resultXML['id'];

// retrieve the operon prediction for that file, using the S. coelicolor 
// genome and the SCO0001 gene
$prediction = $client->getOperonPredictionForUploadedExpression(
	"NC_003888", 
	"SCO0001", 
	"gene,value_to_correlate,value_to_correlate,value_to_correlate,ignore", 
	"NO", 
	$id
);

print "\n" . $result . "\n" . $prediction;



Installation

Please note that the Operate software is distributed freely under the Artistic License 2.0.

Architecture

The architecture is made up of a series of DHTML-based web-forms that take a user's input and pass this information onto a visualisation tool, which interacts with a back-end CGI script for obtaining the operon and expression results.

Several deployments of the CGI-based operon predictor can co-exist on the same server, each customised differently (e.g. to take different input data types or to use different operon-prediction metrics), but all of them will present results through the same visualisation and web-service interface.

Please note that installation requires an experienced website administrator, as it involves both editing and configuring both the software and the web-site's web server. If there are any problems then please feel free to contact us.

Configuring your web server

Operate needs to be installed on an Apache web-server, with the MOD-PHP5 extension built in, and also configured to allow PERL-CGI scripts to be executed. R needs to be installed on the server as well, and the user that runs Apache needs to be able to run R.

Installing an instance of the Operate input forms and back end

For this you will need :
  • a web server running Apache
  • MOD-PHP5 on the web-server, with the PEAR HTTP Request library
  • PERL-CGI on the web server
  • The PERL XML/Writer.pm module (in Ubuntu this is most easily done by doing 'sudo apt-get install libxml-writer-perl')
  • The R statistical programming language installed on the server (the user that runs Apache may have to be configured to be able to run R from CGI scripts)
  • the Operate.zip file, which contains a configurable Operate deployment

Unpack the Operate.zip into somewhere on your webspace, e.g. in /var/www/Operate/.

Then add this to your site's virtual host directive:

	<Directory "/var/www/Operate/cgi-bin/">
		Options ExecCGI
		AddHandler cgi-script cgi pl
	</Directory>

Then follow the README.txt file to customise this deployment for your particular genome / operon prediction metrics. You can have as many deployments as you like on your web server, just make sure they all have CGI folders enabled in your Apache conf.

Installing the Flash operon visualisation tool and web-service layer

There are two options for this. You can either build the project yourself or you can configure a pre-built version.

Note : whichever method you choose, you will have to make sure the webservices/tmp folder is write-able by the user running the Apache server.

Using existing build

For this you will need :

Here, all you need to do is edit the ini.php file to match your server configuration (i.e., where you have deployed instances of the operate CGI folders), then copy over the entire folder to your web-root so that it can be found at "http://yourdomain.com/operate_view/".

Building from source

For this you will need :

  • the haXe programming language
  • the swfmill xml2swf processor
  • the Bazaar version control system

These do not have to be installed on the web-server, they can be installed on your development machine, so you don't have to worry about adding these build tools to your server system if you don't want to.

First, grab the source using Bazaar from operate_view source code repository.

To build, you need to edit the ini/php.ini to match your server configuration (i.e., where you have deployed instances of the operate CGI folders). You will also need to edit the build.sh to configure where to deploy it. Then run "sh build.sh".

Contact for software distribution.