Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit



Failed to load latest commit information.
Latest commit message
Commit time

nightly build coverity scan DOI

For full installation and usage instructions, see the documentation.

Building IMP from source code

To build IMP source found in path/to/imp-source and install it in path_to_install do:

  1. mkdir build && cd build
  2. cmake path/to/imp-source -DCMAKE_INSTALL_PREFIX=path_to_install
  3. make -j4
  4. make install

See the installation instructions in the manual for more details (in particular this covers the necessary prerequisites you'll need before running cmake).

Run ccmake to see more variables that can be used to customize your build and install.

To run IMP without installing, build IMP and then use to set the required environment variables. For example, to run ligand_score, do ./ ligand_score arguments..., or ./ $SHELL and then ligand_score arguments... in the new shell.

Copyright and License information

IMP is Copyright 2007-2023 IMP Inventors. The IMP Inventors are Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman, Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan, Seung Joong Kim, Yannick Spill, Riccardo Pellarin.

IMP is largely available under the GNU Lesser GPL; see the file COPYING.LGPL for the full text of this license. Some IMP modules are available under the GNU GPL (see the file COPYING.GPL). Please refer to the documentation for more detail.

Files and folders structure

When you build IMP, the lib directory contains Python modules (both pure Python, in the IMP subdirectory, and C++ extensions, as in the top-level directory) and the IMP C++ libraries (as in the top-level directory). Rationale: Windows searches for C++ dynamic libraries in the same directory as C++ Python extensions.

The include directory contains all public header files under the IMP subdirectory. Modules are in named subdirectories under that.

The swig directory contains all SWIG interface (.i) files used to build the Python interface.