IMP
2.1.0
The Integrative Modeling Platform
|
The module provides low level functionality (logging, error handling, profiling, command line flags etc) that is used by all of IMP.
Graphs in IMP are represented in C++ using the Boost.Graph. All graphs used in IMP are VertexAndEdgeListGraphs, have vertex_name properties, are BidirectionalGraphs if they are directed.
The Boost.Graph interface cannot be easily exported to Python so we instead provide a simple wrapper IMP::PythonDirectedGraph. There are methods to translate the graphs into various common python and other formats (eg graphviz).
As is conventional in C++, IMP classes are divided into broad, exclusive types
const&
), never by pointer. Equality is defined based on the data stored in the value. Most value types in IMP are always valid, but a few, mostly geometric types (IMP::algebra::Vector3D) are designed for fast, low-level use and are left in an uninitialized state by their default constructorAll types in IMP, with a few documented exceptions, can be
The google perf tools can be used for cpu and memory profiling of IMP. They can be controlled from the command line in many IMP executables.
Author(s): Daniel Russel
Maintainer: drussel
License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Publications: