IMP
2.0.1
The Integrative Modeling Platform
|
IMP
is available in a variety of different ways. If you are just planning on using existing IMP
code and run on a standard platform, you may be able to install a pre-built binary. See the download page.
If you are planning on contributing to IMP
, you should download and build the source. See the next section for more information.
Building IMP
from source is straightforward if the prerequisites are already installed. We recommend you get IMP
from git
by git clone git://github.com/salilab/imp.git
To build, create a directory to build IMP
in (it is good practice not to build in the source directory and do)
cmake ../imp -DCMAKE_BUILD_TYPE=Release make -j 4
See Building IMP with CMake for more information.
In order to obtain and compile IMP
, you will need:
If you wish to build the Python interfaces, you will also need:
Mac users must first install Xcode (previously known as Developer Tools) which is not installed by default with OS X, but is available from the App store (or from the Mac OS install DVD for old versions of Mac OS).
Then Mac users should use one of the available collections of Unix tools, either
homebrew
do brew install boost gmp google-perftools cgal graphviz gsl cmake doxygen hdf5 swig eigen fftw mpfr
to install everything IMP
finds useful (or that you will want for installing various useful python libs that IMP
finds useful)./opt/local/bin
to your path (either by modifying your shell's config file or by making an environment.plist
file-see the FAQ) and then do hdf5-18
(version 1.8), rather than the older hdf5
(version 1.6.9).swig
is found first in your PATH
.We recommend Linux or Mac for developing with IMP
, as obtaining the prerequisites on Windows is much more involved. However, we do test IMP
on Windows, built with the Microsoft Visual Studio compilers (we use Visual Studio Express 2010 SP1). One complication is that different packages are compiled with different versions of Visual Studio, and mixing the different runtimes (msvc*.dll) can cause odd behavior; therefore, we recommend building most of the dependencies from source code using the same version of Visual Studio that you're going to use to build IMP
. The basic procedure is as follows:
IMP
for 32-bit Windows).libTAU.lib
to TAU.lib
to help cmake find it.IMP
by running something similar to IMP
. (cmake can also generate Visual Studio project files, but we recommend nmake.)IMP
or run tests, first run the setup_environment.bat file to set up the environment so all the programs and Python modules can be found. (This batch file needs to be run only once, not for each test.)
All of the prerequisites should be available as pre-built packages for your Linux distribution of choice.
IMP
can make use of a variety of external tools to provide more or better functionality.
Building the documentation requires Doxygen and graphviz. It is available as part of most Unix tool sets (HomeBrew, all Linux distributions etc.).
If you want to use IMP
with MODELLER, you should use version 9v7 or later. If you installed the MODELLER Linux RPM or Mac package, it should be detected automatically. Make sure that MODELLER is found in your PYTHONPATH
.
A wide variety of geometric computations will be faster, better or more reliable if CGAL is installed. CGAL is available as part of most Linux distributions and can be built from source on Mac OS or Linux. It is free for academic use, but commercial use requires a license. See IMP::cgal for more information.
The google perf tools can be used for cpu and memory profiling of IMP. They can be controlled from the command line in many IMP
executables.
ANN is a library implementing fast nearest neighbor searches. Certain data structures will be faster if it is installed. While compilation of the library from source is quite straight forward, it is not avaible as a package for common platforms. In addition, ANN must be built as a shared library rather than a static library. See the FAQ.
The IMP.gsl module requires GSL. It is available as a prebuilt package on all supported platforms. Note that GSL is distributed under the GPL and so cannot be used in C++ applications with certain other dependencies such as CGAL.
You are now ready to use IMP
within Python and C++.
Everyone should read the Introduction and developers should then move on to the Developer guide.