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 executables
profile
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
sed -i.old "s#\([a-zA-Z]\)Decorator#\1#g" **/*.h **/*.cpp **/*.py **/*.i
sed -i.old "s#\([a-zA-Z]\)Decorator#\1#g" `find * -name
\*.h -or -name \*.cpp`
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.