Installing MEME

(version 3.5.0 or later)

Table of Contents:


Prerequisite software

Most of the software mentioned here is standard on many UNIX systems. To build meme/mast you will need:

Optional software:

[ Top ]


Getting the source

The current version of MEME is 3.5.1 and is available from http://meme.nbcr.net/downloads/.

Note: Starting with version 3.5.0, MEME has undergone a lot of changes. It is optimized and configured for running on Linux servers. It hasn't been fully tested on other platforms, and your feedback is greatly appreciated. If you'd like to wait until all the kinks to be worked out before trying the current release, please use the previous version (use version 3.0.14) from http://meme.nbcr.net/downloads/old_versions. Installation instructions for version 3.0.14 are different and are specified in the README file included in the release distribution meme_3.0.14.tar.gz.

The software is distributed as a source tarball meme_VERSION.tar.gz. For each file there is a corresponding file with the MD5 checksum: meme_VERSION.md5sum. When downloading the software, please make sure you download the corresponding checksum file and verify that the checksum information is correct. Depending on a platform and available software, the verification command can be different. Here there are 3 possible ways to do verification:

  1. Using md5sum command, usually available on Linux.
    $ md5sum meme_VERSION.tar.gz

  2. Using md5 command, usually available on Solaris.
    $ md5 meme_VERSION.tar.gz

  3. Using openssl command, usually available on any UNIX.
    $ openssl dgst -md5 meme_VERSION.tar.gz
The output of the command (numerical part) should be exactly the same as one provided in the checksum file. Here is the checksum information for available MEME versions:

File md5sum
meme_3.5.1.tar.gz please see meme_3.5.1.md5sum
meme_3.5.0.tar.gz cb552052c82c40ce3111c95f1e9697eb
meme_3.0.14.tar.gz f18bacdce60c11bff4cde650da296228

[ Top ]


Getting and installing the patches

The distribution may have patches associated with it. They are available from http://meme.nbcr.net/downloads/. The patch file name is filename.VERSION.patch. In addition, a patched file is distributed as well and can be used as a drop-in substitute for the original file. The drop-in file is filename.VERSION. It is necessary to download only one of the two files depending on the method used for patching. All patches for a specific version should be installed. The list below provides instructions for installation of availble patches for specific version.

Version Patch list Installation
3.5.0 mast-client.txt
  1. If downloaded a patch file mast-client.txt.3.5.0.patch:
    # cp mast-client.txt.3.5.0 meme_3.5.0/scripts/
    # cd meme_3.5.0/scripts/
    # patch -p0 < mast-client.txt.3.5.0.patch
  2. If downloaded a patched file mast-client.txt.3.5.0:
    # cp mast-client.txt.3.5.0 meme_3.5.0/scripts/mast-client.txt

[ Top ]


System Requirements

MEME has been used successfully on the following platforms

Disk and memory use:

[ Top ]


Installing from a tarball

It is recommended to create a meme user prior to installation. Put the tarball you obtained from the web site in a directory where you want to build the software. If the software distribution was obtained via cvs access please see section Installing from a cvs repository

0. On UNIX systems unzip and untar the distribution:

$ gunzip -c meme_VERSION.tar.gz | tar xvf -
$ cd meme_VERSION

If there are patchees associated with the VERSION please see section Getting and installing the patches that explains how to download and install the patches.

1. Configuring

Run configure with specific parameters, see section Customizing configuration below.
$ ./configure [parameters here]

In general, defaults are sufficient. The only required parameter is prefix that specifies the installation directory. The default configuration will configure for installing server and client which is the most general installation.
$ ./configure --prefix=your-install-path

The other possible configurations include configurations for installing a web site in addition to the server and client, or installing server and client separately.

To install server, client and web site:
$ ./configure --enable-web --prefix=your-install-path

To configure install only client:
$ ./configure --prefix=your-install-path --disable-server

To install only server:
$ ./configure --prefix=your-install-path --disable-client

2. Compiling and installing

To compile simply type while at the top directory:
$ make

If there are no errors make a test. The test will check meme and mast output against known output
$ make test

If there are errors, the output files from each test will be kept in tests/results/ and can be compared to files in tests/. When tests pass without errors the results/ with the output files is removed automatically.

To install the software in the directory specified by prefix do:
$ make install

3. Starting servers

