We constructed the
Metalloprotein-site Database and Browser (MDB) to be a scientific resource for metalloprotein design and analysis, one that should be available to all the research community, as well as being central to our research.
Since its inception (in January, 1998), the MDB has used Open Source technologies in its core: Apache, PHP and MySQL, and for the interactive visualization and structure processing needs, Python and Java (latter not strictly OSS).
It started as a repository of geometrical information to be used interactively via a web browser, but with time the need arose to allow other people, sites and even programs (we and others are developing), to access this resource non-interactively, usually to include/embed seamlessly data or analysis information from the MDB.
This talk presents the design and evolution of implementing an API for this scientific web application. From using simple, mostly ad-hoc, scripts for information embedding or remote viewing, to a more formalized library of URLs that could output embeddable (HTML tables) or machine processable data (CSV, WDDX), to an XML-RPC based interface allowing for more flexible access, be it from a script in another web server, a local Python application or a remote Java program.
Some examples will be shown, in particular, the implementation of a general SQL query server, and scripts and methods that make it simple to embed complex data and analysis results (e.g. a histogram of distance distributions for the Zn-N bond for all tetracoordinate Zinc sites).