Longhorn Array Database

www.longhornarraydatabase.org

[home] [news] [download] [help] [screenshots]


INTRODUCTION:

This document is intended to aid in the installation of LAD (the Longhorn Array Database).

What type of microarray researcher should install LAD? 

Installation and administration of LAD does not require a high degree of technical skill or knowledge.  It does however require a basic administrative knowledge of Linux, PostgreSQL, and general system maintenance functions.  Please be sure that you are comfortable with Apache, PostgreSQL, and general Linux file and system operations before attempting to use LAD.


SERVER PREREQUISITES:

LAD is designed and intended to run on a modern Linux distribution.  We have tested and developed LAD on Mandrake 8.0, 8.2, 9.0 and 9.1.  We have also utilized RedHat 7.2 and 8.0.

This document will include literal and detailed instructions based on the Mandrake 9.1 platform. Please adapt for your chosen Linux
flavor.

I installed Mandrake 9.1 using the following groups:

- Internet Station
- Network Computer (client)
- Configuration
- Console Tools
- Development
- Documentation
- Mail
- Database
- Firewall/Router
- Network Computer Server
- KDE

In addition to these groupings I installed the following RPMS.

All of the below are easily installed from the original Mandrake
CDs or from the Mandrake Control Center.

- apache-1.3.27-8mdk
- apache-devel-1.3.27-8mdk
- apache-modules-1.3.27-8mdk
- apache-mod_perl-1.3.27_1.27-7mdk
- apache-source-1.3.27-8mdk
- apache-suexec-1.3.27-4mdk
- perl-Apache-Session-1.54-4mdk

As you can see, LAD works only with Apache version 1.x.

Be sure you also have PostgreSQL fully installed.

In addition to the standard packages:

- postgresql-7.3.2-5mdk
- postgresql-server-7.3.2-5mdk

I had to add:

- perl-DBD-Pg-1.21-2mdk
- pgaccess-0.92.8.20030117-2mdk

You will also need some graphics libraries:

- freetype-1.3.1-18mdk
- freetype-devel-1.3.1-18mdk
- freetype-tools-1.3.1-18mdk
- freetype2-2.1.3-12mdk
- freetype2-devel-2.1.3-12mdk
- freetype-static-devel-2.1.3-12mdk
- freetype2-tools-2.1.3-11mdk

- libxpm4-3.4k-23mdk
- libxpm4-devel-3.4k-23mdk

- libpng3-1.2.5-2mdk
- libpng3-devel-1.2.5-2mdk

- libnetpbm9-9.24-4.1mdk
- libnetpbm9-devel-9.24-4.1mdk
- libnetpbm9-static-devel-9.24-4.1mdk
- netpbm-9.24-4.1mdk

You will also need the graphics program "ImageMagick":

- ImageMagick-5.5.4.4-7mdk

Please install these BEFORE attempting installation.


HARDWARE PREREQUISITES:

LAD may be executed on fairly simple Linux-driven PCs. The two things you will wish to maximize is RAM and disk space. The more RAM you have the more happily the relational database will execute. The more disk space you have the more experiments you will be able to load.

Min:

Pentium III - 500 Mhz
10 GB disk space available.
256 MB RAM.

Preferred:

Pentium III - 1 Ghz
20+ GB disk space available.
512 MB RAM.

Our Configuration:

Dual Intel Xeon 1.4 Ghz
360 GB disk space.
1 GB RAM.



PRE INSTALL SYSTEM MODIFICATIONS:

LAD recommends a few PostgreSQL configuration tweaks.

Out of the box, PostgreSQL is not configured to run "largish" databases.

Here are a few simple changes you can make to a "postgresql.conf" file to ensure proper performance. These values will differ on machines with differing amounts of RAM. I have included values that are appropriate for a machine with approximately 500MB of RAM.

CHANGE 1:

Add/Change these values [/var/lib/pgsql/data/postgresql.conf]:

tcpip_socket = true
port = 5432
shared_buffers = 10000
sort_mem = 10000
vacuum_mem = 10000

These values will most likely not be accepted by your Linux kernel as valid as most systems have a low shmmax by default.

CHANGE 2:

