|Next| |Contents| |Previous|


3. The FAKtory Fragment Database:

Types, Vocabularies, and Default Input Values

The FAKtory can be configured to keep a wide variety of information about the results of each sequencing reaction, called here a fragment record. The name of each field in a fragment record is user-specifiable. Fields may be of type string, integer, double, time, or waveform. Time data is a date or time in one of several common possible formats. Waveform data is a special datatype specifically for 4-color sequencing reaction ladders as output by, say an ABI sequencer. Each field may be marked as being required or optional. Optional fields need not occur in external input files entered into the FAKtory database. The first field of every fragment record must be of type string, is required, and is assumed to be the designated label of the fragment. As such, the contents of this field are expected to be unique. In addition to a label-field, the last field of every FAKtory record must be of type string, is required, and is assumed to be the DNA sequence for the fragment.

To promote data consistency, one may optionally specify a vocabulary for every field. For strings the vocabulary is a regular expression, and for numbers (i.e. integers or doubles) and time it is an interval (possibly open-ended) of the given type. When a vocabulary is specified, data entered into that field must match the vocabulary or a warning is signaled when the record is input. For example a field Technician might have Joe|Susan|Arnie as a vocabulary, a field Date might have [`June 1, 97',`present'] as a vocabulary, and the sequence field, say Sequence, might have the vocabulary `[acgtnACGTN]+'.

For convenience, every field may have a designated default input value. On input, if the given field cannot be found in the input record, then this default value is assigned to the field. For example, it might be convenient to default a field for the technician to a particular individual or a field for the machine used to a particular machine. The value present denotes today's time and date if used as the default for a field of type time. In addition, the symbols # and @ generate unique positive integers and identifiers, respectively, when used in the default for the label field. For example, the default input value frag# will give un-labeled input records the labels frag1, frag2, frag3, etc.

The fields, types, vocabularies, and default input values for a FAKtory database are easily established in the Database Customization panel. Once data begins to flow into a particular project, the structure of the data records can no longer be changed. However, the vocabularies and default input values are not integral to this structure and can be changed at any time in the Input Preferences panel, which contains a mirror of the customization panel save that the field name and field type are not enabled. The default values are considered user-based preferences and are thus saved on an individual basis within the project (see Section 2). Thus each user may, for example, conveniently establish their name as the default value for the Technician field and the sequencing machine at their station as the default value for the Machine field. Because user-based preferences are saved on a user-by-user basis, the default values for each individual will be used when that individual is working with the project.



|Previous| |Contents| |Next|