This page gives step-by-step instructions on how to setup Arachne. Setup occurs in three steps: download, installation, and compilation.
To compile and run Arachne, you will need a Linux/UNIX system, and, depending on the size of your genome, considerable amounts of RAM (which, unless you only expect to assemble tiny genomes < 10 Mbp, implies a 64-bit processor architecture). You will also need the following software:
- The LaTeX suite of text-processing software, including executables for latex and dvips. These items may already be on your system. Otherwise, install the LateX suite, for example by downloading one of the free implementations from http://www.tug.org. We use the web2c implementation.
- The compression utility gzip and the traceback utility addr2line (from the binutils package), provided by the Free Software Foundation (http://www.gnu.org).
You can get Arachne from the Broad FTP site (ftp://ftp.broadinstitute.org/pub/crd/ARACHNE/).
Download and unpack the above tarball, using tar xvzf tarball.tgz. We'll refer to the directory into which it is expanded as your ARACHNE_DIR directory.
To compile Arachne, cd to your ARACHNE_DIR. Execute ./configure, and then type make. Compilation has been tested on CentOS Linux x86_64 with gcc version 4.4.3; other versions of gcc may or may not compile.
- FORCE_DEBUG=yes: Turns on all asserts
- OPTIM=none: Turns off all optimization (-O1, -O2 will turn on that level)
- PROFILE=yes: Turns on profiling
Here is a trick to pass other options to make: paste them after OPTIM, e.g. OPTIM="-O3 -Dmyflag" If you want to use gdb, you want FORCE_DEBUG=yes OPTIM=none.
A common problem when compiling Arachne from source is getting the Xerces XML parsing library to link correctly. We use an old version (1.5.1) of the library, but it is still available. We have pre-compiled versions for a selection of platforms.
If you are not using one of the platforms for which a pre-complied version is available, you will need to compile the Xerces 1.5.1 library using the same compiler that you will use for Arachne, and put the resulting library in your Arachne source directory. You should name the library libxerces-c1_5_1-machinetype.so. You can find machinetype on your platform by running the command uname -m.
Compiling your own modules
If you write your own module, the Arachne Makefile will detect your .cc file and automatically figure out all its dependencies, as follows:
- Your executable must include a line that start exactly like this:
- The makefile will include as dependencies all object files created from .cc files for which your executable directly or indirectly includes the .h file.
- The include convention is that you write in the absolute path from the CVS root, even if you are in a subdirectory. For example, you write #include "system/System.h" instead of #include "System.h".
To compile a module for which the source code file is named MyModule.cc, type make MyModule.
The following two limits MUST be set in order to run Arachne:
limit stacksize 100000 limit datasize unlimited
The easiest way to set these limits is to add the above two lines to your rc file (.bashrc, .cshrc, etc.) In addition, you may find it convenient to include some of the following environment variables in your rc file. If these variables are in your environment, you do not need to specify them as command-line arguments.
Lastly, it is a good idea to include ARACHNE_BIN_DIR (the full form, prefixed with ARACHNE_DIR) in your PATH after compiling Arachne. The PATH environment variable is defined in your rc file. Remember to source your rc file after making any changes.