For this reason, add the following line to [/etc/init.d/postgresql]:
(add after line that says something like "PGVERSION=7.3")

echo "1999999999" > /proc/sys/kernel/shmmax

Be sure to restart your PostgreSQL server by executing:

/etc/init.d/postgresql stop
/etc/init.d/postgresql start

CHANGE 3:

LAD's web operations will operate in either a "trust" or password protected PostgreSQL environment.

Scripts found in /lad/custom-bin/ and /lad/mad/bin/ however may not operate in a password protected PostgreSQL environment.  It is recommended that you create a ".pgpass" for any user who has either manual or cron related jobs that execute these programs. 

See the PostgreSQL documentation on this issue for more details.
 

DOWNLOAD:

Utilize the [download] link at the top of this page to download the TAR.GZ file.

Untar / Unzip this file into a temporary directory.  You will be using and installation program to actually do the final install.


INSTALLATION:

Be sure that you have fully addressed all the prerequisite issues as listed above before attempting an installation.

Be sure to also address the pre-install system modifications.

Be sure.

To start the install

execute (as root):

cd <temp directory>/lad/install/
./install.pl


Yes, execute AS root!

Be SURE that root has the ability to create a PostgreSQL database as well.

For example, can root execute?:

createdb test_lad
psql test_lad
dropdb test_lad

If not you will need to 'su postgres' and then:

createuser --adduser --createdb root


POST INSTALL SYSTEM MODIFICATIONS:

LAD requires a few HTTP configuration tweaks.

CHANGE 1:

Once install has completed - you should execute these commands (as root):

mv /var/www/html /var/www/html_pre_lad
mv /var/www/cgi-bin /var/www/cgi-bin_pre_lad
ln -s /lad/www-data/html /var/www/html
ln -s /lad/www-data/cgi-bin /var/www/cgi-bin

CHANGE 2:

You should also add/edit the following entries to your HTTP config file:


<Directory /var/www/html>

Options -Indexes FollowSymLinks MultiViews Includes

.... more text ....

</Directory>";


<Directory />

Options -Indexes FollowSymLinks MultiViews Includes

.... more text ....

</Directory>";


CHANGE 3:

You will also wish to change the default timeout from:

Timeout 300

to

Timeout 30000


CHANGE 4:

You may also wish to use 'kuser' to change the 'Full Name' of your apache user to 'Longhorn Array Database'. This will ensure that all emails from LAD have a good name on them.



EXECUTION:

Once you have completed all tasks, LAD may be executed via a web browser at:

http://<server name>/

During installation you setup a "curator" account and password. This is what you will use to login.

We have configured the database so that you are nearly ready to roll out of the box.


CREATING A PRINT:

Once you have logged in as "curator" you will need to create a print in order to load an experiment.

We have created a document and included many files in /lad/install/yeast_example_print/ to assist you in this process.

Please see the README file in that directory or the web guide on creating a yeast print.



CRON JOBS:

You will probably wish to cron-ify the following scripts.  It is important to remember that if you operate PostgreSQL in a "non-trust" manner (psql requires a password) you will want to setup "root" with a ".pgpass". 

See the PostgreSQL documentation for more details.

0 0 * * * /lad/custom-bin/deleteSessions.pl > /lad/logs/deleteSessions.txt

0 0 * * * /lad/custom-bin/deleteTmpFiles.pl > /lad/logs/deleteTmpFiles.txt

0 0 * * * /lad/custom-bin/deleteDeletedScans.pl > /lad/logs/deleteDeletedScans.txt

0 0 * * * /lad/custom-bin/deleteDeletedGifs.pl > /lad/logs/deleteDeletedGifs.txt

0 3 03,04,05,08,09,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31 * * /lad/custom-bin/vacuumDb.pl

1,11,21,31,41,51 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * /lad/www-data/cgi-bin/SMD/queue/LoadExpt2DB.pl > /lad/logs/LoadExpt2DB.txt



DOCUMENTATION:

LAD is based on SMD (the Stanford Microarray Database).  Please see their site for further documentation on system operation.

The installad LAD server also has extensive documentation on data loading, viewing, and analysis.

 


For questions and comments please contact: