Giter VIP home page Giter VIP logo

salilab / imp Goto Github PK

View Code? Open in Web Editor NEW
70.0 41.0 30.0 229.56 MB

The Integrative Modeling Platform

Home Page: https://integrativemodeling.org

License: GNU General Public License v3.0

Python 42.08% C++ 50.62% C 1.38% CMake 0.96% Shell 1.01% HTML 0.01% LLVM 0.05% Gnuplot 0.01% Cuda 0.04% Yacc 0.03% MAXScript 1.94% Jupyter Notebook 0.16% Makefile 0.05% Batchfile 0.02% Roff 0.16% CSS 0.03% Perl 0.01% NSIS 0.03% SWIG 0.99% Rich Text Format 0.42%
protein-structure python c-plus-plus structural-biology integrative-modeling

imp's Introduction

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 setup_environment.sh to set the required environment variables. For example, to run ligand_score, do ./setup_environment.sh ligand_score arguments..., or ./setup_environment.sh $SHELL and then ligand_score arguments... in the new shell.

Copyright and License information

IMP is Copyright 2007-2024 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 _IMP_foo.so in the top-level directory) and the IMP C++ libraries (as libimp_foo.so 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.

imp's People

Contributors

alatham13 avatar barakr avatar benmwebb avatar cgreenberg avatar drussel avatar duhovka avatar etjioe avatar ichem001 avatar iecheverria avatar maxbonomi avatar pellarin avatar procyon777 avatar ravehlab avatar sethaxen avatar shanot avatar shruthivis avatar tanmoy7989 avatar tpeulen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imp's Issues

Speed up scons

Make install just take what is there. Use os.glob instead of scons glob.

Add support for locking rmf files

The model is for having separate read and write processes. Would have a lock attribute and a version counter. Need tool to break lock. Make checking lock exposed to the user rather than low level.

feature/pointer_docs

This branch has changes to make it clearer what the various smart pointers do. It is ready to commit to svn.

remove parsing of python examples

We don't use any of the results any more. We can skip building lots of tables in data and remove the whole function lookup table.

external builds are flakey

Since the required modules are sorted arbitrarily which doesn't really work as they need to be in the right order. Need to track dependencies with external builds too.

feature/rmf_fill_bug

This feature contains test code that shows a bug in hdf5 with filling. Ready to commit to svn.

circularity in test dependencies

There is an inherent circularity in the dependency computations with tests in that the dependencies for a test depend on modules that haven't been parsed yet. This is probably responsible for much of the flakiness we see. Possibilities include

  • do things in two passes, first stuff that can only look backwards and then tests and running examples that can look at the whole project
  • munge more

It is not clear how to do the first, we can add a pass argument in the environment...

RMFs can be very large

Look into data set compression, setting chunk size intelligently, make sure there is no wasted space.

rmf_all_frames

  • Fix RMF.h to include new files.
  • add enum to specify STATIC
  • make decorator check cover all frames if necessary
  • add test for get all values in decorators

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.