This is an old revision of the document!


Installation


Quick start

  • Download the latest version from the website
  • Uncompress the archive downloaded
  • Move the directory to the directory where you want to install the programs
  • Open a terminal and launch the installation script

Linux

make_all [serial | parallel] [all | gui | nogui]

Mac OSX

mac_make_all [serial | parallel] [all | gui | nogui]

Choose serial or parallel to build image reconstruction codes that run in serial or parallel mode, respectively. All parallelization is done using MPI. The second option specifies whether all, only GUI-based, or only non-GUI based applications should be built.
You will generally want to build the entire suite, but these options are provided both for developers and those who may not have all of the necessary Motif libraries for the GUIs.

NOTES:

  • For serial mode, the FC and CC macros in the make.inc.serial file point to the gfortran and gcc compilers, respectively. You will need to edit this file if you are using other compilers.
  • For parallel mode, the FC and CC macros in the make.inc.parallel file point to the mpif90 and mpicc scripts, respectively. You will need to edit this file if you are using other compilation scripts.
  • In the future we hope to develop a more robust build system, but for now you're stuck having to do some of the work on your own if using other compilers.
  • Provide path information for binaries and perl scripts. For example, C shell users should add the following to your .cshrc file, where x.xx is the auto3dem version.
    set path = (/path_to_auto3dem/auto3dem_vx.xx/bin $path)

Of course, it's probably more convenient to create a symbolic link named auto3dem that points to the latest version.

Library dependencies

AUTO3DEM does not depend on external programs, but relies on libraries of the operating system that are not necessarily present by default.

Perl requirements

auto3dem and the auxilliary routines setup_rmc, handflip, remove_useless, and findbest were developed using Perl version 5.8.5, but will probably run using slightly older versions. It is expected that you have the standard set of CPAN modules, including Cwd, File::Copy, and Math::Trig.

In order to generate graphical representations of the FSC curves, you will also need the GD library and GD::Graph module. If you don't have this module, auto3dem will run just fine, but won't produce graphs of FSC curves.

Email notification

auto3dem has the capability to send email notifications at the end of each iteration. Add the following line to your auto3dem input file

auto recipient address1 [address2 …]

In order for this to work correctly, you will need to have the mutt email program installed and properly configured.

Compiling image reconstruction codes

The programs POR, PCTFR, P3DR, PCUT, PSF, and PPFT called by auto3dem are parallel applications that have been developed using the MPI library. The codes contain preprocessor directives that isolate the parallel content thereby allowing compilation in serial mode.

In order to build the executables, you will need the following

o Fortran 90 compiler o ANSI C compiler o MPI implementation (parallel mode only)

The codes make extensive use of Fortran 90 features - dynamic memory management, newer intrinsic functions, array syntax, etc. - and will not compile under Fortran 77.

Our codes have been successfully compiled and run using the gfortran and ifort Fortran compilers, the icc and gcc C compilers, and MPICH2. That said, we expect that any standard compilers and MPI implementation will work.

To create binaries of the image reconstruction codes, simply execute 'make_all mode' (mode = parallel or serial) on the command line. This script sets symbolic links to the appropriate make include and perl module files, enters each of the program and library directories, and executes the local Makefile. The binaries are then copied into the bin directory.

The make.inc.serial and make.inc.parallel files specify the compilers and flags that will be used by the Makefiles. These are fairly generic and may need to be manually edited if you are using anything other than the GNU compilers.

Compiling image preprocessing applications

RobEM, fixpif, oned, and ctfDisp all make use of the Motif graphical user interface toolkit. You will need to install the appropriate library if you wish to use these programs.

One problem commonly encountered with robem is an inability to modify the contents of text boxes. This can occur even when all other GUI components (arrows, pulldown menus, buttons, etc.) are working properly. This can often be fixed by taking the following steps

32-bit systems
cd /usr/X11R6/lib/X11 (or /usr/lib/X11 depending on the linux flavor)
ln -s /usr/share/X11/XKeysymDB XKeysymDB
64-bit systems
cd /usr/X11R6/lib/X11 (or /usr/lib64/X11 depending on the linux flavor)
ln -s /usr/share/X11/XKeysymDB XKeysymDB

Another potential problem is that the value of the $LANG variable may cause problems when trying to build robem. An error message like the following may be produced

uil new_robem.uil -o new_robem.uid
Error: $LANG contains an unknown character set
Info: no UID file was produced

To get around this, try unsetting the variable and rebuilding. For example, in C shell

% unsetenv LANG

Running parallel jobs

AUTO3DEM currently runs under the PBS and SGE batch schedulers. In your job script, you will need to include the flag (-V) that exports all environment variables to the job. Do not explicitly include a nodefile in the auto3dem command since it is automatically passed through the Perl %ENV hash.

If you are running on a system that is not under control of a batch scheduler, you can specify that particular nodes be used with the -nodefile flag. Depending on your computing environment, specification of a nodefile may not be necessary.