Desktop Data Publishing Software
Business Requirement
Affymetrix is a leader in the development and commercialization of systems to acquire, analyze and manage complex genetic information in order to improve life. In an effort to promote a database standard, Affymetrix engineered a Client/Server version of a data management system called Affymetrix Laboratory Information Management System (LIMS). The system allows users to generate data and perform data mining exercises for a variety of medical and biotech research endeavors. In order to better promote the database standard, Affymetrix needed to create a desktop version of the Client/Server software. The company’s goal is to increase chip usage and a desktop solution is another way of providing analysis tools to a larger market. The product Calsoft built for them was called “MicroDB”.
Schematic
The LIMS suite of products from Affymetrix acquires, manages and queries data derived from the GeneChip®. The following schematic illustrates the role that MicroDB plays in the process of retrieving information from the GeneChip.

Solution Benefits
Calsoft used the source code provided by Affymetrix to design and develop MicroDB.
“Affymetrix had some of the pieces for the new product,” said Malini Balakrishnan, Calsoft’ project manager. “They wanted us to design and develop the missing pieces and then integrate everything. The goal of the project was to “productize” the offering in order to provide a way for smaller labs to use the chip files and to be able to publish the data on their desktops.”
The project began in March with a June deadline. It finished 10-days early on budget. Calsoft deployed one project manager, two developers, two testers and a QA manager to meet the tight deadline.
“As a starter project, everything went well,” said Luis Jevons, Associate Director of Software Development for Affymetrix. “It was very fast. They worked quickly to resolve any issues that arose.”
Calsoft developed the GUI shell for the components developed by Affymetrix, and used the components to “publish” the data from the chip files into the GATC database. It also wrote a multi-step conditional installation program that depending on what was already available on the client’s desktop, would either first install the desktop version of Microsoft SQL Server 7.0 called MSDE, then create and populate the supporting databases for the MicroDB program and finally install the actual MicroDB program itself, or install any of these components that were not already present. Calsoft’ experience in developing shrink-wrapped software products for other clients stood it in good stead during the intensive in-house QA testing phase for the product.
Technology Architecture
The target desktop environment for MicroDB was determined by the pre-requisite for installation of Microsoft Data Engine (MSDE) 1.0, the chosen database for this product. MSDE required that target systems have the operating system Windows NT 4.0, either Workstation or Server, with at least Service Pack 4.
The development environment matched the target deployment environment. Like its client-server cousin, this product was built using Microsoft Visual C++ 6.0 (VC), Service Pack 3. We used several features of VC including Microsoft’s Active Template Library (ATL) for the file reading components, as well as Microsoft Foundation classes (MFC) for most UI elements.
Some features of MFC UI elements, notably “multiple selections with drag and drop” feature of the MFC cTreeView class, were buggy. To help us with this item, we used RogueWave’s Objective Toolkit 7.0, which gave us classes that handled the feature in a cleaner fashion.
We also used Installshield Professional 5.0 to package our application so that we had a shrink-wrapped product.
