Resources
Embedded Systems Design

Calsoft Labs provides services in areas that include embedded hardware design, embedded software design, device driver development to validation and verification. more

New Product Development for a Medical and Biotech Research Firm

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 Labs 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.

GeneChip analysis suite

Solution Benefits

Calsoft Labs 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 Labs’ 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 Labs 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 Labs 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 Labs’ 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.