EMAN2 is a greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes. Satish Patel, a masters student from the Structural Biology department is making use of the ICTS High Performance Computing cluster to do single particle reconstruction of Malarial gene Glutamine Synthetase.
The installation of EMAN2 is trivial and if installed on a linux machine requires you to only download the tarball and extraction onto a NFS export application area. You are then required to execute the installation script ./eman2_installer which is not so much an installation but rather spits out a shell environment script to which you call from your .bashrc at login time. The script sets your shell environment for EMAN2 and makes use of its own built in python command interpreter.
To really make use of EMAN2 we suggest you make use of the MPI version. However, most compiled versions of MPI on clusters are default compiles and do not disable the dlopen option which EMAN2 needs in order to run successfully. Another caveat is the version of OpenMPI. Ensure that your run the version specified in the documentation, OpenMPI 1.4.3 as later versions will not work because EMAN2 tries to load the libmpi.so.0 library and this is not available in OpenMPI 1.6, for example.
Compile and install OpenMPI into your home directory using the instructions available at - http://blake.bcm.edu/emanwiki/EMAN2/Parallel/BuildMpi .
cd ~/EMAN2/mpi_eman/
make -f Makefile.linux2 install
The command will compile and install the mpi libraries needed for EMAN2. A test MPI submission script for Torque PBS is available in the "~/EMAN2/mpi_eman/". Issuing the "qsub pbs.example" script will submit a MPI job to the cluster and should return with a sucessful run.
Ensure that your PBS variables contain the correct number of CPU's, for example, #PBS -l nodes=5:ppn=4 and that it reflects the exact same amount of CPU's in the "e2refine.py" statement of the EMAN2 command, --parallel=mpi:20:/scratch/username. If you run into any problems you can specify one CPU less in the --parallel=mpi statement.
Thanks to the developers of EMAN2 who have put a great application together with excellent documentation.
URL:
http://blake.bcm.edu/emanwiki/EMAN2/Parallel/Mpi
http://blake.bcm.edu/emanwiki/EMAN2/Parallel/BuildMpi
http://blake.bcm.edu/emanwiki/EMAN2/Install/BinaryInstall