The servers should be started as user meme (or another designated user chosen during configure step). The startup will fail if servers started by the superuser.

To start servers, execute:
$ your-install-path/bin/memed start

To check server status, execute:
$ your-install-path/bin/memed status

To stop servers, execute:
$ your-install-path/bin/memed stop

In order to start servers automatically upon reboot, startup scripts are created during make install in your-install-path/etc/startup/. Currently, the following scripts are available:

Platform Script name
Redhat Linux meme.linux
Solaris meme.solaris
MacOS X Meme
StartupParameters.plist

All commands below must be executed by a superuser.

4. Installing mast databases

The resulting files in the databases directory will be around 26Gb. It can take time to download all the databases, and the connections to some sites from which files are downloaded may be not always available. The result of the download will be emailed to the address specified by yourmail@your.address. If there are errors, they will be noted in the email, and the command to install the databases will need to be repeated.

5. Configuring apache web access

This part requires root access to create a symbolic link from the document root directory to the web directory in meme installation. For example, if meme software is installed in /home/meme, and the HTTP DocumentRoot is /var/www/html, then create a link:
$ ln -s /var/www/html/meme /web

The URL for web access is typically http://your.host.name/meme/. Virtual hosts may be configured accordingly.

[ Top ]


Installing from a cvs repository

The read-write access to the cvs is granted at this point only to the meme developers. We provide the tarball distribution of the latest version on the ftp site.

If you have the cvs access, you can check out the source code by
$ cvs -d cvs.rocksclusters.org:/home/cvs/CVSROOT co nbcr/apps/meme-rocks

To start working with the distribution one needs to create a configure script:
$ cd nbcr/apps/meme-rocks
$ ./bootstrap

At this point, proceed with the installation as outlined in section Installing from a tarball step 1.

[ Top ]


Parallel MEME

By default, configure will establish if your system has the right software to produce parallel version of MEME. Parallel compilation is disabled if mpicc is not found or if batch scheduler (program qsub) is not found. Both must be present on the system. Please see section Prerequisite software for information where to get the software. Currently, parallel version of MEME is known to work with:

MPI ditributions Batch Schedulers
LAM MPI SGE
MPICH PBS

Once mpicc and qsub are located by configure, the parallel version of MEME, called meme_p is compiled and installed automatically via commands make and make install.

[ Top ]


Customizing configuration

Customization is done via the command line arguments to configure. To find out a list and the syntax of the configurable arguments, execute:

$ ./configure --help

The general syntax for all the options is one of the following:

The following table provides a list of required an optional parameters available for configure. Options in color are required, the rest are optional:

Option Needed for Default value
--prefix Provide the installation location path $HOME
--enable-debug Produce an executable with debugging symbols no debug
--enable-opt Produce an executable with optimization compiler and OS dependent
--enable-serial Produce only serial executables parallel and serial
--enable-server Produce server executables enabled
--enable-client Produce client executables enabled
--enable-web Build web site applications disabled
--with-queue=QUEUE QUEUE type (SGE or PBS) type of found qstat
--with-mpicc=MPICC Set MPICC to use found mpicc
--with-mpidir=MPIDIR Set MPI installation path path of found mpicc
--with-url=URL Set url for the web site http://fqdn/meme
--with-user=USER Set user for starting the servers uid
--with-contact=EMAIL Set email of web site administrator uid@fqdn
--with-webdir=DIR Set path to web site part install-path/web/
--with-db=DBDIR Set path to databases install-path/db/
--with-logs=LOGDIR Set path to logs install-path/LOGS/
--with-meme-port=PORT Set port to use for MEME 3012
--with-mast-port=PORT Set port to use for MEME 3013
--with-procs=PROCS Set number of processors to use for parallel jobs 2
--with-maxtime=TIME Set wall time limit (sec) a job may use 7200
--with-qname=NAME Set queue name (needed only for PBS scheduler) none

Note 1: see Parallel MEME section for details.

Note 2: in the table above uid refers to the UID of the user doing installation.

Note 3: in the table above fqdn refers to the fully qualified hostname.

[ Top ]


