“Cherry Picking Guide” for Small Molecule Screening

advertisement
“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
Download