Speaker
Prof.
Michel Sanner
(The Scripps Research Institute)
Description
The focus of the Molecular Simulation Laboratory is to model molecular
interactions. In particular we are working on automated docking and molecular
visualization. Building and simulating complex molecular systems requires the
tight interoperation of a variety of software tools originating from various
scientific disciplines. Over the last 10 years we have evolved a strategy for
addressing this formidable software engineering problem by developing and
integrating software components using the Python language and its interpreter. The
basic idea is that the Python interpreter serves as the integration framework and
provides a powerful and flexible glue for rapidly compositing components (i.e.
Python packages) into applications. We no longer think in terms of programs, but
rather in terms of packages, which can be loaded dynamically when needed, and
instantly extend our framework (i.e. the Python interpreter) with new capability.
We have written more than 25 packages (>1500 classes) providing functionality
ranging from scientific visualization and visual programming to molecular
simulations. Applications created from these components have been distributed to
over 15000 users around the world. In this paper we will describe our approach and
various applications, discuss the reasons that make this approach so successful,
and present lessons learns and pitfalls to avoid in order to maximize the
reusability and interoperability of software components.
Author
Prof.
Michel Sanner
(The Scripps Research Institute)