DataStorage » History » Version 12

Anonymous, 10/10/2007 11:08 AM

1 1 Anonymous
= Data Storage =
2 1 Anonymous
3 3 Anonymous
This page describes the design of the database that is/will be used in order to store all necessary pieces information that are obtained from the "stand-alone" ProCKSI ''core'' application (see [wiki:DataStandardisation]).
4 1 Anonymous
5 3 Anonymous
== Database Design for the (static) Protein Multiverse ==
6 2 Anonymous
[[Image(ProteinMultiverseDataBase.png)]]
7 1 Anonymous
8 8 Anonymous
'''Explanation of the database design''':
9 8 Anonymous
 * There are multiple similarity comparison ''Methods'': e.g. USM, MaxCMO, !DaliLite, ...
10 1 Anonymous
 * There are multiple similarity ''Measures'': e.g. Z-score, TM-score, Number of Alignments, ...
11 9 Anonymous
 * Some different ''Methods'' produce ''Measures'' with the same name, but not necessarily the same meaning: e.g. !DaliLite/Z, TMalign/Z, ...[[br]]
12 1 Anonymous
 Thus, a ''!MethodMeasures'' relation is necessary.
13 1 Anonymous
14 1 Anonymous
 * Each ''Method'' can have multiple (different) ''Parameters'': e.g. USM/Compressor, USM/Equation, ...
15 1 Anonymous
 * Each ''Method'' can have multiple (different) ''!ParameterOptions'': USM/Compressor/bzip, USM/Compressor/gzip, ...
16 11 Anonymous
 * A "!ParameterSet" is used to calculate the ''Similarity'' of ''!StructurePairs''. It is a collection of specific ''!ParameterSetOptions''. [[br]]
17 1 Anonymous
18 1 Anonymous
 * The ''!StructurePairs'' relation holds all possible combinations of ''Structures'', and a link to a further ''Results'' file in XML format. This file may contain results for multiple ''!StructurePairs'', e.g. alignments, matrices, etc.
19 1 Anonymous
 * Each ''Structure'' is uniquely determined by its PDB code, model and chain. (Domains are not taken into accout yet.) The location of the PDB file is given and a link to a further ''Results'' file in XML format. This file may contain additional information for multiple ''Structures'', e.g. sequence, secondary structure, experimental resolution, ...
20 1 Anonymous
21 1 Anonymous
 * Each ''Structure'' is extended by further classifiction information from ''CATH'' and ''SCOP''.
22 1 Anonymous
23 12 Anonymous
24 12 Anonymous
=== Storing Further Information ===
25 12 Anonymous
Similarity values are stored directly in the relational database. All further information regarding one structure (e.g. sequence, resolution, ...) or regarding a pair of structures (e.g. alignment, rotation/translation matrices, ...) are stored in external files.[[br]]
26 12 Anonymous
For storing further information for ''single structures'', there are several approaches:
27 12 Anonymous
 * All information in one file: file too big
28 12 Anonymous
 * All information in separate files grouped by the protein structure
29 12 Anonymous
30 12 Anonymous
For storing further information for ''pairs of structures'', there are several approaches:
31 12 Anonymous
 * All information in separate files grouped by methods: files too big
32 12 Anonymous
 * All information in separate files grouped by pairs: too many files
33 12 Anonymous
 * All information in separate files grouped by the the first structure: files with unbalanced sizes
34 12 Anonymous
 * All information in separate files with fixed size:[[br]]
35 12 Anonymous
   "Bin-packing" algorithm decides where to put new information, and opens a new "bin" if necessary. "Bins" must be balanced from time to time in order to provide a fast retrieval of information.
36 12 Anonymous
37 12 Anonymous
=== Comments dxb: ===
38 12 Anonymous
 * If a ''Method'' does not use any parameters, it is not included in the ''!ParameterSet'', but accessible via the ''!MethodMeasure'' relation. [[br]]
39 12 Anonymous
  Alternatively, such methods could have a ''Parameter'' "none" with an ''!ParameterOption'' "none" so that the ''!ParameterSet'' would always include all possible ''Methods''. [[br]] 
40 12 Anonymous
 * It can be argued that there is another strong entity ''Options'' needed that holds only possible values and their description, e.g. "CoM" and "Centre of Mass". Similar to "!MethodMeasures", the ''!ParameterOption'' would only hold combinations of ''Parameters'' with ''Options''.
41 11 Anonymous
 * It can be further argued that there is no list that describes what further information can be found in the external files.
42 3 Anonymous
43 3 Anonymous
44 3 Anonymous
== Extended Database Design for the (static) Protein Multiverse ==
45 3 Anonymous
46 7 Anonymous
[[Image(ProteinMultiverseDataBaseExt4.png)]]
47 3 Anonymous
48 5 Anonymous
This proposal for an extended database design for the (static) Protein Multiverse aims to include not only ''Comparisons'' but also ''Transformations'' and ''Compositions'' (following the latest development of the I/O specificaitions for the ProCKSI "stand-alone" ''core'' application):
49 3 Anonymous
 * A ''Transformation'' is a process that derives ONE (main) ''Result'' from ONE single input file.[[br]]
50 3 Anonymous
   __Example__: The transformation of ''Structure'', ''Tree'', ''!SimilarityMatrix'', etc., using a certain ''Method'' with a certain ''!ParameterSet'', produces a contact map, a tree, ...
51 3 Anonymous
 * A ''Comparison'' is a process that derives ONE (main) ''Result'' from TWO input files. [[br]]
52 1 Anonymous
   __Example__ The comparison of ''Structures'', ''Trees'', etc., using a ''Method'' with a certain ''!ParameterSet'', produces a similarity value and an alignment
53 8 Anonymous
 * A ''Composition'' is a process that derive ONE (main) ''Result'' from SEVERAL input files that are grouped together into  ''DataSets''. [[br]]
54 1 Anonymous
  __Example__ The composition of ''!SimilarityMatrices'', ''Trees'', using a ''Method'' with a certain ''!ParameterSet'', produces a consensus similarity matrix, a consensus tree, ...
55 5 Anonymous
56 8 Anonymous
This design does not allow ''Datasets'' to comprise other files than ''Structures'' although some of the ''Results'' need to be grouped into a ''Dataset'', too.[[br]]
57 5 Anonymous
  __Example__ Contact maps that have been produces by a ''Transformation'' of ''Structures'' and that are available from within the ''Results'' need to form a ''Dataset'' in order to act as input for the ''Comparisons'' with the USM or MaxCMO ''Methods''.
58 5 Anonymous
59 5 Anonymous
== Extended Database Design for (dynamic) Management of Experiments (ProCKSI) ==
60 5 Anonymous
61 5 Anonymous
This has not been modelled yet, but the database for the (static) Protein Multiverse was designed with the ProCKSI integration in mind.
62 5 Anonymous
63 5 Anonymous
Some remarks:
64 5 Anonymous
 * ''Experiments'' (formerly ''Requests'') apply "Methods" to "!DataSets" with a certain "!ParameterSet''.
65 5 Anonymous
 * ''Packages'' (formerly ''Jobs'') deal with a subset of a "!DataSet" and a subset of the requested ''Methods'', partitioning the the 3D problem space, and are calculated using the ProCKSI's "stand-alone" core application "in one go". If they are sent to a queuing system, they become a ''Job'' there.
66 5 Anonymous
 * It has to be discussed if there is still the need of a ''Tasks'' relation in the database, which have always been rather ''!RequestMethods''.