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.handle from function names (eg node_handle became node) to remove inconsistencies.base qualifier (eg base::TextInput) so that swig is happy.kernel to modules/kernel. This is unlikely to effect anyone.python argument to scons.RMF/RootHandle.h. This most was done in order to make the spin off of the RMF library as transparent as possible when it occurs later.nullptr. You should prefer that to NULL in IMP code that you want to run cross platform.IMP. This include RMF::HDF5DataSetD.IMP now supports usage of restraints without adding them to the IMP::Model scoring function. To do this, do IMP::Restraint::set_model(), passing the model. The restraint can then be evaluated.IMP. The reason for doing this was that the code was complicated, created overhead even when incremental support was not used and was not commonly used. Further, decomposing the restraints and using the dependency graph yields similar results and is more transparent.dot and then open the pdf.IMP graphs. Unfortunately, they still pale compared to graphviz.IMP.IMP modules are now built by first combining all the .cpp files into one, and then building that file. This greatly accelerates building of a module from scratch as build time is dominated by parsing headers. This does change the semantics of .cpp files as they see headers included by and functions declared by an arbitrary subset of other .cpp files. For now they are still required to be able to be compiled separately. To get the only behavior back either globally or on a per-module basis, see the percppcompilation parameter to scons.IMP build. See the installation guide.This typedef and makes them more consistent with the other macros in IMP.IMP svn in addition to applications and biological systems. To do so, create a directory with your module in a subdir containing links to the IMP SConscript file and scons_tools and a config.py that has information needed to run IMP (eg an appropriate pythonpath, ldpath).IMP.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).IMP naming scheme as we don't expect they were used outside of the IMP source.IMP used on a biological systemIMP.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.IMP body, all instances of the string Selector were for PDBSelectors and so sed was safe to use.IMP svn which use the IMP_*_SCORE macros now have to implement the get_is_changed() function outside of the class declaration and scores which use the IMP_SIMPLE_*_SCORE now don't have to implement the functions to get interactions and used particles.sed should manage updates just fine), but the internal implementation is completely new, so pay attention.IMP now has a text i/o layer consisting of IMP::TextInput and IMP::TextOutput. These classes are convertible to C++ streams and implicitly constructable from both streams and file paths. As a result, functions that take them will work when called with a string for a file path, a Python file or a C++ stream.IMP now makes use of Boost.Filesystem to manipulate paths. Things may not work well on systems where boost libs are not available which does not support posix paths. But libless boost installs generally don't exist outside of our test systems.IMP exceptions can be caught in Python using "except IMP.Exception". For convenience, the IMP::IOException, IMP::ValueException and IMP::IndexException classes in Python also derive from the similarly-named standard Python classes (IOError, ValueError and IndexError respectively)..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.IMP was built from.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 line repository="../path_to_src_dir"
config.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. sed -i.old
"s#MolecularHierarchy#Hierarchy#g" my_files
IMP-specific doxygen commands have been documented. if (d) { blah }
DecoratorName()) rather than throwing an exception. This might make it actually useful.IMP.scons doc > /dev/null
map in Python and for_each in C++. See IMP::SingletonFunctor and IMP::PairFunctor for more information.IMP standards (and more likely to do what their names/comments suggest). See IMP::algebra::Sphere3D, IMP::algebra::Cylinder3D, IMP::algebra::Segment3D, IMP::algebra::Plane3D etc.