“Cherry Picking Guide” for Small Molecule Screening BME 301 University of Wisconsin – Madison May 5, 2004 Team: Blake Hondl Amit Mehta Jon Millin Ryan Pope Client: Noël R. Peters, M.S. Keck-UWCCC Small Molecule Screening Facility University of Wisconsin Hospital Advisor: Willis Tompkins Department of Biomedical Engineering University of Wisconsin – Madison Abstract The high throughput screening of chemicals in biological assays is a testing method used frequently in areas of cancer and RNA research, specifically the emerging field of interference RNA research. Often, investigators are searching for chemicals that interact specifically with a biological substance. To aid researchers in their studies, high throughput screening facilities can test a substance against a library of over 36,000 reagents. If certain reagents fulfill the desired characteristics of the investigator, secondary testing of those reagents is performed. This secondary testing requires the lab user to pipette an individual chemical from one well in a 384well microtiter plate to another well of a different 384-well microtiter plate. This is a time consuming, error-prone process because the small well sizes makes the identification of a single well difficult. This project aims to create a device that can increase the efficiency and decrease the error that exists with the manual procedures involved in retesting. The retesting procedure is the only step in the high throughput process that is prone to significant human error. The device will consist of a LCD screen interfaced with a computer and controlled by a software application. By taking input from either the user or a file listing the locations of wells of interest, the device will be able to illuminate the desired wells and effectively guide the user to them. Problem statement The goal of this project is to create a device to guide a micropipette user in the transfer of small volumes of compounds between 384-well microtiter plates. The device will increase the efficiency and ease of the transfers, and reduce user error. The input to the device should be from a Microsoft Excel file containing a list of wells to be retested, or from direct user input of the well’s location. Utilizing a dual plate design, the pipetting aid should effectively guide the user to both the current well, from which a reagent is being withdrawn, and the target well through the use of visual signals. Background Information The Small Molecule Screening Facility, located within the University of Wisconsin Comprehensive Cancer Center (UW-CCC), provides university investigators/researchers with cost-effective access to high throughput screening of structurally diverse, drug-like chemicals in biological assays. This is accomplished through the use of laboratory robotics. A Biomek® FX 1 (Beckman-Coulter, Inc.) liquid handler is used to distribute assay reagents and to transfer compounds onto screening plates (Figure 1). The Biomek® FX is capable of transferring 0.5-250 µL of liquid into either 96-well or 384-well plates. The facility also uses an EnVision® plate reader (Perkin Elmer, Inc.) to detect absorbance, fluorescence, or luminescence in 96-well or 384-well plates (Figure 2). The primary focus of this project is the use of the 384-well plate. Figure 1: Biomek® FX [10] Figure 2: EnVision® plate reader [10] After reading the well plate, typically one to four wells are identified as meeting the absorbance, fluorescence or luminescence requirements of the university investigator. These wells are generally referred to as “hits” by researchers and lab workers. The results of these wells must then be retested to verify the results. To perform the retesting, a lab user must combine the same reagents and biological materials used to create “hits” during the initial screening onto a new 384-well plate. This process is accomplished via the micropipette. The reagents are transferred from a standard 384-well reagent plate, containing known chemicals, to an empty 384-well plate. This new plate is then passed through the plate reader to verify the results of the initial screening, confirming or refuting that the reagent actually does meet the 2 investigator’s requirements. This process is the only step in the retesting which is prone to significant human error. The 384-well plate is 90mm x 130mm and contains 384 wells in 24-well columns and 16well rows. The area containing the wells is 70mm x 107mm, making each well approximately 3.5mm x 3.5mm (Figure 3). Locating a specific well within the array and correctly withdrawing from it is a difficult task for the user, resulting in a high rate of error. Figure 3: Typical 384-well Plate Patent Search Research in the form of patent searches was conducted to identify any existing products similar or identical to the one the team was attempting to design. This was accomplished through the United States Patent Office (USPTO, 2004). The most similar device provides a method of identifying and arranging test tubes (Appendix B). This device includes a rack containing an array of wells located at the intersection of mutually perpendicular columns and rows. The columns and rows are aligned on perpendicular edges of the rack. The test tubes are positioned in the wells and then marked with indices corresponding to the location of the 3 respective wells. Although this device identifies locations of test tubes and not microtiter plates, the team will consider the concept of alphanumeric identification as an option for locating wells. Design Constraints The most important design constraint established by the client was that the device must work with her current computer and any similar computer that may be purchased in the future. She also specified that the device must require little or no maintenance and be serviced easily by a person with only a limited amount of programming knowledge. This is crucial because individuals working in her lab do not have extensive experience with computer programming and hiring persons with such experience can become quite costly. Another important specification was that the device must interface with a Microsoft Excel file. The client proposed that a researcher who uses the lab’s services could submit such a file listing the locations of reagents that were found as “hits.” The client indicated that the device must take this file as input and effectively illuminate the appropriate well in the plate of reagents. The client also specified that the device must be relatively small since her lab has limited bench space, particularly near the computer with which the device must interface. The device should be no larger than a standard notebook, or about 8.5 x 11 inches. Furthermore, the device must be able to withstand exposure to any of the more than 36,000 chemicals in its operating environment. These chemicals must not damage or interfere with the operation of the device. Particularly important to consider is one of the solvents used in the screening process, dimethyl sulfoxide (DMSO), which has the ability to dissolve many polymers. One notable exception to this is polypropylene, which is resistant to many laboratory 4 chemicals. This is the material from which the well plates are manufactured. Additionally, since some of the compounds used are opaque or near opaque, the device should be able to guide the user even if the exact well for withdrawal will not allow the transmission of light. Finally, the client specified that the device be lightweight, so that it can be easily moved, and less expensive than currently available commercial devices which cost approximately $1000. See Appendix A for a complete and detailed listing of Product Design Specifications. Current Competition Commercial devices that accomplish functions similar to the one of this project include the Matrix Memowell® 96-well pipetting aid and the Tomtec® Quadra Cherry Picker (Figures 4 and 5). The Memowell® pipetting aid is the device the client would like the design team to replace. This device is designed to operate with 96-well plates and does not fully function with 384-well plates. The Memowell®, instead of illuminating a single desired well at a time, illuminates four wells on the 384-well plate. This does not significantly increase the efficiency of the user since the user must still determine which well of the four is the correct well and ultimately does not satisfy the client’s specifications. Figure 4: Matrix Memowell® 96 well pipetting aid [7] Figure 5: Tomtec® Quadra Cherry Picker [9] 5 The Quadra Cherry Picker is an automated device that can be programmed to pipette to and from the desired wells in specified well plates. A user can supply a work list, in disk format, the source plate barcode identification (the barcodes are on the sides of the well plates), the desired well location, and the volume to be transferred. The Cherry Picker then performs the appropriate pipetting. It works with both 96-well plates and 384-well plates, making it quite suitable to the client’s lab. The Cherry Picker, however, costs approximately $150,000 and exceeds the client’s budget. Design Options After extensive research and consideration, the team generated three design alternatives that could be implemented to accomplish the goal of this project. These options were based on the use of fiber optics, light-emitting diodes, or a LCD screen. Each of these solutions could be used to easily identify specific wells on a 384-well plate. Although the designs differ in concept, a commonality exists in that they all must include a computer interface. Since each design must include such an interface, a discussion of computer-related issues precedes the description and analysis of the team’s design alternatives. Computer Interface As mentioned previously, the device must interface with the client’s computer (Figure 6). Currently, the client uses a Dell personal computer (PC) with the Microsoft Windows XP operating system (Figure 7). In order for the device to interact with the PC, it must be connected via an external port. Available ports include a video port on a video card, a monitor port such as 6 VGA, or serial and USB ports. Data will then be sent to the device through one of these external ports. Application User Computer Device Figure 6: Both the user and the device must interface with the client’s computer. Figure 7: Dell PC, similar to the one used by the client [1]. In addition to the device being connected to a computer, a program initiated by the user must also be able to control it. To create such a program, the design team must choose an appropriate language for programming. Common languages used include C++, Basic, and Java. All of these languages are high-level programming languages, making them mostly independent of a particular type of computer. Such languages are also easier to read, write, and maintain. The team must also choose a programming environment in which it will create the application. Microsoft Visual, Metrowerks™ CodeWarrior™, and Microsoft Basic are all environments that allow a programmer to create an application. A compiler may also be necessary to create or run the application, but these are often included in the programming environment. As previously discussed, the program will take input from a Microsoft Excel file. It should also take input from the user via a graphical display/keyboard interface, making it more flexible than an application based solely on file input. 7 Design Option 1: 384 Fiber Optic Array The fiber optic design would utilize 384 individual optical fibers that would be fixed to form the 384-array. A single fiber optic fiber has three layers to it: the core, the cladding, and the buffer (Figure 8). The core is a thin glass or plastic center in which the light travels. The cladding is the outer optical material that reflects the light. Finally, the buffer coating is the outermost layer that protects the fiber from moisture and damage. Figure 8: Cross-section of a single optical fiber [2]. The fiber is able to transmit light long distances because the cladding reflects the light and allows it to travel down the fiber at the speed of light. There are three different types of optical fibers: single-mode glass, multi-mode glass, and plastic. The single mode fibers have small cores (approximately 9 µm in diameter) and transmit infrared laser light with wavelengths 8 between 1,300 and 1,550 nm. Multi-mode fibers have larger cores (approximately 62.5 µm in diameter) and are used to transmit infrared light, with wavelengths between 850 to 1300 nm, from light emitting diodes. These two options would not be applicable to this project since they require infrared light, which is not contained in the normal viewing (visual) spectrum [2]. The third fiber optic option is to use plastic fiber optics. These fibers are not used as widely as the other two. Plastic optical fibers have a diameter of about 1 mm and are able to transmit visible red light with a wavelength of 650 nm from LEDs [2]. This design, aside from requiring 384 fiber optics, would require a LED, mirror, and computer controlling software. The mirror would need the ability to tilt so that it could reflect the light from the LED down the appropriate fiber optic. Since some of the compounds used in chemical screening are dark in color, the client would like to posses the ability to illuminate a row and column simultaneously. Furthermore, 650 nm light, which is red in color, may not be the most appropriate wavelength. The benefits of an optical design are that it would be very small in size, require very little power, even over long durations, and would result in precise illumination of a well. However, constructing such a device would be very time consuming. Every fiber optic would need to be correctly positioned so that it can be accurately controlled. Also, the cost of such a device would be considerably higher than that of other designs. The increased cost is due to the mirror that would need to be created, as well as the software necessary to control the mirror. Design Option 2: 384 LED Array Another design option similar to the fiber optic array is an array of light-emitting diodes. The 384 LED array would be controlled using a microcontroller. This would allow the user to light a row and a column simultaneously and determine the well he/she is attempting to extract a 9 chemical from. This design would incorporate 384 surface mount LEDs which would be soldered onto a printed circuit board (Figure 9). Figure 9: Three surface-mount LEDs [6]. The LEDs would be controlled so that both rows and columns would be illuminated using a microcontroller. A microcontroller is a programmable device that allows control over electronic circuits. The microcontroller would light up an individual LED at any particular time. By illuminating the appropriate LEDs for a short duration, but at a high frequency, the desired row and column would appear to remain lit. The design would require that each individual LED be soldered onto a printed circuit board (Figure 10). An example of a possible output, Figure 11 shows the pattern of illumination when column B and row 2 are lit up. 10 Figure 10: Prototype schematic of a LED circuit that would enable both rows and columns to be illuminated. This circuit is 1/24 scale of the one needed for a 384-array. Figure 11: 16 LED array with column B and row 2 illuminated. 11 An advantage of a LED design is that it is similar to the design already used in the Memowell pipetting aid, and thus it is known to work. In addition, LEDs can be purchased in different colors, sizes, and intensities. Employing LEDs with the proper combination of these properties would effectively illuminate desired wells. However, the LEDs would be in a fixed array and thus only compatible with 384-well plates. Design Option 3: Proposed Solution - LCD Screen The last design alternative utilizes a liquid crystal display (LCD) screen interfaced with a computer. LCDs are common in many devices such as laptop computers, digital clocks, and watches. They use liquid crystal filled grids and are activated by electric fields to create smooth, finely detailed images. The liquid crystal operates as a shutter that either blocks the backlight, or lets it pass, to light up a particular color filter. The screen has hundreds of thousands of pixels that are either charged or uncharged, allowing them transmit or block light, thus forming images [4]. This design incorporates the placement of two adjacent microtiter plates on top of a LCD screen. One of the microtiter plates will be the reagent plate that contains the chemicals that compose the “hits.” This is the plate the user wishes to withdraw a chemical from. The other microtiter plate will be an empty plate for retesting those compounds. The illumination of the LCD screen from underneath the microtiter plates will properly identify the desired wells. This can be achieved by software programming to illuminate the pixels under the wells of interest. To more effectively guide the user to the appropriate well, both a row and a column of pixels will be lit up, forming crosshairs. The intersection of the two lines of light will indicate the desired (Figure 12). This is particularly useful in identifying wells containing compounds that are 12 opaque. Thus, the user will still be able to identify the correct well even if the well itself is not illuminated. Figure 12: Picture of a 384 well plate on the LCD screen of a laptop. This design has several advantages. The device simply consists of the LCD screen and its internal hardware. The other design alternatives require soldering individual components onto a circuit board, which is a labor-intensive, time-consuming, and error-prone process. The use of the LCD screen is more practical in the sense that the individual pixels on the screen will be used to illuminate the wells; no additional circuitry will be necessary. More importantly, the use of the LCD screen makes the device adaptable to well plates of varying well counts (96 or 384) and from different manufacturers. The fiber optic and LED designs possess fixed components for a specific size well plate. Also, 384-well plates sold by different manufacturers are often of varying sizes. If the user would like to use a well plate from a different manufacturer, he/she would be unable to do so using the fiber optic and LED designs, since the well plate will not properly align with the fixed fiber optics or LEDs. In the LCD design, 13 however, additional programming can be implemented, allowing the user to effectively switch between almost any size plates (limited to the size of the screen). The only constraint is the LCD screen’s resolution. Resolution must be high enough so that individual pixels can be controlled to light up a particular size well. The major disadvantage to the LCD design is the cost. Currently, there are available LCD kits that contain the LCD screen and all the necessary hardware to attach it to the computer. These kits cost approximately $675. Fiber optic and LED components typically sell for less than a dollar each. However, after purchasing all 768 components (384-wells per plate times 2 plates) necessary in these designs, the cost would be comparable to that of the LCD screen. Given these three design options, the team decided to implement a design consisting of a LCD screen with computer interface because of how well it meets the design specifications and effectively solves the problem. This design satisfies the client’s primary specification that the device illuminates a single well and allows the user maximum control over the device. Prototype Construction After considerable contemplation of design ideas, the team’s initial prototype design consisted of a LCD-in-a-box idea. It consists of a case with an opening for an LCD screen. The contents of the case constitute all necessary components to run the LCD screen, including a controller board, inverter, and power supply. The first step in the construction process was to acquire all of the necessary components. The team purchased a refurbished Dell 10.4” LCD replacement screen which included an inverter and ribbon cable (Figure 13). Upon further research, the team found that the LCD screen was unsuitable for the prototype. The LCD screen operates at a frequency of 60 Hz, which is too fast for either a serial or USB port. 14 Figure 13: Refurbished LCD screen with inverter and ribbon cable Due to complications associated with the separate LCD screen and its hardware, the team decided to implement a laptop as part of the casing. The team used a Samsung SENS 800 laptop for the prototype. Additional materials such as aluminum sheet metal, polypropylene cover, and a non-glare 1/8” acrylic sheet were also used in the construction. The major feature of the design is the placement of a LCD screen on top of the base. Therefore, the screen of the laptop had to be detached from the laptop base, exposing a 30-connector high density ribbon cable that connects the two. The current cable is too short to reach the LCD screen when placed completely horizontal. To solve this issue, an extension ribbon cable would be attached to the existing cable to maintain the functionality of the laptop. Next, the aluminum sheet metal was divided into separate pieces and was assembled to create an external case. This aluminum case enclosed the laptop base and allowed the screen to 15 be placed horizontally on top. A hinge was used to allow the user easy access to laptop components such as the power button, mouse, and the keyboard (Figure 14). Additionally, a small hole was removed from the back of the casing to allow external access to the power cable connection. Lastly, rubber pads were placed on the bottom of the case to prohibit lateral movement. Figure 14: Base of laptop within the aluminum casing The screen of the laptop needs to be protected from various laboratory chemicals. Therefore, the team placed a thin, 1/8” acrylic sheet and a polypropylene cover to protect the screen. The acrylic sheet distributes pressure placed on the screen so that the LCD pixels are not damaged. The polypropylene cover provides a barrier to the chemicals in the lab, most importantly DMSO. Since chemical leaks could easily damage the internal components of the screen, the acrylic sheet was fabricated to create a tight fit above the screen. Lastly, the screen cover was detached to expose the internal components of the screen and the polypropylene cover 16 was placed between these two layers (Figure 15). The screen cover was refastened and the screen became ready for testing. Figure 15: Laptop screen on top of the casing To assure that the screen is resistant to chemicals, the client provided the team with DMSO buffer solution. The testing consisted of placing a small amount (~1 µL) onto the screen. As a result, the solution maintained its droplet size due to the high surface tension with the polypropylene cover. In addition, the solution did not penetrate the screen, verifying the insolubility of the polypropylene warp, and thus its protection. Programming The team began programming by first selecting the most appropriate platform. It decided that the program should be coded in Java since that was the language with which the team was most familiar. The team also chose to program in the Metrowerks CodeWarrior Learning Edition Integrated Development Environment (IDE) which was included in the textbook used for 17 an introductory programming class at the University of Wisconsin [12]. This software works with most versions of Microsoft Windows, though the team developed its program in Windows XP. After establishing a programming platform, the team designed the classes necessary for its program. Four essential classes were initially determined. These were the CherryPicker, UserInput, ExcelInput, and DrawLines classes. Class CherryPicker would serve as the MAIN class, controlling the program sequence, other classes, and various internal methods. Class UserInput would retrieve input from the user running the program. Possible input would include the type input (either user entered or from file), the number of plates the user would like to work with, and whether the user would like to terminate the program. The ExcelInput class would retrieve data from a Microsoft Excel file listing the plate number, row, and column of a particular well. This data would then be used to illuminate the desired well(s) using the DrawLines class, which consists of a display window with the appropriate illumination output. A control diagram of the program is shown below (Figure 15). Figure 15: Basic class hierarchy for program CherryPicker The team began its coding by first initializing the user interface. By first receiving user input, the program could then be altered to display output according the input. Methods were 18 added to the UserInput class to ask the user whether he/she would like to take user input, Excel file input, or quit the program (Figure 16(a)). Another method asks the user whether one or two plates are to be used (Figure 16(b)). Other methods ask the user for the coordinates of wells in plates one and two (Figure 16(c)). The team added code to check for invalid inputs (rows and columns) and display an error message to the user when such an input occurs (Figure 16(d)). The user is then allowed to enter a valid input. (a) (b) (c) 19 (d) (e) (f) Figure 16: Screenshots from running CherryPicker program After the user input was generated, the team focused on generating useful output. The team adapted code from classes in the javabook package that were distributed with the java textbook [12]. The DrawingBoard class was used to display the rectangular boundaries for the well plates and the lines indicating the row and column of a well (Figure 16(e) & 16(f)). These lines guide the user to the appropriate well. After testing various color combinations for the lines and the background, the team determined that a black background with white lines was most effective. Not only does this arrangement offer a greater contrast that a human eye is able to detect, it has the added benefit that white light will be visible through a greater number of colors. Darker colors, however, would not pass through darkly colored chemicals as easily. 21 While the team had intentions of creating code to allow the illumination of wells based on Excel file input, it did not have time to do so during the semester. This will be done in the future. A flow diagram of the program can be found in Appendix C. Ethical Considerations One issue that the team needs to be concerned with is intellectual property rights. Since the team uses source code written by other programmers in the development of our application, such use must be documented and referenced in our design. Appropriate use of another person’s code must be determined and fully adhered to. An industrial issue that relates to our project is the possible manufacturing and marketing of a commercial product. As the project progresses and a working device is constructed, this issue will become even more important. The team may find it necessary to modify its programming code, or even implement a different programming language, to make the software, and thus the device, compatible with a larger number of platforms. Future Work One the most important issues that needs to be addressed is the selection of an LCD screen. Currently, the prototype uses an older laptop that has a small screen with poor resolution. The prototype must also be connected to a computer via USB or used as a standalone device. The prototype’s design must be modified to use a larger screen and a better interface with the client’s desktop PC. The team has decided to use a 15” flat screen LCD monitor that can be purchased for approximately $300. To integrate this with the client’s PC, the existing video card would need to be upgraded to one with a dual head capability. This would 22 allow the user (given the correct Windows settings) to drag the computer windows used in the Java program over to the LCD screen. This will allow the Java application to run on the PC while visual output is displayed on the LCD screen. Modifications would need to be made in order to incorporate a commercial LCD screen. The LCD casing would need to be made resistant to lab chemicals by covering it with polypropylene. Furthermore, the client would like the team to incorporate a tilt in further designs. By allowing the user to adjust the angle of the screen, it will make it easier for them to see into the wells. This would ultimately improve the ergonomics of the design as well as improve overall functionality. Due to the tilt of the screen, holding devices for the well plate need to be considered. The holding mechanism must be able to hold 96, 384, 836 and 1056 well plates and be able to lock into place. This will ensure that the well plates are in the same location every time and that the lines displayed will correctly correlate with the rows and columns on the plates. Improvements also need to be made to the current Java application. First, the code must be adapted to allow for different sized well plates. This will be done by asking the user the size of the well plate potentially even the name of the plate manufacturer. This is beneficial because the program would then be able to recognize every well plate currently on the market. This will make our design more adaptable, increase its potential market, and increase its overall marketability. Another necessary improvement is the incorporation of code that will read Excel files and to illuminate wells based upon the Excel file contents. This code will utilize the Java class FileReader to search for files, as many Java applications currently do. Also, a file filter is desirable since we would only like to open files with the .xls extension. We have already created 23 the necessary code to search for a file and have created a file filter that only allows the user to select Excel files. This code can be found in Appendix D. The only code that remains to be programmed is code that will call the java excel classes to interpret the file data. These classes can be downloaded from an internet website [3]. Currently, the team is experiencing problems importing these classes. This problem can be remedied by installing a program named Ant which will automatically create the package that needs to be imported. Finally, by getting the well locations from the excel file in a similar manner as was done with the user input, these row and column values can be passed to the DrawLines class to generate the appropriate output. 24 References [1] “Dell.” http://www.dell.com. Retrieved on February 29, 2004. [2] “How Fiber Optics Work.” How Stuff Works. http://electronics.howstuffworks.com/fiber-optic1.htm. Retrieved on March 6, 2004. [3] “Java Excel API Tutorial”. http://www.andykhan.com/jexcelapi/tutorial.html. Retrieved on February 13, 2004. [4] “LCD Basics: Monitor Technology 101.” ViewSonic. http://www.viewsonic.com/monitoruniversity/lcdbasics.htm. Retrieved on March 1, 2004. [5] “LCD Video Controller.” Subassembly Product Guide. http://www.trans2000.com/manual/adboard_manual.pdf. Retrieved on February 28, 2004. [6] “LEDs.” http://www.globalspec.com. Retrieved on March 2, 2004. [7] “Matrix Memowell.” Matrix Technologies. http://www.matrixtechcorp.com. Retrieved on January 23, 2004. [8] “Product Specification for LB104V03 Liquid Crystal Display.” Products Engineering Dept. LG. Philips LCD Co., Ltd. http://www.jacoflatpanels.com/lcdpdfs/LB104V03A1_CAS(Ver0.1).pdf. Retrieved on Janurary 30, 2004. [9] “Quadra Cherry Picker.” Tomtec. http://www.tomtec.com. Retrieved on January 29, 2004. [10] “Small Molecule Screening Facility.” UW-CCC. http://www.medsch.wisc.edu/smsf/Index.htm. Retrieved on January 23, 2004. [11] Wallich, Paul. “Display Your Digital Wonderland.” Popular Science. April, 2004. [12] Wu, C. Thomas. (2001). “An Introduction to Object-Oriented Programming with Java.” 2nd ed. New York: McGraw-Hill. 25 Appendix A Product Design Specifications May 5, 2004 Team Members: Blake Hondl, Amit Mehta, Jon Millin, Ryan Pope Function: A device to guide a micropipette user in the transfer of small volumes of compounds between 384-well microtiter plates. The device will increase the efficiency of transfers and reduce user error. Client Requirements: Device needs to be lightweight and inexpensive Device must not pose a safety hazard to the user Device needs to be durable to normal use Device must be compatible with a computer interface Design Requirements: The input to the device should be from a Microsoft Excel file containing a list of “hits,” which are the locations and coordinates of the wells to be retested, or from direct user input of the location of the well. Utilizing a dual well design, the pipetting aid should effectively guide the user to both the current well to withdraw from and the target well through the use of a visual signal such as the displaying of a crosshairs. Physical and Operational Characteristics a.) Performance requirements: The device is to be used once a week, on average, to illuminate approximately 50 different wells during each period of use. The device must be able to interface with a Dell computer using the Microsoft Windows operating system, and must be able to take input from a Microsoft Excel file or direct user input. The device should illuminate both the current well to withdraw from and the target well with an illumination system that will not be impeded by opaque compounds. An example illumination system would be a crosshairs. The device must not obstruct other procedures or operations undertaken on the lab bench. The device must be resistant to all of the 36,000 chemicals is could be exposed to. Additionally, the LCD screen must be resistant to potential impact trauma or puncturing of the liquid crystal matrix. b.) Safety: The device should be sanitary and can be easily cleaned by the user. It must not pose any safety threats to the user (i.e. sharp corners). Furthermore, all electrical components must be isolated from the user and the external environment. c.) Accuracy and Reliability: The device must be completely accurate since unreliability would result in confusion and increased operating costs for lab in which the device is implemented. The device must illuminate the appropriate well every time; to do otherwise would defeat its very purpose. 26 d.) Life in Service: The device must be able to last 10 years, with operation on average 50 times per week. No maintenance other than surface cleansing should be required of the user. e.) Shelf Life: The device must be able to operate at normal room temperatures (68˚F), with a variance of about 10°F. It must also be able to withstand storage and shipping temperatures between 20 and 120°F. It should have a shelf life of over 20 years when not in use. f.) Operating Environment: The device will be operating in a laboratory setting. The device will be located on a lab bench near a computer and will be exposed to various chemicals/reagents. The total number of chemicals the device could be exposed to is over 36,000; the most important of which being dimethyl sulfoxide (DMSO) because of its ability to dissolve many polymers. g.) Ergonomics: The device should withstand forces applied from the pipette as a sample is extracted and transferred. The user interface must be as simple as possible and require no more than 30 minutes of training. The interface must also allow the user to operate the device with one hand, since the other hand may be used in pipetting. A push-button directly on the device would be preferred to an actuator on a computer. h.) Size: The device should be as compact as possible. Since the device will operate on a congested lab bench, it should be no larger than a standard paper notebook (8.5”x 11”), as specified by the client. The device must have minimum dimensions of 5”x 5” to illuminate two 384-well plates. i.) Weight: There is no specific weight requirement, but a limit of 10 pounds would be appropriate to allow ease in repositioning the device. j.) Materials: Polypropylene and glass are both suitable materials because various plastics can be dissolved by the chemicals used in testing, specifically DMSO. k.) Aesthetics, Appearance and Finish: The device should have a smooth finish, including corners, for easy cleaning and user safety. All electrical components should be contained inside a case to provide a barrier between the device and the external environment. The device should blend naturally into the high throughput laboratory. Product Characteristics a.) Quantity: A single lab would only require one unit. For manufacturing purposes, a national supply of approximately 100 units would be needed. b.) Target Product Costs: Current devices that operate with 96-well plates cost approximately $1000. While these devices have application with 384-well plates, they illuminate four wells at a time and are thus imprecise. Therefore, the target cost for a device that works appropriately is $1000. 27 Miscellaneous a.) Standards and Specifications: No FDA approval is needed, but the device should meet all IEEE standards. b.) Customer: The client would prefer the device to take input from a Microsoft Excel file, but other inputs would be acceptable if it simplified the user interface. c.) Patient-related Concerns: The device will not be in direct contact with anyone but the user, so the device need not be sterilized. The device should, however, be easily cleaned between uses. Most often the user will be wearing gloves during operation of the device. d.) Competition: Currently an illuminator for 96-well plates is manufactured by Memowell®. It does not, however, work optimally with 384-well plates since it illuminates four wells at a time, not one. There is a stand-alone device manufactured by Tomtec® that also does the pipetting for the user, but the device costs $150,000, which exceeds the client’s budget. 28 Appendix B – Patent #6,663,836 Apparatus and Method for Alphanumerically Identifying and Arranging Test Tubes Alphanumeric markers on array of wells Method of identifying and arranging test tubes 29 Appendix C – Program Flow Diagram INITIATE PROGRAM Ask User for Type of Input User Input Excel File Input Ask User for Number of Well Plates One Well Plate Used Get Well Location from File Two Well Plates Used Ask User for Number of Well Plates Get Coordinates for One Well Plate Get Coordinates for Two Well Plates One Well Plate Used Two Well Plates Used Type of Input User Excel Display Location of One Well Display Location of Two Wells Type of Input User Type of Input Excel User Excel EXIT PROGRAM 30 Appendix D- Excel Input Code Class ExcelInput import import import import import import javabook.*; java.io.*; java.lang.*; java.lang.Object.*; javax.swing.JFileChooser; jxl.*; //imported from Andy Kahn’s website future work. public class ExcelInput{ private static InputBox in; private static MessageBox me; private static int b; public static void main(String args[]){ MainWindow mw = new MainWindow(); String filename = File.separator+"tmp"; JFileChooser chooser = new JFileChooser("My Documents"); chooser.setFileFilter(new XLSFilter()); int returnVal = chooser.showOpenDialog(mw); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); } in= new InputBox(mw); b = in.getInteger("Enter sheet number of Excel Workbook to Read from"); while (b>3 || b <1){ me = new MessageBox(mw); me.show("Please a Sheet Number between 1 and 3"); b = in.getInteger("Enter sheet number of Excel Workbook to Read from"); } //needed if getSheet(b) needs to start out as a 0. //int b1 = b - 1; System.out.println("You have selected Sheet: " + b); //Sheet sheet = wb.getSheet(b); //Cell a1 = sheet.getCell(0,0); ///Cell b1 = sheet.getCell(1,0); //Cell a2 = sheet.getCell(0,1); //Cell b2 = sheet.getCell(1,1); //need way of knowing how many //String stringa1 = a1.getContents(); //String stringb1 = b1.getContents(); //do more of these in loop } } 31 Class XLSFilter import java.io.File; public class XLSFilter extends javax.swing.filechooser.FileFilter { public boolean accept(File f) { //if it is a directory -- we want to show it so return true. if (f.isDirectory()) return true; //get the extension of the file String extension = getExtension(f); //check to see if the extension is equal to "html" or "htm" if ((extension.equals("xls"))) return true; //default -- fall through. False is return on all //occasions except: //a) the file is a directory //b) the file's extension is what we are looking for. return false; } /** Again, this is declared in the abstract class The description of this filter */ public String getDescription() { return "EXCEL files"; } /** Method to get the extension of the file, in lowercase */ private String getExtension(File f) { String s = f.getName(); int i = s.lastIndexOf('.'); if (i > 0 && i < s.length() - 1) return s.substring(i+1).toLowerCase(); return ""; } } 32