Installation Examples

  1. Example 1: installing MEME servers and clients, including the web services in /home/meme.
    $ gunzip -c meme_3.5.1.tar.gz | tar xvf -
    $ cd meme_3.5.1
    $ ./configure --prefix=/home/meme --enable-web
    $ make
    $ make test
    $ make install

    After execution of these commands, provided none resulted in error, the following directory structure will be created in /home/meme:

        bin/    db/    etc/    lib/    LOGS/    tests/    web/
    
  2. Example 2: installing MEME servers and clients without the web services in /opt/meme.
    $ gunzip -c meme_3.5.1.tar.gz | tar xvf -
    $ cd meme_3.5.1
    $ ./configure --prefix=/opt/meme
    $ make
    $ make check
    $ make install

    After execution of these commands, provided none resulted in error, the following structure will be created in /opt/meme:

        bin/    db/    etc/    lib/    LOGS/    tests/
    
  3. Example 3: When installing MEME servers and clients without the web services it is still possible to use web access to a remote server in order to submit meme output. In this case the users do not install the web services on a local machine. Instead, they can specify a remote known server which will be used in meme output form. Using a remote known server will allow users to use buttons on a meme output form (once this output is loaded in the web browser) and submit the meme results for additional processing if desired. We specifiy a remote server during configuration step, and the rest of the installation is as in Example 2 above.
    $ ./configure --prefix=/opt/meme --with-url=http://meme.nbcr.net/meme

Directories contents:

bin/
MEME and MAST executables and scripts
db/
this directory or DIR specified by --with-db=DIR option is created. Initially, the database directory is empty, and is filled with the databases after running update_mast_databases command.
etc/
contains the following files
lib/
contains common Perl modules
LOGS/
directory for temporary files created by mast or MEME when jobs are submitted via web
tests/
known correct output of MEME and MAST for specific sequences and databases. These files are used when running make test during installation or bin/runtests
web/
contains files necessary to setup up a web-based access to MEME/MAST servers.

[ Top ]


Using meme/mast

Before using MEME and MAST, users must add a few environment variables. All needed variables are defined in meme.csh and meme.sh files.

  1. If using csh or tcsh, execute the following command:
    $ source install-path/etc/meme.csh

    To make the addition of these variables automatic upon login, add a line to your .cshrc or .tcshrc file:
    $ source install-path/etc/meme.csh

  2. If using sh or bash, execute the following command:
    $ . install-path/etc/meme.sh

    To make the addition of these variables automatic add a line to your .profile or .bash_profile file:
    $ . install-path/etc/meme.sh

The install-path should be a full path to the installation directory. To find out how to use MEME or MAST execute respectively:
$ meme
$ mast

Both commands print usage on stdout.

[ Top ]


Running regression tests

There is a suit of tests that can be run to test MEME and MAST output against known output. These tests can be run at any time after the installation of newly compiled MEME and MAST binaries (meme.bin and mast.bin). These tests can take a long time. The output files from the tests go into the newly created directory install-path/tests/results/. If the tests pass without errors this directory with its output files will be deleted. If there are errors the output files are kept and can be compared to files in install-path/tests/. To run the regression tests do:

$ install-path/bin/runtests

[ Top ]


Known issues

Version 3.5.0

  1. Fully tested on Rocks Linux (Redhat and Cent OS). Some users have reported configure issues with Sun and SGI platforms.
  2. Some users have reported confusion over the difference between

            bin/meme          and           bin/meme.csh 
    
    and the difference between
            etc/meme.csh      and           bin/meme.csh
    

    When refactoring was taking place, a decision has been made to keep a distinction between binary program and the shell script. In the previous versions they had the same name meme. In 3.5.0, the binary is meme, and the shell script that parses the arguments and calls the binary is meme.csh. This requires a change in the command line execution, namely typing meem.csh in place of meme. This was deemed undesirable by some users, others pointed out that their parsing scripts would have to change. In order to maintain compatibility with the previous versions of meme, the old behavior will be restored in the next release.

    The files etc/meme.csh and etc/meme.sh are newly introduced. They are created for setting user environment in a simple and uniform way. Please see section Using meme/mast for a reference.

  3. Option --enable-web is currently required to install perl modules properly and to create LOGS/ directory.
  4. The file bin/mast-client contains a typo. Patch and installation instructions are available. See section Getting and installing the patches

Fixes to these bugs and problems will be available in the next release, version 3.5.1.

[ Top ]


Reporting problems

Make sure first that you really have a problem:

[ Top ]


Copyright © 1994-2006 The Regents of the University of California. All rights Reserved.