3–5 Jul 2006
CERN, Geneva
Europe/Zurich timezone

The Python interpreter as a framework for integrating scientific computing software-components

3 Jul 2006, 09:00
30m
40-SS-D01 (CERN, Geneva)

40-SS-D01

CERN, Geneva

Refereed Papers Refereed Papers

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.

Primary author

Prof. Michel Sanner (The Scripps Research Institute)

Presentation materials