There is some language and terms that are associated with the use of the FAKtory software. Here, we will explain several of them.
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.
|