|
IMP Manual
for IMP version 2.5.0
|
multi_foxs, allows for enumeration and scoring of multi-state models against SAXS profiles.ligand_score_multiple, acts similarly to the existing ligand_score tool but scores each ligand pose generated by docking software (such as PatchDock).-python3 subpackage is provided for Ubuntu and Fedora. (Apple does not yet provide Python 3 so the Mac package is not built with Python 3 support, but if you install Python 3 you can compile IMP from source to work with it.)rrt_sample, allows for running rapidly exploring random tree (RRT) based sampling, e.g. to sample conformations of multiple domains connected by flexible linkers.bin directory of modules (the old bin directory, used for utility programs that are not installed, is now called utility). The applications directory is removed..py extension has been removed from all Python applications, so that they are consistent with the C++ applications.python26 binary (part of EPEL) rather than the system default Python.--log_level and --check_level command line argument now take strings (eg VERBOSE) to specify their values, rather than cryptic (and a bit unstable) numbers.--help_advanced to show the advanced ones..rmf3).--statistics=filename to the command line or use the IMP::base::show_timings() function to view a summary of where IMP has spent time._ on the method name, if you get Swig director pure virtual method called IMP::kernel::PairScore::do_get_inputs messages.cmake files are no longer stored in the repository. Instead tools/build/setup_cmake.py is run after checkouts and other git events that change the repository tree (assuming you have run setup_git.py).doxygen has been refactored. It is now done on a per-module basis, via targets like IMP.core-doc. The main advantage is that changes to the doc for a module can be tested comparatively quickly, just by building that module's docs. On the down side, docs are no longer quite so heavily interconnected, so dependencies only work to things that the module actually depends on.git-flow. It handles things like README.md files when you start and finish feature branches and provides a tool to nicely update IMP and display the change log. The main commands of use are git imp feature start <feature_name>, git imp feature finish <feature_name>, and git imp update. You may want to remove the git-flow lines from your .git/config file as you may accidentally type git flow instead of git imp. You need to run setup_git.py to set things up.setup_git.py to make sure submodule stuff is initialized.README.md, giving the github id of the person to whom issues should be assigned.setup_git.py supports the --module flag which will set up git hooks and things for a git repository that contains a module.dependencies.py and the module docs in a README.md, both in the main module directory.--test argument when IMP is built with internal checks. Expensive examples should check this flag and shorten what they do in order to try to test all their code without taking too long.release has been reduced to IMP::USAGE as that speeds things up a bit..cpp file linked with any .cpp files contained in a subdirectory called lib. Nothing needs to be put into the SConscript file.repository argument. This was always required for out of source builds, which is what one should be doing, but is now required for in source builds to, so as to make accidentally polluting your source with an in-source build harder. Use repository="." in that case.RMF/HDF5, the Python functionality into RMF_HDF5 and the code into namespace RMF::HDF5 and all mentions of HDF5 or hdf5 in the class and function names were removed.overview.dox in the module doc folder. Modules in IMP svn have been updated. For external modules, you can just move a overview.dox from that was previously generated into your doc folder and (eventually) remove the lines from your doc/SConscript. This makes it easier to use the full range of doxygen markup, as well as removes the need to escape doxygen markup for Python..py and .readme files (putting \#\# in front of each line of the .readme) and adding a ## \example module/examplename.py line at the beginning. You can use ./tools/updaters/update_examples.py modules/mymodule to update a module that was not already updated.include. If so, just comment them out, or move them some place nicer.modules, which must have a description.py file._do_get_outputs(self, m, particle_indexes) which should probably just return [m.get_particle(i) for in in particle_indexes] to return all the passed particles.protected is used an a class in the API.module/bin are now put in build/module_bin/module. This removes a recurring source of errors in the build script due to the origin and destination directory have the same name in scons.module/benchmark and build to build/benchmark/module to remove a recurring source of errors.bin whose name starts with benchmark_) that use the IMP_BENCHMARK() macro have command line flags to turn on and cpu and memory profiling.pyext directories changed. They should now be IMP_modulename.name.i instead of IMP_modulename_name.i. This is to better support underscores in names. svn that depended on IMP headers including other headers. In general, you want to explicitly include the header defining each thing you use.tools/show-changes has been added that shows the changes in the history log since you last updated.tools/make-source has been added that adds a source/header pair to a modulepretty and color were added (defaulting to True). When they are true, build commands are mostly suppressed and a much briefer description of what is being done is printed out (in color). Note that color mode and compilation in emacs don't get along too well.matplotlib.base qualifier (eg base::TextInput) so that swig is happy.kernel to modules/kernel. This is unlikely to effect anyone.python argument to scons.nullptr. You should prefer that to NULL in IMP code that you want to run cross platform.dot and then open the pdf.This typedef and makes them more consistent with the other macros in IMP.pythonpath, ldpath).new in C++ code. It also means that one is no longer prohibited from storing them (not that there is much use in doing that).get_)get_ as a prefix and/or add a _3d suffix when they did not take any arguments._3d so we can add 2D versions at some point)".transform(" worked in the IMP code base.sed should manage updates just fine), but the internal implementation is completely new, so pay attention..i files have been renamed to start with IMP_ to help make dependency tracking easier.static=True) build both the static and dynamic libraries and just static executablesprofile build target has been removed as static=True does the important bit of what is needed. Just do linkflags=['-pg'] to add the needed link flag for gprof.bin/imppy.sh no longer works, as was previously warned. Use tools/imppy.sh instead. The bin directory will go away eventually, for now the script just tells you to use the tools version.print or str to not return something useful in Python for any IMP object.tools/update-decorators is provided which updates the names in all code in subdirectories of the current directory. Please backup things first.scons_tools and SConstruct from the source directory in the build directory and then add the lineconfig.py in the build directory. Then running scons in the build directory will put generated files there. This allows you to make both a release and fast build off of the same set of sources. Proper docs will be added soon.DecoratorName()) rather than throwing an exception. This might make it actually useful.map in Python and for_each in C++. See IMP::SingletonFunctor and IMP::PairFunctor for more information.