Notes:
The MEME Suite consists of several command line programs and an optional web site. The web site is implemented using static HTML pages, CGI scripts, and SOAP services. The SOAP services are provided through Tomcat, and Opal. Building and installing the command line programs is very straight-forward. Installing the web site requires more detailed configuration information.
Most of the software mentioned here is standard on many UNIX systems. To build MEME Suite you will need:
If you are installing the web site you will also need:
Optional software:
For batch scheduler, one of the following:
[ Top ]
The current version of MEME is 4.5.0 and is available from http://meme.nbcr.net/downloads/.
Note: MEME has undergone many changes in version 4.0.0. 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.5.7) from http://meme.nbcr.net/downloads/old_versions. Installation instructions for version 3.5.7 are different and are specified in the README file included in the release distribution meme_3.5.7.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_4.3.0.tar.gz | please see meme_4.3.0.md5sum |
meme_4.2.0.tar.gz | please see meme_4.2.0.md5sum |
meme_4.1.0.tar.gz | please see meme_4.1.0.md5sum |
meme_4.0.0.tar.gz | please see meme_4.0.0.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 version’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 use:
[ Top ]
Installation of MEME Suite will create the following directories:
bin/ db/ etc/ lib/ LOGS/ web/
The directories contain:
[ 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.
Four steps are required to install the MEME Suite from a distribution tarball:
Use the commands:
$ tar zxf meme_VERSION.tar.gz
$ cd meme_VERSION
to expand the tarball and move to the root directory of the distribution.
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.
The configure script is found in the root directory of the distribution and used to set installation parameters. For a list of all available configuration parameters see section Customizing configuration below. Here we will discuss the most common configuration settings. The general form of the configure command is:
$ ./configure [parameters here]
Basic configuration parameters
When invoked without any parameters, only the command-line versions of the MEME Suite tools will be installed and none of the web components. The MEME Suite directories will be created under $HOME. The buttons and hyperlinks in the HTML output of the tools will not work if you use this command (unless you also install a MEME Suite web server on the same host). This is safe (you won’t be able to send your data over the internet accidentally), but not very useful. However, if this is what you want the simplest command is:
$ ./configure
MEME Suite tool output files contain buttons that will send your results over the Internet when clicked. This is a very useful and powerful feature of the MEME Suite tools. If you want the buttons and hyperlinks in the HTML output of the tools to access the MEME Suite web server at NBCR, the simplest configuration command is
$ ./configure –with-url=”http://meme.nbcr.net/meme”
The installation root directory can be specified using the parameter prefix. For example,
$ ./configure –prefix=your-install-path –with-url=”http://meme.nbcr.net/meme”
This will install only the command-line versions of the MEME Suite tools and none of the web components. The MEME Suite directories will be created under the directory specified by the prefix option. The buttons and hyperlinks in the HTML output of the tools will link to the MEME Suite web server at NBCR. This is probably the most common use of configure.
The MEME Suite depends on the libraries libxml2 and libxslt. If these libraries are already installed, MEME will use try to use the installed versions. Otherwise, MEME will build its own copies of these libraries. If for some reason you want to force MEME Suite to build its own copies of libxml2 and libxslt, you can do so by using the enable-build-libxml2 and enable-build-libxslt parameters. For example,
$ ./configure \
–prefix=your-install-path \
–enable-build-libxml2 \
–enable-build-libxslt
This will cause the MEME Suite to build its own copies of libxml2 and xslt.
Configuring installation of the MEME Suite Web Application
Four parameters are needed to completely configure the MEME Suite web application:
In many cases you will be able to take advantage of the default values for these parameters.
The parameter with-url was introduced in the previous section. It sets the URL for the web site hosting the static HTML pages and CGI scripts. If you are installing your own MEME Suite web application you will almost certainly want to set this parameter.
The parameter enable-web turns on installation of the MEME Suite web site. It can also be used to specify the URL for the MEME Suite SOAP services. The default URL for the MEME Suite SOAP services is http://ws.nbcr.net/opal2/services. For example,
$ ./configure \
–prefix=your-install-path \
–with-url=url-for-meme-on-your-web-server \
–enable-web
would install the MEME Suite command line tools and the web application under your-install-path. The web application would use the MEME Suite SOAP services at http://ws.nbcr.net/opal2/services. to process requests.
An explicit value can also be passed for the enable-web parameter. For example, to explicitly specify the value for the MEME Suite SOAP services on the NBCR server:
$ ./configure \
–prefix=your-install-path \
–with-url=<url-for-meme-on-your-web-server> \
–enable-web=http://ws.nbcr.net/opal2/services/
The parameter with-webdir configures the installation step so that the static HTML pages and CGI scripts will be copied to a particular directory. It defaults to <your-install-path>/web. For example, to force the static HTML and CGI files to be installed in /var/www/meme you would use the command:
$ ./configure \
–prefix=your-install-path \
–with-url=<url-for-meme-on-your-web-server> \
–with-webdir=/var/www/meme
Alternatively you can use a symbolic link to mount the web directory in the web servers directory tree (see step 4 below).
If you wish to build and install your own MEME Suite SOAP services you must have successfully installed and configured Tomcat, and Opal.
You must set the environment variable CATALINA_HOME to the path to the root directory of Tomcat:
$ setenv CATALINA_HOME tomcat-path | # for csh, tcsh |
or | |
$ export CATALINA_HOME=tomcat-path | # for bash, sh |
The parameter enable-webservice is used to specify the location of the ANT build file for Opal.
For example, to install the website and build and provide using your own MEME Suite SOAP services:
$ ./configure \
–prefix=your-install-path \
–enable-web=http://<base url for your Opal installation>/ \
–enable-webservice=path-to-your-build-opal.xml
To build simply type while at the top directory:
$ make
You can run tests to make sure the MEME Suite programs are working correctly. The test will check MEME Suite output against known valid 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 tree specified by prefix
run the command:
$ make install
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 process of configuring, building, and installing MEME Suite from an SVN repository is the same as installing from a tarball, but with two extra, initial steps: you must check out the repository, and you must build the configure script.
Access to the SVN repository 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 SVN access, you can check out the source code with the command:
$ svn checkout svn+ssh://[email protected]/meme/SVNROOT/trunk
Once you’ve checked out the source code you need to build the configure script:
$ cd trunk
$ ./bootstrap
You can now follow the configuration, building and install steps from installing from a tarball.
[ 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 |
OpenMPI |
--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 –help
The general syntax for all the options is one of the following:
The following table provides a list of parameters available for configure
:
Option | Needed for | Default value |
---|---|---|
–prefix | Provide the installation location path. | $HOME |
–enable-build-libxml2 | Forces MEME Suite to build and use libxml2 code included in MEME Suite distribution. | disabled |
–enable-build-libxslt | Forces MEME Suite to build and use libxslt code included in MEME Suite distribution. | disabled |
–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 version of MEME, do not build parallel version. | disabled |
–enable-web[=http://url.to.meme/webservice] | Build web site applications. Must point it to MEME Suite web services exposed via Opal. Defaults to http://ws.nbcr.net/opal2/services/ | disabled |
–enable-webservice=/path/to/build.xml | Deploy MEME Suite web services utilizing an existing Opal installation. Must point to the build file for the Opal installation. | disabled |
–with-contact=EMAIL | Set email of web site administrator. | $USER@$HOSTNAME |
–with-convert=path-to-convert-binary | Set location of ImageMagick convert application. | As found in PATH |
–with-db=DBDIR | Set path to databases. | install-path/db/ |
–with-dot=path-to-dot-binary | Set location of Graphviz dot application. | As found in PATH |
–with-logs=LOGDIR | Set path to logs. | install-path/LOGS/ |
–with-maxtime=TIME | Set wall time limit (sec) a web-submitted job started by the web server may use. | 7200 |
–with-mpicc=MPICC | Set MPICC to use. | found mpicc |
–with-mpidir=MPIDIR | Set MPI installation path. | path of found mpicc |
–with-perl=path-to-perl-binary | Set location of Perl interpreter. | As found in PATH |
–with-python=path-to-python-binary | Set location of Python interpreter. | As found in PATH |
–with-procs=numproc | Set number of processors to use for parallel jobs. | 2 |
–with-url=URL | Set url for the MEME Suite web site used by buttons on the output of MEME Suite tools. | http://$HOSTNAME/meme |
–with-blocks-url=URL | Set url for the BLOCKMAKER web site. | http://blocks.fhcrc.org/blocks-bin/process_blocks.pl |
–with-goserver-url=URL | Set url for the AMIGO web site. | http://amigo.geneontology.org/amigo |
–with-webdir=DIR | Set path to MEME Suite web site directory. | install-path/web/ |
Note 1: see Parallel MEME section for details.
[ Top ]
http://meme.imb.uq.edu.au/
.http://host/meme
and buttons in the MEME output will submit to that URL. This installation will use the MEME SOAP services on http://ws.ncbr.net/opal2/services.http://host/meme
.[ Top ]
Note: This procedure was tested with Tomcat 5.0.30.
1. In $CATALINA_HOME/webapps, make a symbolic link to the MEME web installation directory. For example
$ cd $CATALINA_HOME/webapps
$ ln -s $MEME_INSTALL_DIR/web meme
2. In $CATALINA_HOME/conf/Catalina/localhost, create a new file meme.xml with the following contents.
<Context path=”/meme” docBase=”meme” debug=”0″ allowLinking=”true”>
</Context>
3. In $CATALINA_HOME/conf/web.xml, uncomment the block of code just below “Common Gateway Includes (CGI) processing servlet, which supports…”. Set param-value to cgi-bin. In addition, uncomment the block of code right below “The mapping for the CGI Gateway servlet”.
4. Rename $CATALINA_HOME/server/lib/servlets-cgi.renametojar to $CATALINA_HOME/server/lib/servlets-cgi.jar.
5. Restart Tomcat.
[ Top ]
You can unistall MEME Suite by giving the command:
$ make uninstall
in the root of the build directory. This will remove all the files installed for the MEME Suite, but won’t remove any directories that may have been created.
[ Top ]
Set the environment variable PATH to newly installed MEME Suite executables:
$ setenv PATH your-install-path/bin:${PATH} | # for csh, tcsh |
or | |
$ export PATH=your-install-path/bin:$PATH | # for bash, sh |
[ Top ]
There is a suit of tests that can be run to test MEME Suite output against known output. These tests can be run during the installation process. A quick “smoke test” can be run using the command:
$ make test
A more complete set of tests can be run from the tests
subdirectory of the build directory:
$ cd tests
$ ../scripts/runtests
This full set of tests can take a long time to run. The output files from the tests go into the newly created directory 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 tests.
[ Top ]
If you have installed MEME Suite web site (using the –enable-web option in the ./configure command), you may optionally define a collection of sequence databases. This will define what sequence databases the associated MEME Suite web services will maintain and allow users to search. If you do not do this, you will not be able to use the sequence search tools on your website.
[ Top ]
GOMO uses additional databases which need to be downloaded and installed.
[ Top ]
TOMTOM uses additional databases which need to be downloaded and installed.
Note:Due to copyright restrictions, some motif databases may be absent from the file you downloaded in step 1. You may “comment out” the line in the gomo_databases/motif_db.csv file for a missing database by adding a “#” in front of the line for that databases using a text editor. This will inactivate that motif database. Alternatively, if you own a license for a missing database, you can convert the database to MEME format using a command-line script provided with the MEME Suite. These scripts are documented under “motif database conversion utilities”, and have names that begin with the motif database name and end with 2meme.
[ Top ]
[ Top ]
Make sure first that you really have a problem:
configure
or make
that indicates what the error was.