Legacy Program Help
The goal of this page is to help users compile and run releases of VAAL, Arachne, and AllPaths.
This page gives step-by-step instructions on how to setup Arachne, VAAL, or AllPaths. Setup occurs in three steps: download, installation, and compilation.
To compile and run a CRD Program, you will need a compatible UNIX or Linux system, and, depending on the size of your genome, considerable amounts of RAM (which, unless you only expect to assemble / analyze 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).
The specific tool of choice can be downloaded from our Computational Research and Development page at the Broad Institute. Follow the download link for the appropriate tool.
Download and unpack the above tarball, using gunzip and tar xvf. The directory into which it is expanded is your ARACHNE_DIR directory.
To compile the tool, simply enter ARACHNE_DIR and type make. Compilation has been tested thoroughly on Linux/Unix with the gcc version specified by the makefile; other versions of gcc 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 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, but some (e.g. x86_64) are not available at this time.
If you have one of these platforms, 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 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 any of the programs:
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.