How to obtain EMAN2/SPARX
Please visit the EMAN2 website to download the nightly release of EMAN2/SPARX:
http://ncmi.bcm.tmc.edu/ncmi/software/counter_222/software_86/
where you can find links to the source code and the binary distributions for Linux, Mac OS X and Windows.
How to install EMAN2/SPARX
The easiest way of installing EMAN2/SPARX is to install the binary distribution, which is also strongly recommended. If you are interested in knowing the details of implementation or plan to write/revise low-level C++ codes, you may also build EMAN2/SPARX from the source code, but it will be considerably more difficult.
Install the binary distribution
It is suggested to install EMAN2/SPARX under your home directory.
If you are using Linux, download the file which fits your platform, the current file name is eman2.daily.linux.gcc4.tar.bz2 (may change in the future), save it in the home directory, then use the following commands:
cd $HOME
tar --bzip2 -xvf eman2.daily.linux64.gcc4.tar.bz2
cd EMAN2
./eman2-installer
The installer will ask you about the version of python your are using. Then it will generate a file named eman2.bashrc. By running source eman2.bashrc the environmental variables will be set correctly.
When installing on a cluster, it is preferable to switch off bdb database cache (otherwise nodes can become out of sync with the front machine and parameters stored in the bdb database by the program running on the cluster may become invisible to the front machine). The cluster installation is thus preferably done by adding a flag to the installer:
./eman2-installer --disable_cache
Note this also switches off the GUI usage in interactive SPARX, a feature normally not of much use when working on remote machines. To active one of the options one has to modify appropriate flags in EMAN2/lib/global_def.py.
After that please follow the instruction of MPI-installation to install the MPI-python binding and enable the MPI version of sparx.
Problem with memory fragmentation under Linux
Due to a recent change of memory management algorithm in Linux kernel SPARX will tend to occupy an increasing amount of memory and the program may eventually crash. This is caused by a new memory defragmentation algorithm implemented recently (~2010?) in Linux kernel. We determined that one can all but eliminate the problem by add changing the setting of this algorithm, which requires addition to cshell (or, equivalently, to bash), of either of the following statements:
setenv MALLOC_MMAP_THRESHOLD_ 32768
export MALLOC_MMAP_THRESHOLD_=32768
Install from the source code
Detailed step-by-step instructions can by found in SourceCodeInstallation.
