Code Monkey home page Code Monkey logo

pden's Introduction


                      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

pdcalcsf         calculate the structur factor 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 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"

pden's People

Contributors

bennof avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.