Profile database structure
The profile databases contain tables for user information, allelic profiles, and one for each locus. These tables are linked so that every allele sequence and profile must be associated with a sender in the users table. Likewise, every allele number in an allelic profile must have a corresponding allele sequence in the appropriate locus table. The database enforces that each allele sequence and allelic combination are unique.
Users table
The users table contains contact information for anybody who sends data to the database or curates it. Every allele sequence and allelic profile has an entry for both the sender and the curator of the data that correspond to an entry in the users table. The information from this table is not displayed on the website, but can be used by the curator to trace who provided a sequence or profile. The fields in this table are:
- id - the unique identifier for the entry - this is an integer that can be used in the profile and locus tables to link to the user.
- username - this is a short version of a user's name that is displayed to the curator in a drop-down list that can be selected when entering data. This removes the need for the curator to look up the id number of a user.
- surname - the user's surname.
- first_name - the users' first name.
- email - the user's E-mail address.
- affiliation - the organisation for which the user works.
- status - this can be either 'user' or 'curator'. Only a user with a status of 'curator' is allowed by the software to edit data.
- datestamp - the date that the user information was added (or last edited).
- curator - the name of the curator who added the user.
Locus tables
There is a separate table for each locus. The fields in these tables are:
- id - the unique identifier for the entry - this is the allele number that can be used in the profile table to link to the sequence.
- sender - an integer that represents the sender of the data. This corresponds to an id number in the user's table.
- datestamp - the date that the sequence was added (or last edited).
- curator - an integer that represents the curator of the data. This corresponds to an id number in the user's table.
- sequence - the nucleotide sequence. For most schemes, this is a fixed-length field.
Profiles table
The fields in this table are:
- st - the sequence type number - the unique identifier for the profile.
- locus fields - there is one field for each locus. The number entered here corresponds to a sequence in the appropriate locus table.
- datestamp - the date that the profile was added (or last edited).
- curator - an integer that represents the curator of the data. This corresponds to an id number in the user's table.
- sender - an integer that represents the sender of the data. This corresponds to an id number in the user's table.
- clonal complex - this field contains the name of the clonal complex that the ST belongs to. This field is not present in every profiles database. For those databases that contain this field, there is a choice of whether the value is entered by the curator or by some automated method. For the Neisseria and Campylobacter databases, for example, a script runs every evening to assign STs to particular clonal complexes based on particular rules.