3. Installation

3.1. System requirements

ProteinDF has several distributions. If a README file is provided, first read the README file.

To execute ProteinDF, the following environment is required:

  • UNIX/Linux operating system

  • C runtime library (normally bundled with the OS)

  • bash
  • BLAS, LAPACK library

  • MPI runtime environment (only for parallel version)

  • Distributed matrix operation library (ScaLAPACK)

3.1.1. Hardware and operating system

ProteinDF has been confirmed to operate on POSIX-compliant computer systems, as well on as the following computing systems:

  • SGI Altix 3000 series

  • Cray XT-5, XT-6

The program should also work on the x86 PC Linux system.

3.1.2. Memory and disk

The required memory size depends on the scale of computation model. Furthermore, in parallel computation, the required memory size per node varies depending on whether one uses LAPACK or ScaLAPACK for matrix operations. For LAPACK, the maximum computation scale is equal to the memory size on each node. For ScaLAPACK, the scale is equal to the total memory size on all nodes, since the computation area is distributed and stored in all nodes. Note that this estimation serves only as a guideline, since other factors also determine the available computation scale.

Warning

Caution: For a 32bit OS, ProteinDF may have some limitations in available memory size, file size, etc.

3.1.3. python module

Several python scripts are prepared for ProteinDF. These scripts are not necessary for program execution, but for analysis of calculation results. To use these python scripts, the following programs (modules) are required. For configuration of these programs, follow the system guidelines.

  • python (version 2.5 or greater)

  • argparse module

  • numpy module

  • matplotlib module

  • MessagePack module

  • YAML module

3.2. Installation and setup

The installation procedure varies according to the distributed package. If a README file is provided, follow the README file instructions.

3.2.1. Environment variables

ProteinDF requires the user to configure the following environment variables. Appropriately set the variables according to the user’s environment.

3.2.1.1. PDF_HOME

Specify the directory where the ProteinDF package was copied.

For example, when the package was copied to /usr/local/ProteinDF and when bash is used as the login shell, add the following to .bashrc:

PDF_HOME=/usr/local/ProteinDF
export PDF_HOME

3.2.1.2. OMP_NUM_THREADS

When executing ProteinDF with the OpenMP multi-threading, specify the maximum number of threads inside the OpenMP parallel region.

3.2.1.3. OMP_SCHEDULE

When executing ProteinDF with the OpenMP multi-threading, specify the type and chunk size of the parallel schedule inside the OpenMP parallel region.

3.2.2. Installing runtime libraries

For the binary package for X86 and X86_64 environments, some of the Intel shared libraries may be required. Download the redistributable libraries from the link below and install them to the user’s system: http://software.intel.com/en-us/articles/redistributable-libraries-for-the-intelr-c-and-visual-fortran-compiler-professional-editions-for-linux/

3.2.3. Build from the source

3.2.3.1. Executing configure

The source file extracted from the tarball contains the configure script. Executing the configure script creates the Makefile according to the user’s environment.

$ ./configure 2>&1 | tee out.configure

Note

If the user obtained the source code from the source code repository, create the configure script using the autotools. Refer to [xxx] for details.

The following are the options/environment variables typically used. Refer to configure –help for details.

  • --prefix=location

Specifies the program installation directory. The default is /usr/local. Use this option to install the program at the user’s home directory, etc.

  • --enable-parallel

Creates the parallel processing program, in addition to the serial version.

  • --with-blas=location

Specifies the BLAS library location.

  • --with-lapack=location

Specifies the LAPACK library location.

  • --with-scalapack=location

Specifies the ScaLAPACK library location.

  • Environment variables CC, CXX, MPICXX

Specifies the C/C++ compiler used for the build. When linking MPI libraries, use the compiler appropriate to the computing system, such as mpicxx.

  • Environment variables CFLAGS, CXXFLAGS

Specifies the options to pass to the C/C++ compiler. Use this variable to specify the options to the OpenMP compilers, etc.

  • Environment variables LIBS

Specifies the other libraries required for the build.

  • Environment variables BLAS_LIBS

Specifies the BLAS library.

  • Environment variables LAPACK_LIBS

Specifies the LAPACK library.

  • Environment variables SCALAPACK_LIBS

Specifies the ScaLAPACK library.

3.2.3.2. Executing “make”

Execute the configure command, and make sure the Makefile is created. Once the Makefile is created, execute the make command.

$ make 2>&1 | tee out.make

3.2.3.3. Installing the program

After executing “make”, install the execution file/data to the specified path.

$ make install 2>&1 | tee out.make_install

After the execution above, the following files will be created:

  • ${PDF_HOME}/bin/PDF.x
  • ${PDF_HOME}/bin/PPDF.x
  • ${PDF_HOME}/data/basis2

3.2.3.4. When trouble occurs...

In some environments, problems may occur such that no script can be executed, or no build is possible. In such cases, check the output of each script thoroughly (i.e. out.configure, out.make, and out.make_install in the case above).

3.2.3.5. Build from the development code

When the user obtained the development code from the source code repository, create the configure script using the autotools. To do so, execute the bundled bootstrap.sh under the directory where automake, autoconf, and libtool are installed.