Most of the software mentioned here is standard on many UNIX systems. To build meme/mast you will need:
Optional software:
[ Top ]
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:
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 ]
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 |
|
[ Top ]
MEME has been used successfully on the following platforms
Disk and memory use:
[ Top ]
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
To download the databases go to the directory that was specified with
the --with-db=DBDIR
argument during configure step (1). If none was
given, then the default path to the database will be your-install-path/db
. This
directory is created during make install
step (2). For example:
$ cd install-path/db
Set the environment to get path to newly installed meme/mast executables:
source your-install-path/etc/meme.csh | # for csh, tcsh |
or | |
. your-install-path/etc/meme.sh | # for bash, sh |
Execute command to download the databases:
$ update_mast_databases yourmail@your.address `pwd` <
your-install-path/etc/mast_db.list
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
The URL for web access is typically http://your.host.name/meme/
.
Virtual hosts may be configured accordingly.
[ Top ]
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 ]
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 |
--with-mpidir=MPIDIR
option when
running 'configure' to specify the MPI installation directory.
--with-mpicc=MPICC
option to specify mpicc or its wrapper by full path.
The configure looks by default only for names 'mpicc' and 'mpcc'.
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 ]
Customization is done via the command line arguments to configure. To find out a list and the syntax of the configurable arguments, execute:
$ ./configure --helpThe 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 ]
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/
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/
Directories contents:
make test
during
installation or bin/runtests
[ Top ]
Before using MEME and MAST, users must add a few environment variables.
All needed variables are defined in meme.csh
and
meme.sh
files.
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
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 ]
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 ]
Version 3.5.0
Some users have reported confusion over the difference between
bin/meme and bin/meme.cshand 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.
--enable-web
is currently required to install perl
modules properly and to create LOGS/
directory.
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 ]
Make sure first that you really have a problem:
configure
or
make
that indicates what the error was.
[ Top ]
Copyright © 1994-2006 The Regents of the University of California. All rights Reserved.