|
IMP Manual
for IMP version 2.11.1
|
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.