WPF/Silverlight Shared Source Protein Visualizer for Microsoft eScience
Microsoft Research is the research and development division within Microsoft, and is dedicated to conducting both basic and applied research in computer science and software engineering. Microsoft Research is segmented into many research areas, one of which is the eScience division, a computational sciences branch committed to providing computational support to the natural sciences. eScience hired Wintellect to re-write the existing Windows Forms application in both Silverlight and WPF, and to correspondingly re-create the user interface design, using as much of a single code base as possible.
Microsoft eScience provides a 2D-visualization tool for displaying relative associations between protein sequence strings within a molecule as well as the proximity of the sequence chains once the protein has been folded. The application was originally built using Windows Forms technology in the C# programming language. The visualization application provides researchers with a unique view of protein interactions as well as a method for exploring the interactions in real-time.
Microsoft wanted to offer a new version of the application through the internet on the Silverlight platform, as well as updating the application to the Windows Presentation Foundation (WPF). This technology upgrade would allow Microsoft to manage a single code-base for both web and traditional desktop delivery mechanisms, as well as to leverage the enhanced visualization capabilities of WPF and Silverlight.
Finally, in order to visualize the three-dimensional proximity of two positions within the chain, an existing open source product would be leveraged to display the protein model in 3D. A communications layer between the 2D visualization application and the 3D modeling tool needed to be created for this.
Microsoft, already familiar with the Wintellect brand, decided to outsource the development of the new version of the 2D visualization tool and the integration with the 3D modeling tool. Wintellect, a Microsoft Gold Certified Partner and Silverlight Alliance Partner, had the experience with both WPF and Silverlight to deliver the product within timeframe desired by Microsoft.
In order to develop the application on both the WPF and Silverlight platforms, code reuse was a high priority. All of the computational code was extracted out of the visualization layer and pushed into separate projects shared with both the WPF and Silverlight applications. The separate front-end applications (the user interfaces) were kept as thin as possible in order to maximize code sharing between the platforms.
Finally, Windows Communication Foundation (WCF) was used to facilitate communication between the WPF application and an open-source 3D protein modeling application. Researchers would be able to select a group of protein sequences in the 2D visualization application and then view the physical representation of those sequences in a 3D model.
Both the WPF and Silverlight versions of the application were rapidly constructed due to the flexibility and capabilities offered by XAML, Silverlight and WPF. Most features of the visualization application were supported by both versions; however, due to some current limitations in Silverlight, certain features (such as saving the resulting image to disk or interacting with the 3D modeling application) are not available in the web version of the application.
The full solution was completed slightly ahead of time and under budget within a fixed-price delivery schedule. WPF and Silverlight’s graphical capabilities allowed this project to progress at an accelerated rate.