-------------------------------------------------------------------------------- PDEN - Protein Density Tools PDEN is offering tools and a C library to work on density files (typically pro- teins). The entier library is using an object oriented approach, hiding al lot of optimizations. While optimizing DireX(http://www.schroderlab.org) density processing, it became helpful to extract the density handling from the original program and offer all functions in another module. The first approach was SplitFFT which just extracted functions operating on densities, today the entire datamanagment has been ex- tracted. -------------------------------------------------------------------------------- INSTALL: Installing PDEN is pretty straightforward on Unix or Unix-like (Linux, Mac OS X, BSD) systems with a C compiler, Make and GNU Build Tools (using GIT) installed. Installing on other platforms is not tested but should be possible on Windows using MinGW. PDEN depends on FFTW3 (see Dependencies). Default Installation: If you start from GIT, please run: $ sh autogen.sh It will setup the buildscripts and directly call configure with the given arguments and make. If you downloaded a package (tar.gz ...) please run: $ sh configure You can get information about available configuration options by running: $ sh configure --help If everything went okay, type $ make to build the library and all tools. Finally to install to a system-wide location you might need to become root or: $ sudo make install Important configuration options are: --enable-openmp/--disable-openmp to build lib with openMP support (default is yes) (in development) --enable-single/--disable-single to build as single precision library this can be usefull if you plan to handle sets of densities to reduce memory footprint (default is double) -------------------------------------------------------------------------------- TOOLS: The tested tools of PDEN. Especially if you start building from GIT there may be additional tools available. pdnormalize normalize a density map to mu=0.0 and sigma=1.0 pdcalcps calculate the power spectrum of a density (radial structure factor) pdapplysf apply a structure factor correcting function (today only Babinet's principal is supported pdrefinesf refine coefficients for structure factor correction that can be used in 'pdapplysf' -------------------------------------------------------------------------------- LIBRARY: A documentation of the library can be created using Doxygen. $ sh autogen.sh doxygen All exported/pulic functions are listed in pden.h (double precision) and pdenf.h (single prcision -------------------------------------------------------------------------------- DEPENDENCIES: Right now PDEN only depends on FFTW3 for Fourier transforms. The library is available at http://www.fftw.org. On Linux most distributions offer the FFTW3 as a prebuild package. Use: apt-get install fftw3 on Debian, Ubuntu etc. or yum install fftw3 on Fedora, Suse, Redhead ... If you have to install FFTW3 it is suggested to install single and double precision libraries. Therefor you have to build fftw3 twice. Change to FFTW3 source directory and run: $ sh configure $ sh make and as root or sudo: $ make install Now you have to build the single precision library: $ make clean $ configure --enable-float $ make and again as root/sudo: $ make install On newer Macs with OS X ( >= 10.7 ? ) there is a known problem with the library path, so if this problem appears please run: $ echo "PATH=/usr/local/bin:$PATH export PATH" >> ~/.bash_profile -------------------------------------------------------------------------------- KNOWN BUGS: - compiling fails with "WARNING: 'aclocal-1.14' is missing on your system."! Known problem with GNU autotools. SOLUTION: $ touch configure.ac aclocal.m4 configure Makefile.am Makefile.in - compiling on linux with gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) could causes problems during sfrefinement: "Armijo rule line search not converged" SOLUTION: could be removed because of some changes in the code seems to be connected to type qualifiers nd optimization - compiling with "-ffast-math" causes several functions to produce very large values SOLUTION: do not use "-ffast-math"