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.7 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:
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.7.tar.gz | please see meme_3.5.7.md5sum |
meme_3.5.4.tar.gz | please see meme_3.5.4.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/. Patch files are located in a directory named VERSION.patches, for example, meme_3.5.4.patches. Patch file have names like: VERSION.patch_SERIAL_NO, for example, meme_3.5.4.patch_3.
To install a patch, download the patch file from the URL given above.
Then perform the following commands to install it:
$ cp PATCH_FILE VERSION
$ cd VERSION
$ patch -p1 < PATCH_FILE
$ make install
$ make test
For example, to install the first patch to version meme_3.5.4, you
would perform the following commands:
$ cp meme_3.5.4.patch_1 meme_3.5.4
$ cd meme_3.5.4
$ patch -p1 < meme_3.5.4.patch_1
$ make install
$ make test
You must install all of the patches for a specific version in serial number order. For example, if you wish to install patch number 3, you must first have installed patches number 1 and 2 for that version. This is easy to do. Just download all the patches for your current version, copy them to your current versions's directory, and then install them in order by repeating the patch, command above, with each patch file. You only need to run the install and make test commands once, after the last patch command.
[ 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 SVN access please see section Installing from an SVN repository
0. On UNIX systems unzip and untar the distribution:
$ gunzip -c meme_VERSION.tar.gz | tar xvf -
$ cd meme_VERSION
If there are patches 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]
The most common configure command creates only command-line
versions of MEME and MAST (no web servers or clients) and connects
the hyperlinks on the MEME HTML output to the web server at NBCR.
The parameter prefix is required,
and specifies the installation directory.
$ ./configure --prefix=your-install-path --with-url=http://meme.nbcr.net/meme --disable-server --disable-client
Without any optional parameters, command-line versions for MEME and MAST will be installed.
$ ./configure --prefix=your-install-path
Another configuration includes installing a web site. This site can utilize either a remote MEME web service (which has been exposed via Opal), or it can use a pre-existing Opal installation to deploy MEME as a webservice. In the latter case, all queries will be sent through this webservice.
To install the website utilizing the NBCR MEME Web Service:
$ ./configure --enable-web --prefix=your-install-path
To install the website utilizing a remote MEME Web Wervice (this example points to the NBCR MEME Web Service
explicitly):
$ ./configure --enable-web=http://ws.nbcr.net:8080/axis-1.2.1/services/MEME
--prefix=your-install-path
To install the website and automatically deploy MEME as an Opal Web Service:
$ ./configure --enable-web=http://<base url for your Opal installation>/MEMEOpalService
--enable-webservice=path-to-your-build-opal.xml --prefix=your-install-path
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. 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.
4. 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
<install.path.here>/web
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 SVN 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 SVN access, you can check out the source code by:
$ svn checkout svn+ssh://meme@summit.ucsd.edu/meme/SVNROOT/trunk
To start working with the distribution one needs to create a
configure
script:
$ cd trunk
$ ./bootstrap
The MEME SVN repository contains the source code for both MEME and Meta-MEME.
If you are only interested in working with MEME
you may proceed with the installation as outlined in section
Installing from a tarball step 1.
If you only wish to work with Meta-MEME the configure command is:
$ ./configure --enable-metameme
--prefix=your-install-path
--with-url=http://metameme.nbcr.net
If you wish to work with both MEME and Meta-MEME, the configure command is:
$ ./configure --enable-both --prefix=your-install-path --with-url=http://meme.nbcr.net/meme --disable-server --disable-client
If you are installing the web site MEME and Meta-MEME will share the
same web directory, URL, and contact information by default.
If you wish to provide distinct directories, URL, or contact information
for MEME and Meta-MEME, you can do so by providing the --metameme-webdir,
--metameme-url, --metameme-contact options to configure.
$ ./configure --enable-web=url-to-MEME-service --enable-both
--prefix=your-install-path --with-metamame-wedir --with-url=http://<domain>/meme
[ 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 queue status program qstat
(part
of the SGE or PGS scheduler) 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 distributions | 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-webservice=/path/to/build-opal.xml | Deploy MEME as a Web Service utilizing an existing Opal installtion. Meme will be deployed at <OPAL_SPECIFIC_URL_STRUCTURE>/MemeOpalService | disabled |
--enable-web[=http://url.to.meme/webservice] | Build web site applications. Must point it to a MEME Web Service exposed via Opal. Defaults to ws.nbcr.net:8080/axis-1.2.1/services/MEME | disabled |
--enable-metameme | Produce Meta-MEME and Tomtom executables | disabled |
--enable-both | Produces MEME, Meta-MEME, and Tomtom executables | disabled |
--with-queue=QUEUE | QUEUE type ("sge" or "pbs" or "shell"); "shell" runs each submitted MEME job as a background process and should be used if the MEME server is running on a host without a batch scheduler. | determined by running 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-metameme-url=URL | Set url for the Meta-MEME 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-metameme-contact=EMAIL | Set email of web site administrator for Meta-MEME | uid@fqdn |
--with-webdir=DIR | Set path to web site part | install-path/web/ |
--with-metameme-webdir=DIR | Set path to Meta-MEME 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 web server | 3012 |
--with-mast-port=PORT | Set port to use for MAST web server | 3013 |
--with-procs=PROCS | Set number of processes that each MEME job started by the web server will use; does not affect jobs started from the command line. Use "1" if the MEME server is running on a host without a batch scheduler. | 2 |
--with-maxtime=TIME | Set wall time limit (sec) a job started by the web server may use | 7200 |
--with-qname=NAME | Set queue name (needed only for PBS scheduler) web server jobs will use | none |
--with-opal=URL | Set the service url to use with Opal | 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.