IMP Manual
for IMP version 2.5.0
|
IMP is designed to run on a wide variety of platforms. To detect problems on other platforms we provide nightly test runs on the supported platforms for code that is part of the IMP repository.
In order to make it more likely that your code works on all the supported platforms:
and
and or
in C++ code; use &&
and ||
instead.friend
declarations involving templates; use the preprocessor, conditionally on the symbols SWIG
and IMP_DOXYGEN
to hide code as needed instead.argparse
(use optparse
instead).print
is a function, not a statement. So write print("foo")
rather than print "foo"
- the former works in Python 2 too. To catch a lot of Python 3-incompatible code quickly, add from __future__ import print_function, division, absolute_import
at the very top of your Python submodules (top-level modules have this already).os.path.join
to join paths in Python, rather than adding the '/' character. Write utility scripts in Python (which is available on Windows, since the rest of IMP requires it) not as shell scripts, Perl scripts, etc.