To facilitate DNA synthesis information management in a core laboratory, we developed custom computer software which receives and tracks the status of customer requests. The software provides real-time, multi-user access to request information through IBM PC-compatible workstations connected by a local area network and automates much of the record keeping associated with our service.
Functionally the software consists of a suite of five major programs: (1) a DNA sequence editor; (2) a multi-sequence request submitter program; (3) a utility program to import sequences from foreign file formats; (4) a group management program with which customers may monitor request status and with which PIs can re-prioritize pending requests or set default system parameters for future requests; and, (5) a program to allow the synthesizer operator to view and select requests for synthesis, to record synthesizer and reagent information, and to update the status of pending requests. By design this last program is available only to the synthesizer operator and executes on a workstation near the synthesizers. Executable modules were compiled from approximately 14,000 lines of source code written using Microsoft BASIC version 7.1 and Novell Btrieve database engine included with NetWare 3.10A.
Compared to paper-based request submission, this electronic system offers several advantages. Creating sequence files and requesting synthesis of particular sequences are distinct processes; consequently, sequences which already exist in machine-readable form do not have to be written or retyped. The originator automatically generates a file containing information specific to the request (sequence, scale, comments, etc.). Because this information is machine-readable, it is copied, sorted, abstracted, and propagated rapidly throughout the system, as needed, without physical access to paper copies. The submitter program prompts the requester for all essential information, insuring that electronic requests are complete (a condition not guaranteed with paper requests), automatically assigns a request number, time/date stamps the record, and prints legible copies in a consistent format and font.
Information may be accessed concurrently by individuals with divergent perspectives: request originators, PIs setting group priorities, the synthesizer operator, and administrative staff extracting information for billing. Electronic access is accomplished without interruption or distraction of the synthesizer operator. Workstations are generic: customers may use any workstation to access the system, and these may be used for applications other than the request system software.
The software gives each PI autonomous control over his or her group's requests. The PI may adjust default parameters for request priority and automatic approval limits (length, scale, non-standard bases) dynamically as research needs change. Default parameters may be set independently for each user on each project, if desired. Users' requests which exceed the default limits set by the PI are initially unapproved and await intervention by him or his designee. Only after automatic or manual approval are requests available to the operator for synthesis. A PI may re-prioritize his group's requests any time prior to their selection for synthesis by the operator. A PI's participation in the approval/prioritization process may vary as he or she wishes, from complete insulation to very active involvement.
Another design goal was to provide an explicit algorithm to arbitrate inter-group contention for synthesizer access. For each lab unit we store a number defined as a group tally, roughly analogous to a checking account balance. With each synthesis selection, we subtract a number proportional to the oligo length from the requesting group's tally, weighting it for large scale syntheses or non-HHMI groups. When any group's tally becomes less than zero, allowances are added to every group's tally. The magnitude of the allowance may be unique for each PI, thereby determining relative group access. The maximum value for tallies is limited, so that individual groups cannot monopolize the synthesizers for extended periods of time. Relative allowance magnitudes and tally caps must be selected as a matter of site policy. The group with the largest current tally has highest priority for synthesis.
This system provides complete information about each approved request to the synthesizer operator, who views and selects from a screen display without having to manipulate printed copies. In the most concise format, it displays limited information (synthesis scale, length, and presence of non-standard bases) in a grid containing up to ten requests for each of sixteen groups. Groups are ordered from upper left to lower right in descending tally value, with requests for each group ranked top to bottom in descending priority. The operator may scroll within a group if more than ten requests are pending or among groups if more than sixteen are active. Depressing function keys replaces the grid with more complete information for individual groups and requests.
The software aids request selection once a specific synthesizer is chosen for setup. Assistance may range from totally automated selection based solely on the priority algorithm described above to none for completely manual override, useful for selecting requests containing the same non-standard base. Limited assistance is also available for cases where the operator wants to specify requests for some but not all column positions. For example, sometimes it may be more efficient to suspend strict implementation of the priority scheme, selecting two lower priority long oligos for overnight synthesis, letting the program fill a third column position. Alternatively this process allows a single request chosen by the operator to limit the synthesis run-time, useful to insure that there will be time for another setup that day.
Following oligo selection, the program requests column information, subsequently assigning synthesis numbers and printing synthesis data sheets. The operator uses these to enter the sequence and current synthesis options (S'-DMT status, scale, etc.) manually into the synthesizer. We have not yet implemented routines to download the sequence electronically to the synthesizer. Completion of this task, which would significantly expedite synthesizer setup, would be easier if manufacturers developed a standard protocol for importing sequence information into instruments. Reagent bottle changes for active instruments may be entered at any time. When a subsequent setup is started, ASCII text files, containing synthesis information from the completed operation, are created and updated. Status of the request is updated as it progresses through the system and is available electronically to the originator.
Information from the ASCII text files periodically is extracted and imported into a commercial database system (Microrim's RBASE) for facility billing and administrative reports. Reagent lot information could be transferred similarly to correlate it with quality control data; however, we have not yet created that program module.
In the 21 months we have used this system, all requests have been submitted to us over the LAN. IBM-compatible machines connect to the system by three types of wiring: broadband, thin-wire Ethernet, and lObaseT (Ethernet using unshielded twisted pair phone wire). We hope to connect Macs running PC emulators by lObaseT Ethernet once NetWare 3.11 is installed. HHMI customers may use one (or more) workstations in their own labs or public machines available in our facility and the HHMI business office. Three groups presently have elected not to have workstations within their labs. They and our non-HHMI customers currently use the public machines. We are in the process of connecting our network to Duke Medical Center's Common Services Network (CSN) to give existing workstations access to other campus computing resources and Internet. Once this is completed, anyone at Duke who has a valid account on our server and is connected to CSN could, in principle, submit requests to us from remote locations.
Inquiries from colleagues wanting more detailed information about the system are welcome. We thank Duke undergraduate programmers Adam Greene, Howard Mora, Sonia Altizer, and Michael Arichea for their essential contributions to this project and acknowledge helpful suggestions from synthesizer operators Beth Jones and Steve Castillo.
Return to the The ABRF Home Page