|
OraCIF
GENERATOR is a set
of programs that generates other programs that are then used by other
components of the OraCIF package.
The Generator
takes the list of mmCIF categories present in the mapping metadatabase
and for each category creates two database stored procedures for extracting data and presenting it as mmCIF and Xml
respectively. These procedures are then used by other
components of OraCIF although it is possible for users to
access them directly should they wish.
INPUTS
The
Generator takes input information about the
mmCIF dictionary, the macromolecular structural database(s)
and the mapping between them. This input information is
supplied as database tables and the location of each these
tables is specified in a parameter table.
The mmCIF
dictionary and supplements.
The Generator
requires a database version of the mmCIF dictionary.
Currently all the mmCIF files exported are compliant with the
PDB mmCIF Extension Dictionary that was developed for this
purpose as part of TEMBLOR
work package WP9.7. The extended ebi_style
DDL was
used that includes basic information about the presentation of
the mmCIF categories. However, through this dictionary
table (and the associated mapping metadatabase) it is possible to
configure OraCIF to export mmCIF files compliant with other mmCIF
dictionaries.
The mapping metadatabase.
The Generator
also requires a mapping database that contains the
information on how the organization of the source
database(s) maps onto the organization of
the mmCIF files as described by the mmCIF dictionary.
The mapping metadatabase may contain many mappings, termed
'roles', that allow OraCIF to be configured to export
data to different
mmCIF specifications.
The Source Database(s).
The Generator
also requires access to the tables in the source database(s) from which data
will eventually be extracted. This allows the Generator to
check that the tables and columns that will be
accessed by the generated procedures actually
exist and to ensure that the generated procedures will
be valid. It is not necessary for the extracted data to be
held in a single database schema and indeed this is frequently
not the case.
Xml
formatting details.
If Xml output is
required then details of the structure of Xml should
also be provided.
|
PROCESS
The
Generator runs through a series of steps
Validating
the mapping.
The
Generator first checks that the chosen mapping is consistent both with the mmCIF
dictionary and with the structure of the target
database(s).
|
|
|
|
|
Generation of Stored
Procedures.
The
stored procedures themselves are then generated. It is
possible to set the Generator to either create a complete new set of stored
procedures (one each for export mmCIF and XML for ach
mmCIF category present in the mapping metadatabase) or
else specifically to regenerate a single stored
procedure - useful when a only a single aspect of the
mapping has been changed.
Status tracking.
OraCIF keeps
track of the validation and generation procedures,
catching any errors thrown by these processes. OraCIF
also tracks whether the mappings or the
structure of the target database(s) have been change
since the last generation of the stored procedures which
facilities synchronising the stored procedures with the
various inputs (source database structure, mmCIF dictionary,
metadatabase).
|
OUTPUTS
The Generator
produce a permanent set of database stored procedures in
Pl/Sql and Pl/SqlX and the list of problems if any of
them is not generated.
|