Table of Contents
We have implemented a system to perform BayesFold's calculations using a client/server model. The server, written in Python on Linux, performs all folding and ranking calculations; the client, written in JavaScript, runs in a web browser and displays the results. Because the client makes heavy use of XML, XSLT, the DOM, and CSS, it currently requires Internet Explorer 5 and above on Windows with version 3 or above of the Adobe SVG plugin and version 3 or above of the MSXML parser. We hope to add support for the Netscape/Mozilla client in the next release.
The client accepts user input and transfers it to the server using CGI, the common gateway interface. The server performs folding and ranking calculations and returns the results as a single XML document. This XML document is parsed by the client side program, which allows the user to drill down through this returned data in a number of sophisticated ways without any further hits on the server.
We particularly emphasize that the interface also allows the production of publication-quality graphics, either printed directly from the browser or exported into an SVG-compliant graphics package. SVG is the W3C Consortium's approved format for vector graphics on the web, and support for this file format is likely to rapidly increase in the near future.