#!/usr/local/bin/oldperl # # EXDStart: This program is the entry point to the ExpressDB web interface # # It does a select on the EDS table and gives the user a choice of which # one to view. # # Copyright (c) 1998, 1999 by John Aach and the President and Fellows of Harvard University # Created 12/03/98-12/09/98 by John Aach # Modified: 01/05/99 - cosmetics; use $DIRECTORY for HREF hotlinks and ACTIONs; added # DB Availability Check # # Modified: 01/07/99 - put out EDSes in alphabetical order by EDSName # modified: 02/15/99 - implemented subnet level security on EDS presentation # modified: 07/15/99 - put in help hotlinks # modified: 09/02/99 by Wayne Rindone to handle all organisms # modified: 11/2000 by Wayne Rindone to download available data files # modified: 08/07/01 by Wayne Rindone to handle Aventis security class $MODULE = "EXDStart"; use Sybase::DBlib; $SUCCEED = 1; $FAIL = 0; use FileHandle; autoflush STDOUT 1; # Set up STDOUT for autoflush use EXDutilities; use EXDGetSession; use EXDDBAvailabilityCheck; use EXDDisplayEDSdata; # print out header info, including Javascript procedure to save cookie print <<_HTML0 Content-type: text/html ExpressDB RNA Expression Database _HTML0 ; # Get Sybase session $dbh = EXDGetSession->Get("ExpressDBGuest","ExpressDBGuest", "ExpressDBecoli"); # # DB Availability check # EXDDBAvailabilityCheck->Perform($dbh); # Do a select on the EDS database and get back EDSName, EDSNo, and # short description information SelectEDS($dbh,\@EDSName,\@EDSNo, \@EDSShortDescrip); # set up variables for HTML page print <<_HTML1

Welcome to the ExpressDB RNA Expression Database

E. coli Data Series

The ExpressDB database is a collection of RNA expression datasets created at the Church Labs and at other laboratories. You can query the database for measures of interest and for selections of ORFs and other features.

You must use a Javascript 1.2 enabled web browser to use this application such as Internet Explorer 4.0+ or Netscape Navigator 4.0+

The page link shown in the Downloads column for some data sets is a link to a page from which you can download data files and information files associated with that data set.

If there is a file link in the Downloads column, it is a direct link to a single tab-delimited file containing all the data in that data set. Right click on the file link and choose the Save Link As (Netscape) or Save Target As (Internet Explorer) option on the menu that appears.

When the word none appears in the Downloads column, this means that we have not yet moved files for that data set into place for downloading.

For help: general information about ExpressDB, querying the database, help with this form, advice about ExpressDB performance.

Select the E. coli datasets that interest you by clicking on the appropriate Select checkboxes and then clicking on the Submit button.

For the S. cerevisiae data sets click here

_HTML1 ; for ($i=0; $i<@EDSName; ++$i) { $edsdescrip = $EDSShortDescrip[$i]; if ($edsdescrip eq "") { $edsdescrip = "NONE"; } # put out the input checkbox for each dataset. Javascript code will ensure that # one is checked. The checkbox names are all of the form EDS999, where 999 is the # EDSNo for the dataset. This is used by EXDSelectMeasures, the script that gets # this form, to determine which EDSes have been selected. The value of these # checkboxes is not used and is simply set as "Y". print <<_HTML2 _HTML3 ; } print "
Select Data Set Description Downloads More Info
$EDSName[$i] $edsdescrip _HTML2 ; EXDDisplayEDSdata->Get($EDSNo[$i]); print $returnlinktext; print <<_HTML3 here
"; EXDutilities->EndPage(); sub SelectEDS { my $dbh=$_[0]; my $EDSName_ref = $_[1]; my $EDSNo_ref = $_[2]; my $EDSShortDescrip_ref = $_[3]; my $sqlcmd; my @data; my $status; my $secure_clause = ""; # 02/15/99 if (EXDutilities->SecureSession() == 0) { # 02/15/99 $secure_clause = " and EDS.PrivateInd = 0 "; # 02/15/99 } # 02/15/99 if (EXDutilities->SecureSession() == 2) { # 08/07/01 Aventis sponsor class $secure_clause = " and (EDS.PrivateInd = 0 or EDS.PrivateInd = 2)"; # 08/07/01 } # 08/07/01 $sqlcmd = "select EDSNo, EDSName, ShortDescrip from EDS ". "where IsDeletedInd = 0 and OrgNo = 'or00000001' $secure_clause". # 09/22/99 "order by EDSName asc "; # 01/07/99 $status = $dbh->dbcmd($sqlcmd); if ($status != $SUCCEED) { EXDutilities->TakeExit("\nERROR: $MODULE->SelectEDS: Return code from dbcmd = $status\n"); } $status = $dbh->dbsqlexec; if ($status != $SUCCEED) { EXDutilities->TakeExit("\nERROR: $MODULE->SelectEDS: Return code from dbsqlexec = $status\n"); } $status = $dbh->dbresults; if ($status != $SUCCEED) { EXDutilities->TakeExit("\nERROR: $MODULE->SelectEDS: Return code from dbresults = $status\n"); } $status = $dbh->DBROWS; if ($status == $SUCCEED) { while (@data = $dbh->dbnextrow) { push @$EDSNo_ref,$data[0]; push @$EDSName_ref,$data[1]; push @$EDSShortDescrip_ref,$data[2]; } } elsif ($status != $FAIL) { EXDutilities->TakeExit("\nERROR: $MODULE->SelectEDS: Return code from DBROWS = $status\n"); } }