[Bio] / Sprout / SproutDBD.xml Repository:
ViewVC logotype

Diff of /Sprout/SproutDBD.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.40, Wed Sep 27 12:58:18 2006 UTC revision 1.52, Sun Mar 23 16:32:34 2008 UTC
# Line 1  Line 1 
1  <?xml version="1.0" encoding="utf-8" ?>  <?xml version="1.0" encoding="utf-8" ?>
2  <Database>  <Database>
3      <Title>Sprout Genome and Subsystem Database</Title>      <Title>Sprout Genome and Subsystem Database</Title>
4        <Notes>The Sprout database contains the genetic data for all complete organisms in the [[SeedEnvironment]].
5        The data that is not in Sprout-- attributes, similarities, couplings-- is stored on external
6        servers available to the Sprout software. The Sprout database is reloaded approximately once
7        per month. There is significant redundancy in the Sprout database because it has been
8        optimized for searching. In particular, the Feature table contains an extra copy of the
9        feature's functional role and a list of possible search terms.</Notes>
10      <Entities>      <Entities>
11          <Entity name="Genome" keyType="name-string">          <Entity name="Genome" keyType="name-string">
12              <Notes>A [i]genome[/i] contains the sequence data for a particular individual organism.</Notes>              <Notes>A [[Genome]] contains the sequence data for a particular individual organism.</Notes>
13              <Fields>              <Fields>
14                  <Field name="genus" type="name-string">                  <Field name="genus" type="name-string">
15                      <Notes>Genus of the relevant organism.</Notes>                      <Notes>Genus of the relevant organism.</Notes>
                     <DataGen pass="1">RandParam('streptococcus', 'staphyloccocus', 'felis', 'homo', 'ficticio', 'strangera', 'escherischia', 'carborunda')</DataGen>  
16                  </Field>                  </Field>
17                  <Field name="species" type="name-string">                  <Field name="species" type="name-string">
18                      <Notes>Species of the relevant organism.</Notes>                      <Notes>Species of the relevant organism.</Notes>
                     <DataGen pass="1">StringGen('PKVKVKVKVKV')</DataGen>  
19                  </Field>                  </Field>
20                  <Field name="unique-characterization" type="medium-string">                  <Field name="unique-characterization" type="medium-string">
21                      <Notes>The unique characterization identifies the particular organism instance from which the                      <Notes>The unique characterization identifies the particular organism instance from which the
22                      genome is taken. It is possible to have in the database more than one genome for a                      genome is taken. It is possible to have in the database more than one genome for a
23                      particular species, and every individual organism has variations in its DNA.</Notes>                      particular species, and every individual organism has variations in its DNA.</Notes>
24                      <DataGen>StringGen('PKVKVK999')</DataGen>                  </Field>
25                    <Field name="version" type="name-string">
26                        <Notes>version string for this genome, generally consisting of the genome ID followed
27                        by a period and a string of digits.</Notes>
28                  </Field>                  </Field>
29                  <Field name="access-code" type="key-string">                  <Field name="access-code" type="key-string">
30                      <Notes>The access code determines which users can look at the data relating to this genome.                      <Notes>The access code field is deprecated. Its function has been replaced by
31                      Each user is associated with a set of access codes. In order to view a genome, one of                      the account management system developed for the [[RapidAnnotationServer]].</Notes>
                     the user's access codes must match this value.</Notes>  
                     <DataGen>RandParam('low','medium','high')</DataGen>  
32                  </Field>                  </Field>
33                  <Field name="complete" type="boolean">                  <Field name="complete" type="boolean">
34                      <Notes>TRUE if the genome is complete, else FALSE</Notes>                      <Notes>TRUE if the genome is complete, else FALSE</Notes>
35                  </Field>                  </Field>
36                    <Field name="dna-size" type="counter">
37                        <Notes>number of base pairs in the genome</Notes>
38                    </Field>
39                  <Field name="taxonomy" type="text">                  <Field name="taxonomy" type="text">
40                      <Notes>The taxonomy string contains the full taxonomy of the organism, while individual elements                      <Notes>The taxonomy string contains the full [[Wikipedia:taxonomy]] of the organism, while individual elements
41                      separated by semi-colons (and optional white space), starting with the domain and ending with                      separated by semi-colons (and optional white space), starting with the domain and ending with
42                      the disambiguated genus and species (which is the organism's scientific name plus an                      the disambiguated genus and species (which is the organism's scientific name plus an
43                      identifying string).</Notes>                      identifying string).</Notes>
                     <DataGen pass="2">join('; ', (RandParam('bacteria', 'archaea', 'eukaryote', 'virus', 'environmental'),  
                                                   ListGen('PKVKVKVK', 5), $this->{genus}, $this->{species}))</DataGen>  
44                  </Field>                  </Field>
45                  <Field name="primary-group" type="name-string">                  <Field name="primary-group" type="name-string">
46                      <Notes>The primary NMPDR group for this organism. There is always exactly one NMPDR group                      <Notes>The primary NMPDR group for this organism. There is always exactly one NMPDR group
47                      (either based on the organism name or the default value "Supporting"), whereas there can be                      per organism (either based on the organism name or the default value =Supporting=). In general,
48                      multiple named groups or even none.</Notes>                      more data is kept on organisms in NMPDR groups than on supporting organisms.</Notes>
49                    </Field>
50                    <Field name="contigs" type="int">
51                        <Notes>Number of contigs for this organism.</Notes>
52                  </Field>                  </Field>
53                  <Field name="group-name" type="name-string" relation="GenomeGroups">                  <Field name="pegs" type="int">
54                      <Notes>The group identifies a special grouping of organisms that would be displayed on a particular                      <Notes>Number of [[protein encoding genes]] for this organism</Notes>
55                      page or of particular interest to a research group or web site. A single genome can belong to multiple                  </Field>
56                      such groups or none at all.</Notes>                  <Field name="rnas" type="int">
57                        <Notes>Number of RNA features found for this organism.</Notes>
58                  </Field>                  </Field>
59              </Fields>              </Fields>
60              <Indexes>              <Indexes>
61                  <Index Unique="false">                  <Index>
62                      <Notes>This index allows the applications to find all genomes associated with                      <Notes>This index allows the applications to find all genomes associated with
63                      a specific access code, so that a complete list of the genomes users can view                      a specific access code, so that a complete list of the genomes users can view
64                      may be generated.</Notes>                      may be generated.</Notes>
# Line 59  Line 69 
69                          <IndexField name="unique-characterization" order="ascending" />                          <IndexField name="unique-characterization" order="ascending" />
70                      </IndexFields>                      </IndexFields>
71                  </Index>                  </Index>
72                  <Index Unique="false">                  <Index>
73                      <Notes>This index allows the applications to find all genomes associated with                      <Notes>This index allows the applications to find all genomes associated with
74                      a specific primary (NMPDR) group.</Notes>                      a specific primary (NMPDR) group.</Notes>
75                      <IndexFields>                      <IndexFields>
# Line 69  Line 79 
79                          <IndexField name="unique-characterization" order="ascending" />                          <IndexField name="unique-characterization" order="ascending" />
80                      </IndexFields>                      </IndexFields>
81                  </Index>                  </Index>
82                  <Index Unique="false">                  <Index>
83                      <Notes>This index allows the applications to find all genomes for a particular                      <Notes>This index allows the applications to find all genomes for a particular
84                      species.</Notes>                      species.</Notes>
85                      <IndexFields>                      <IndexFields>
# Line 80  Line 90 
90                  </Index>                  </Index>
91              </Indexes>              </Indexes>
92          </Entity>          </Entity>
93            <Entity name="CDD" keyType="key-string">
94                <Notes>A CDD is a protein domain designator. It represents the shape of a molecular unit
95                on a feature's protein. The ID is six-digit string assigned by the public
96                [[http://www.ncbi.nlm.nih.gov/Structure/cdd/cdd.shtml Conserved Domain Database]]. A CDD
97                can occur on multiple features and a feature generally has multiple CDDs.</Notes>
98            </Entity>
99          <Entity name="Source" keyType="medium-string">          <Entity name="Source" keyType="medium-string">
100              <Notes>A [i]source[/i] describes a place from which genome data was taken. This can be an organization              <Notes>A _source_ describes a place from which genome data was taken. This can be an organization
101              or a paper citation.</Notes>              or a paper citation.</Notes>
102              <Fields>              <Fields>
103                  <Field name="URL" type="string" relation="SourceURL">                  <Field name="URL" type="string" relation="SourceURL">
104                      <Notes>URL the paper cited or of the organization's web site. This field optional.</Notes>                      <Notes>URL the paper cited or of the organization's web site. This field optional.</Notes>
                     <DataGen>"http://www.conservativecat.com/Ferdy/TestTarget.php?Source=" . $this->{id}</DataGen>  
105                  </Field>                  </Field>
106                  <Field name="description" type="text">                  <Field name="description" type="text">
107                      <Notes>Description the source. The description can be a street address or a citation.</Notes>                      <Notes>Description of the source. The description can be a street address or a citation.</Notes>
                     <DataGen>$this->{id} . ': ' . StringGen(IntGen(50,200))</DataGen>  
108                  </Field>                  </Field>
109              </Fields>              </Fields>
110          </Entity>          </Entity>
111          <Entity name="Contig" keyType="name-string">          <Entity name="Contig" keyType="name-string">
112              <Notes>A [i]contig[/i] is a contiguous run of residues. The contig's ID consists of the              <Notes>A _contig_ is a contiguous run of residues. The contig's ID consists of the
113              genome ID followed by a name that identifies which contig this is for the parent genome. As              genome ID followed by a name that identifies which contig this is for the parent genome. As
114              is the case with all keys in this database, the individual components are separated by a              is the case with all keys in this database, the individual components are separated by a
115              period.              period. A contig can contain over a million residues. For performance reasons, therefore,
116              [p]A contig can contain over a million residues. For performance reasons, therefore,              the contig is split into multiple pieces called _sequences_. The sequences
             the contig is split into multiple pieces called [i]sequences[/i]. The sequences  
117              contain the characters that represent the residues as well as data on the quality of              contain the characters that represent the residues as well as data on the quality of
118              the residue identification.</Notes>              the residue identification.</Notes>
119          </Entity>          </Entity>
120          <Entity name="Sequence" keyType="name-string">          <Entity name="Sequence" keyType="name-string">
121              <Notes>A [i]sequence[/i] is a continuous piece of a [i]contig[/i]. Contigs are split into              <Notes>A _sequence_ is a continuous piece of a contig. Contigs are split into
122              sequences so that we don't have to have the entire contig in memory when we are              sequences so that we don't have to have the entire contig in memory when we are
123              manipulating it. The key of the sequence is the contig ID followed by the index of              manipulating it. The key of the sequence is the contig ID followed by the index of
124              the begin point.</Notes>              the begin point.</Notes>
125              <Fields>              <Fields>
126                  <Field name="sequence" type="text">                  <Field name="sequence" type="text">
127                      <Notes>String consisting of the residues. Each residue is described by a single                      <Notes>String consisting of the residues (base pairs). Each residue is described by a single
128                      character in the string.</Notes>                      character in the string.</Notes>
                     <DataGen>RandChars("ACGT", IntGen(100,400))</DataGen>  
129                  </Field>                  </Field>
130                  <Field name="quality-vector" type="text">                  <Field name="quality-vector" type="text">
131                      <Notes>String describing the quality data for each base pair. Individual values will                      <Notes>String describing the quality data for each base pair. Individual values will
132                      be separated by periods. The value represents negative exponent of the probability                      be separated by periods. The value represents negative exponent of the probability
133                      of error. Thus, for example, a quality of 30 indicates the probability of error is                      of error. Thus, for example, a quality of 30 indicates the probability of error is
134                      10^-30. A higher quality number a better chance of a correct match. It is possible                      10^-30. A higher quality number indicates a better chance of a correct match. It is
135                      that the quality data is not known for a sequence. If that is the case, the quality                      possible that the quality data is not known for a sequence. If that is the case, the
136                      vector will contain the [b]unknown[/b].</Notes>                      quality vector will contain the string =unknown=.</Notes>
                     <DataGen>unknown</DataGen>  
137                  </Field>                  </Field>
138              </Fields>              </Fields>
139          </Entity>          </Entity>
140          <Entity name="Feature" keyType="id-string">          <Entity name="Feature" keyType="id-string">
141              <Notes>A [i]feature[/i] is a part of a genome that is of special interest. Features              <Notes>A _feature_ (sometimes also called a [[gene]]) is a part of a genome that is of special interest. Features
142              may be spread across multiple contigs of a genome, but never across more than              may be spread across multiple contigs of a genome, but never across more than
143              one genome. Features can be assigned to roles via spreadsheet cells,              one genome. Features can be assigned to roles via spreadsheet cells,
144              and are the targets of annotation.</Notes>              and are the targets of annotation. Each feature in the database has a unique [[FigId]].</Notes>
145              <Fields>              <Fields>
146                  <Field name="feature-type" type="string">                  <Field name="feature-type" type="id-string">
147                      <Notes>Code indicating the type of this feature.</Notes>                      <Notes>Code indicating the type of this feature. Among the codes currently
148                      <DataGen>RandParam('peg','rna')</DataGen>                      supported are =peg= for a [[protein encoding gene]], =bs= for a
149                  </Field>                      binding site, =opr= for an operon, and so forth.</Notes>
                 <Field name="alias" type="medium-string" relation="FeatureAlias">  
                     <Notes>Alternative name for this feature. A feature can have many aliases.</Notes>  
                     <DataGen testCount="3">StringGen('Pgi|99999', 'Puni|XXXXXX', 'PAAAAAA999')</DataGen>  
150                  </Field>                  </Field>
151                  <Field name="translation" type="text" relation="FeatureTranslation">                  <Field name="translation" type="text" relation="FeatureTranslation">
152                      <Notes>[i](optional)[/i] A translation of this feature's residues into character                      <Notes>_(optional)_ A translation of this feature's residues into character
153                      codes, formed by concatenating the pieces of the feature together. For a                      codes, formed by concatenating the pieces of the feature together. For a
154                      protein encoding group, this is the protein characters. For other types                      [[protein encoding gene]], the translation contains protein characters. For other types
155                      it is the DNA characters.</Notes>                      it contains DNA characters.</Notes>
                     <DataGen testCount="0"></DataGen>  
156                  </Field>                  </Field>
157                  <Field name="upstream-sequence" type="text" relation="FeatureUpstream">                  <Field name="upstream-sequence" type="text" relation="FeatureUpstream">
158                      <Notes>Upstream sequence the feature. This includes residues preceding the feature as well as some of                      <Notes>Upstream sequence for the feature. This includes residues preceding the feature as
159                      the feature's initial residues.</Notes>                      well as some of the feature's initial residues.</Notes>
160                      <DataGen testCount="0"></DataGen>                  </Field>
161                    <Field name="assignment" type="text">
162                        <Notes>Default functional assignment for this feature.</Notes>
163                  </Field>                  </Field>
164                  <Field name="active" type="boolean">                  <Field name="active" type="boolean">
165                      <Notes>TRUE if this feature is still considered valid, FALSE if it has been logically deleted.</Notes>                      <Notes>(This field is deprecated.) TRUE if this feature is still considered valid,
166                      <DataGen>1</DataGen>                      FALSE if it has been logically deleted.</Notes>
167                  </Field>                  </Field>
168                  <Field name="assignment" type="text">                  <Field name="assignment-maker" type="name-string">
169                      <Notes>This is the primary functional assignment for the feature.</Notes>                      <Notes>name of the user who made the functional assignment</Notes>
170                    </Field>
171                    <Field name="assignment-quality" type="char">
172                        <Notes>quality of the functional assignment, usually a space, but may be W (indicating weak) or X
173                        (indicating experimental)</Notes>
174                    </Field>
175                    <Field name="keywords" type="text" searchable="1">
176                        <Notes>This is a list of search keywords for the feature. It includes the
177                        functional assignment, subsystem roles, and special properties.</Notes>
178                  </Field>                  </Field>
179                  <Field name="link" type="text" relation="FeatureLink">                  <Field name="link" type="text" relation="FeatureLink">
180                      <Notes>Web hyperlink for this feature. A feature have no hyperlinks or it can have many. The                      <Notes>Web hyperlink for this feature. A feature can have no hyperlinks or it can have many. The
181                      links are to other websites that have useful about the gene that the feature represents, and                      links are to other websites that have useful about the gene that the feature represents, and
182                      are coded as raw HTML, using [b]&lt;a href="[i]link[/i]"&gt;[i]text[/i]&lt;/a&gt;[/b] notation.</Notes>                      are coded as raw HTML, using &lt;a href="_link_"&gt;_text_&lt;/a&gt; notation.</Notes>
183                      <DataGen testCount="3">'http://www.conservativecat.com/Ferdy/TestTarget.php?Source=' . $this->{id} .                  </Field>
184                      "&amp;Number=" . IntGen(1,99)</DataGen>                  <Field name="conservation" type="float" relation="FeatureConservation">
185                        <Notes>_(optional)_ A number between 0 and 1 that indicates the degree to which this feature's DNA is
186                        conserved in related genomes. A value of 1 indicates perfect conservation. A value less
187                        than 1 is a reflection of the degree to which gap characters interfere in the alignment
188                        between the feature and its close relatives.</Notes>
189                    </Field>
190                    <Field name="essential" type="text" relation="FeatureEssential" special="property_search">
191                        <Notes>A value indicating the essentiality of the feature, coded as HTML. In most
192                        cases, this will be a word describing whether the essentiality is confirmed (essential)
193                        or potential (potential-essential), hyperlinked to the document from which the
194                        essentiality was curated. If a feature is not essential, this field will have no
195                        values; otherwise, it may have multiple values.</Notes>
196                    </Field>
197                    <Field name="virulent" type="text" relation="FeatureVirulent" special="property_search">
198                        <Notes>A value indicating the virulence of the feature, coded as HTML. In most
199                        cases, this will be a phrase or SA number hyperlinked to the document from which
200                        the virulence information was curated. If the feature is not virulent, this field
201                        will have no values; otherwise, it may have multiple values.</Notes>
202                    </Field>
203                    <Field name="cello" type="name-string">
204                        <Notes>The cello value specifies the expected location of the protein: cytoplasm,
205                        cell wall, inner membrane, and so forth.</Notes>
206                    </Field>
207                    <Field name="iedb" type="text" relation="FeatureIEDB" special="property_search">
208                        <Notes>A value indicating whether or not the feature can be found in the
209                        Immune Epitope Database. If the feature has not been matched to that database,
210                        this field will have no values. Otherwise, it will have an epitope name and/or
211                        sequence, hyperlinked to the database.</Notes>
212                    </Field>
213                    <Field name="location-string" type="text">
214                        <Notes>Location of the feature, expressed as a comma-delimited list of Sprout location
215                        strings. This gives us a fast mechanism for extracting the feature location. Otherwise,
216                        we have to painstakingly paste together the [[#IsLocatedIn]] records, which are themselves
217                        designed to help look for features in a particular region rather than to find the location
218                        of a feature.</Notes>
219                  </Field>                  </Field>
220              </Fields>              </Fields>
221              <Indexes>              <Indexes>
222                  <Index>                  <Index>
223                      <Notes>This index allows the user to find the feature corresponding to                      <Notes>This index allows us to locate a feature by its CELLO value.</Notes>
                     the specified alias name.</Notes>  
224                      <IndexFields>                      <IndexFields>
225                          <IndexField name="alias" order="ascending" />                          <IndexField name="cello" order="ascending" />
226                      </IndexFields>                      </IndexFields>
227                  </Index>                  </Index>
228              </Indexes>              </Indexes>
229          </Entity>          </Entity>
230          <Entity name="SynonymGroup" keyType="id-string">          <Entity name="FeatureAlias" keyType="medium-string">
231              <Notes>A [i]synonym group[/i] represents a group of features. Substantially identical features              <Notes>Alternative names for features. A feature can have many aliases. In general,
232              are mapped to the same synonym group, and this information is used to expand similarities.</Notes>              each alias corresponds to only one feature, but there are many exceptions to this rule.</Notes>
233          </Entity>          </Entity>
234          <Entity name="Role" keyType="string">          <Entity name="SproutUser" keyType="name-string">
235              <Notes>A [i]role[/i] describes a biological function that may be fulfilled by a feature.              <Notes>A _user_ is a person who can make annotations and view data in the database. The
236              One of the main goals of the database is to record the roles of the various features.</Notes>              user object is keyed on the user's login name.</Notes>
237              <Fields>              <Fields>
238                  <Field name="EC" type="string" relation="RoleEC">                  <Field name="description" type="string">
239                      <Notes>EC code for this role.</Notes>                      <Notes>Full name or description of this user.</Notes>
                     <DataGen testCount="1">StringGen(IntGen(20,40)) . "(" . $this->{id} . ")"</DataGen>  
240                  </Field>                  </Field>
241                  <Field name="abbr" type="name-string">                  <Field name="access-code" type="key-string" relation="UserAccess">
242                      <Notes>Abbreviated name for the role, generally non-unique, but useful                      <Notes>This field is deprecated.</Notes>
                     in column headings for HTML tables.</Notes>  
243                  </Field>                  </Field>
244              </Fields>              </Fields>
245              <Indexes>          </Entity>
246                  <Index>          <Entity name="SynonymGroup" keyType="id-string">
247                      <Notes>This index allows the user to find the role corresponding to              <Notes>A _synonym group_ represents a group of features. Features that represent substantially
248                      an EC number.</Notes>              identical proteins or DNA sequences are mapped to the same synonym group, and this information is
249                      <IndexFields>              used to expand similarities.</Notes>
250                          <IndexField name="EC" order="ascending" />          </Entity>
251                      </IndexFields>          <Entity name="Role" keyType="string">
252                  </Index>              <Notes>A _role_ describes a biological function that may be fulfilled by a feature.
253              </Indexes>              One of the main goals of the database is to record the roles of the various features.</Notes>
254            </Entity>
255            <Entity name="RoleEC" keyType="string">
256                <Notes>EC code for a role.</Notes>
257          </Entity>          </Entity>
258          <Entity name="Annotation" keyType="name-string">          <Entity name="Annotation" keyType="name-string">
259              <Notes>An [i]annotation[/i] contains supplementary information about a feature. Annotations              <Notes>An _annotation_ contains supplementary information about a feature. The most
260              are currently the only objects that may be inserted directly into the database. All other              important type of annotation is the assignment of a [[functional role]]; however,
261              information is loaded from data exported by the SEED.</Notes>              other types of annotations are also possible.</Notes>
262              <Fields>              <Fields>
263                  <Field name="time" type="date">                  <Field name="time" type="date">
264                      <Notes>Date and time of the annotation.</Notes>                      <Notes>Date and time of the annotation.</Notes>
# Line 226  Line 277 
277              </Indexes>              </Indexes>
278          </Entity>          </Entity>
279          <Entity name="Reaction" keyType="key-string">          <Entity name="Reaction" keyType="key-string">
280              <Notes>A [i]reaction[/i] is a chemical process catalyzed by a protein. The reaction ID              <Notes>A _reaction_ is a chemical process catalyzed by a protein. The reaction ID
281              is generally a small number preceded by a letter.</Notes>              is generally a small number preceded by a letter.</Notes>
282              <Fields>              <Fields>
283                  <Field name="url" type="string" relation="ReactionURL">                  <Field name="url" type="string" relation="ReactionURL">
# Line 239  Line 290 
290              </Fields>              </Fields>
291          </Entity>          </Entity>
292          <Entity name="Compound" keyType="name-string">          <Entity name="Compound" keyType="name-string">
293              <Notes>A [i]compound[/i] is a chemical that participates in a reaction.              <Notes>A _compound_ is a chemical that participates in a reaction.
294              All compounds have a unique ID and may also have one or more names.</Notes>              All compounds have a unique ID and may also have one or more names.</Notes>
295              <Fields>              <Fields>
296                  <Field name="name-priority" type="int" relation="CompoundName">                  <Field name="label" type="string">
297                      <Notes>Priority of a compound name. The name with the loweset                      <Notes>Name used in reaction display strings. This is the same as the name
298                      priority is the main name of this compound.</Notes>                      possessing a priority of 1, but it is placed here to speed up the query
299                  </Field>                      used to create the display strings.</Notes>
                 <Field name="name" type="name-string" relation="CompoundName">  
                     <Notes>Descriptive name for the compound. A compound may  
                     have several names.</Notes>  
                 </Field>  
                 <Field name="cas-id" type="name-string" relation="CompoundCAS">  
                     <Notes>Chemical Abstract Service ID for this compound (optional).</Notes>  
                 </Field>  
                 <Field name="label" type="name-string">  
                     <Notes>Name used in reaction display strings.  
                     It is the same as the name possessing a priority of 1, but it is placed  
                     here to speed up the query used to create the display strings.</Notes>  
300                  </Field>                  </Field>
301              </Fields>              </Fields>
302              <Indexes>          </Entity>
303                  <Index>          <Entity name="CompoundName" keyType="string">
304                      <Notes>This index allows the user to find the compound corresponding to              <Notes>A _compound name_ is a common name for the chemical represented by a
305                      the specified name.</Notes>              compound.</Notes>
306                      <IndexFields>          </Entity>
307                          <IndexField name="name" order="ascending" />          <Entity name="CompoundCAS" keyType="name-string">
308                      </IndexFields>              <Notes>This entity represents the [[http://www.cas.org/ Chemical Abstract Service]] ID for a
309                  </Index>              compound. Each Compound has at most one CAS ID.</Notes>
                 <Index>  
                     <Notes>This index allows the user to find the compound corresponding to  
                     the specified CAS ID.</Notes>  
                     <IndexFields>  
                         <IndexField name="cas-id" order="ascending" />  
                     </IndexFields>  
                 </Index>  
                 <Index>  
                     <Notes>This index allows the user to access the compound names in  
                     priority order.</Notes>  
                     <IndexFields>  
                         <IndexField name="id" order="ascending" />  
                         <IndexField name="name-priority" order="ascending" />  
                     </IndexFields>  
                 </Index>  
             </Indexes>  
310          </Entity>          </Entity>
311          <Entity name="Subsystem" keyType="string">          <Entity name="Subsystem" keyType="string">
312              <Notes>A [i]subsystem[/i] is a collection of roles that work together in a cell. Identification of subsystems              <Notes>A _subsystem_ is a collection of roles that work together in a cell. Identification of subsystems
313              is an important tool for recognizing parallel genetic features in different organisms.</Notes>              is an important tool for recognizing parallel genetic features in different organisms. See also
314                [[Subsystem Approach]] and [[Subsystem]].</Notes>
315              <Fields>              <Fields>
316                  <Field name="curator" type="string">                  <Field name="curator" type="string">
317                      <Notes>Name of the person currently in charge of the subsystem.</Notes>                      <Notes>Name of the person currently in charge of the subsystem.</Notes>
# Line 294  Line 319 
319                  <Field name="notes" type="text">                  <Field name="notes" type="text">
320                      <Notes>Descriptive notes about the subsystem.</Notes>                      <Notes>Descriptive notes about the subsystem.</Notes>
321                  </Field>                  </Field>
322                    <Field name="description" type="text">
323                        <Notes>Description of the subsystem's function.</Notes>
324                    </Field>
325                  <Field name="classification" type="string" relation="SubsystemClass">                  <Field name="classification" type="string" relation="SubsystemClass">
326                      <Notes>General classification data about the subsystem.</Notes>                      <Notes>Classification string, colon-delimited. This string organizes the
327                        subsystems into a hierarchy.</Notes>
328                  </Field>                  </Field>
329              </Fields>              </Fields>
330          </Entity>          </Entity>
331          <Entity name="RoleSubset" keyType="string">          <Entity name="RoleSubset" keyType="string">
332              <Notes>A [i]role subset[/i] is a named collection of roles in a particular subsystem. The              <Notes>A _role subset_ is a named collection of roles in a particular subsystem. The
333              subset names are generally very short, non-unique strings. The ID of the parent              subset names are generally very short, non-unique strings. The ID of the parent
334              subsystem is prefixed to the subset ID in order to make it unique.</Notes>              subsystem is prefixed to the subset ID in order to make it unique.</Notes>
335          </Entity>          </Entity>
336          <Entity name="GenomeSubset" keyType="string">          <Entity name="GenomeSubset" keyType="string">
337              <Notes>A [i]genome subset[/i] is a named collection of genomes that participate              <Notes>A _genome subset_ is a named collection of genomes that participate
338              in a particular subsystem. The subset names are generally very short, non-unique              in a particular subsystem. The subset names are generally very short, non-unique
339              strings. The ID of the parent subsystem is prefixed to the subset ID in order              strings. The ID of the parent subsystem is prefixed to the subset ID in order
340              to make it unique.</Notes>              to make it unique.</Notes>
341          </Entity>          </Entity>
342          <Entity name="SSCell" keyType="hash-string">          <Entity name="SSCell" keyType="hash-string">
343              <Notes>Part of the process of locating and assigning features is creating a spreadsheet of              <Notes>Part of the process of [[SubsystemsApproach][subsystem annotation]] of [[features]]
344              genomes and roles to which features are assigned. A [i]spreadsheet cell[/i] represents one              is creating a spreadsheet of genomes and roles to which features are assigned. A _spreadsheet
345              of the positions on the spreadsheet.</Notes>              cell_ represents one of the positions on the spreadsheet.</Notes>
         </Entity>  
         <Entity name="SproutUser" keyType="name-string">  
             <Notes>A [i]user[/i] is a person who can make annotations and view data in the database. The  
             user object is keyed on the user's login name.</Notes>  
             <Fields>  
                 <Field name="description" type="string">  
                     <Notes>Full name or description of this user.</Notes>  
                 </Field>  
                 <Field name="access-code" type="key-string" relation="UserAccess">  
                     <Notes>Access code possessed by this  
                     user. A user can have many access codes; a genome is accessible to the user if its  
                     access code matches any one of the user's access codes.</Notes>  
                     <DataGen testCount="2">RandParam('low', 'medium', 'high')</DataGen>  
                 </Field>  
             </Fields>  
346          </Entity>          </Entity>
347          <Entity name="Property" keyType="int">          <Entity name="Property" keyType="int">
348              <Notes>A [i]property[/i] is a type of assertion that could be made about the properties of              <Notes>A _property_ is a type of assertion that could be made about the properties of
349              a particular feature. Each property instance is a key/value pair and can be associated              a particular feature. Each property instance is a key/value pair and can be associated
350              with many different features. Conversely, a feature can be associated with many key/value              with many different features. Conversely, a feature can be associated with many key/value
351              pairs, even some that notionally contradict each other. For example, there can be evidence              pairs, even some that notionally contradict each other. For example, there can be evidence
# Line 358  Line 372 
372              </Indexes>              </Indexes>
373          </Entity>          </Entity>
374          <Entity name="Diagram" keyType="name-string">          <Entity name="Diagram" keyType="name-string">
375              <Notes>A functional diagram describes the chemical reactions, often comprising a single              <Notes>A functional diagram describes a network chemical reactions, often comprising a single
376              subsystem. A diagram is identified by a short name and contains a longer descriptive name.              subsystem. A diagram is identified by a short name and contains a longer descriptive name.
377              The actual diagram shows which functional roles guide the reactions along with the inputs              The actual diagram shows which functional roles guide the reactions along with the inputs
378              and outputs; the database, however, only indicate which roles belong to a particular              and outputs; the database, however, only indicates which roles belong to a particular
379              map.</Notes>              diagram's map.</Notes>
380              <Fields>              <Fields>
381                  <Field name="name" type="text">                  <Field name="name" type="text">
382                      <Notes>Descriptive name of this diagram.</Notes>                      <Notes>Descriptive name of this diagram.</Notes>
# Line 391  Line 405 
405                      </Field>                      </Field>
406                  </Fields>                  </Fields>
407          </Entity>          </Entity>
         <Entity name="Coupling" keyType="id-string">  
             <Notes>A coupling is a relationship between two features. The features are  
             physically close on the contig, and there is evidence that they generally  
             belong together. The key of this entity is formed by combining the coupled  
             feature IDs with a space.</Notes>  
             <Fields>  
                 <Field name="score" type="int">  
                     <Notes>A number based on the set of PCHs (pairs of close homologs). A PCH  
                     indicates that two genes near each other on one genome are very similar to  
                     genes near each other on another genome. The score only counts PCHs for which  
                     the genomes are very different. (In other words, we have a pairing that persists  
                     between different organisms.) A higher score implies a stronger meaning to the  
                     clustering.</Notes>  
                 </Field>  
             </Fields>  
         </Entity>  
         <Entity name="PCH" keyType="counter">  
             <Notes>A PCH (physically close homolog) connects a clustering (which is a  
             pair of physically close features on a contig) to a second pair of physically  
             close features that are similar to the first. Essentially, the PCH is a  
             relationship between two clusterings in which the first clustering's features  
             are similar to the second clustering's features. The simplest model for  
             this would be to simply relate clusterings to each other; however, not all  
             physically close pairs qualify as clusterings, so we relate a clustering to  
             a pair of features. The key a unique ID number.</Notes>  
             <Fields>  
                 <Field name="used" type="boolean">  
                     <Notes>TRUE if this PCH is used in scoring the attached clustering,  
                     else FALSE. If a clustering has a PCH for a particular genome and many  
                     similar genomes are present, then a PCH will probably exist for the  
                     similar genomes as well. When this happens, only one of the PCHs will  
                     be scored: the others are considered duplicates of the same evidence.</Notes>  
                 </Field>  
             </Fields>  
         </Entity>  
408          <Entity name="Family" keyType="id-string">          <Entity name="Family" keyType="id-string">
409              <Notes>A family is a group of homologous PEGs believed to have the same function. Protein              <Notes>A _family_ (also called a [[FigFam]]) is a group of homologous features believed to have
410              families provide a mechanism for verifying the accuracy of functional assignments              the same function. Families provide a mechanism for verifying the accuracy of functional assignments
411              and are also used in determining phylogenetic trees.</Notes>              and are also used in [[Rapid Annotation]] and in determining phylogenetic trees.</Notes>
412              <Fields>              <Fields>
413                  <Field name="function" type="text">                  <Field name="function" type="text">
414                      <Notes>The functional assignment expected for all PEGs in this family.</Notes>                      <Notes>The functional assignment expected for all PEGs in this family.</Notes>
# Line 441  Line 420 
420                  </Field>                  </Field>
421              </Fields>              </Fields>
422          </Entity>          </Entity>
423            <Entity name="PDB" keyType="id-string">
424                <Notes>A PDB is a protein data bank entry containing information that can be used
425                to determine the shape of the protein and the energies required to dock with it.
426                The ID is the four-character name used on the [[http://www.rcsb.org PDB web site]].</Notes>
427                <Fields>
428                    <Field name="docking-count" type="int">
429                        <Notes>The number of ligands that have been docked against this PDB.</Notes>
430                    </Field>
431                </Fields>
432                <Indexes>
433                    <Index>
434                        <IndexFields>
435                            <IndexField name="docking-count" order="descending" />
436                            <IndexField name="id" order="ascending" />
437                        </IndexFields>
438                    </Index>
439                </Indexes>
440            </Entity>
441            <Entity name="Ligand" keyType="id-string">
442                <Notes>A Ligand is a chemical of interest in computing docking energies against a PDB.
443                The ID of the ligand is an 8-digit ID number in the [[http://zinc.docking.org ZINC database]].</Notes>
444                <Fields>
445                    <Field name="name" type="long-string">
446                        <Notes>Chemical name of this ligand.</Notes>
447                    </Field>
448                </Fields>
449            </Entity>
450      </Entities>      </Entities>
451      <Relationships>      <Relationships>
452          <Relationship name="IsFamilyForFeature" from="Family" to="Feature" arity="MM">          <Relationship name="IsPresentOnProteinOf" from="CDD" to="Feature" arity="MM">
453              <Notes>This relationship connects a protein family to all of its PEGs and connects              <Notes>This relationship connects a feature to its CDD protein domains. The
454              each PEG to all of its protein families.</Notes>              match score is included as intersection data.</Notes>
455                <Fields>
456                    <Field name="score" type="float">
457                        <Notes>This is the match score between the feature and the CDD. A
458                        lower score is a better match.</Notes>
459                    </Field>
460                </Fields>
461                <FromIndex>
462                    <IndexFields>
463                        <IndexField name="score" order="ascending" />
464                    </IndexFields>
465                </FromIndex>
466          </Relationship>          </Relationship>
467          <Relationship name="ParticipatesInCoupling" from="Feature" to="Coupling" arity="MM">          <Relationship name="IsIdentifiedByCAS" from="Compound" to="CompoundCAS" arity="MM">
468              <Notes>This relationship connects a feature to all the functional couplings              <Notes>Relates a compound's CAS ID to the compound itself. Every CAS ID is
469              in which it participates. A functional coupling is a recognition of the fact              associated with a compound, and some are associated with two compounds, but not
470              that the features are close to each other on a chromosome, and similar              all compounds have CAS IDs.</Notes>
471              features in other genomes also tend to be close.</Notes>          </Relationship>
472              <Fields>          <Relationship name="IsIdentifiedByEC" from="Role" to="RoleEC" arity="MM">
473                  <Field name="pos" type="int">              <Notes>Relates a role to its EC number. Every EC number is associated with a
474                      <Notes>Ordinal position of the feature in the coupling. Currently,              role, but not all roles have EC numbers.</Notes>
475                      this is either "1" or "2".</Notes>          </Relationship>
476            <Relationship name="IsAliasOf" from="FeatureAlias" to="Feature" arity="MM">
477                <Notes>Connects an alias to the feature it represents. Every alias connects
478                to at least 1 feature, and a feature connects to many aliases.</Notes>
479            </Relationship>
480            <Relationship name="HasCompoundName" from="Compound" to="CompoundName" arity="MM">
481                <Notes>Connects a compound to its names. A compound generally has several
482                names</Notes>
483                <Fields>
484                    <Field name="priority" type="int">
485                        <Notes>Priority of this name, with 1 being the highest priority, 2
486                        the next highest, and so forth.</Notes>
487                    </Field>
488                </Fields>
489                <FromIndex>
490                    <Notes>This index enables the application to view the names of a compound
491                    in priority order.</Notes>
492                    <IndexFields>
493                        <IndexField name="priority" order="ascending" />
494                    </IndexFields>
495                </FromIndex>
496            </Relationship>
497            <Relationship name="IsProteinForFeature" from="PDB" to="Feature" arity="MM">
498                <Notes>Relates a PDB to features that produce highly similar proteins.</Notes>
499                <Fields>
500                    <Field name="score" type="float">
501                        <Notes>Similarity score for the comparison between the feature and
502                        the PDB protein. A lower score indicates a better match.</Notes>
503                    </Field>
504                    <Field name="start-location" type="int">
505                        <Notes>Starting location within the feature of the matching region.</Notes>
506                    </Field>
507                    <Field name="end-location" type="int">
508                        <Notes>Ending location within the feature of the matching region.</Notes>
509                  </Field>                  </Field>
510              </Fields>              </Fields>
511              <ToIndex>              <ToIndex>
512                    <Notes>This index enables the application to view the PDBs of a
513                    feature in order from the closest match to the furthest.</Notes>
514                    <IndexFields>
515                        <IndexField name="score" order="ascending" />
516                    </IndexFields>
517                </ToIndex>
518                <FromIndex>
519                  <Notes>This index enables the application to view the features of                  <Notes>This index enables the application to view the features of
520                  a coupling in the proper order. The order influences the way the                  a PDB in order from the closest match to the furthest.</Notes>
                 PCHs are examined.</Notes>  
521                  <IndexFields>                  <IndexFields>
522                      <IndexField name="pos" order="ascending" />                      <IndexField name="score" order="ascending" />
523                  </IndexFields>                  </IndexFields>
524                </FromIndex>
525            </Relationship>
526            <Relationship name="DocksWith" from="PDB" to="Ligand" arity="MM">
527                <Notes>Indicates that a [[docking result]] exists between a PDB and a ligand. The
528                docking result describes the energy required for the ligand to dock with
529                the protein described by the PDB. A lower energy indicates the ligand has a
530                good chance of disabling the protein. At the current time, only the best
531                docking results are kept.</Notes>
532                <Fields>
533                    <Field name="reason" type="id-string">
534                        <Notes>Indication of the reason for determining the docking result.
535                        A value of =Random= indicates the docking was attempted as a part
536                        of a random survey used to determine the docking characteristics of the
537                        PDB. A value of =Rich= indicates the docking was attempted because
538                        a low-energy docking result was predicted for the ligand with respect
539                        to the PDB.</Notes>
540                    </Field>
541                    <Field name="tool" type="id-string">
542                        <Notes>Name of the tool used to produce the docking result.</Notes>
543                    </Field>
544                    <Field name="total-energy" type="float">
545                        <Notes>Total energy required for the ligand to dock with the PDB
546                        protein, in kcal/mol. A negative value means energy is released.</Notes>
547                    </Field>
548                    <Field name="vanderwalls-energy" type="float">
549                        <Notes>Docking energy in kcal/mol that results from the geometric fit
550                        (Van der Waals force) between the PDB and the ligand.</Notes>
551                    </Field>
552                    <Field name="electrostatic-energy" type="float">
553                        <Notes>Docking energy in kcal/mol that results from the movement of
554                        electrons (electrostatic force) between the PDB and the ligand.</Notes>
555                    </Field>
556                </Fields>
557                <FromIndex>
558                    <Notes>This index enables the application to view a PDB's docking results from
559                    the lowest energy (best docking) to highest energy (worst docking).</Notes>
560                    <IndexFields>
561                        <IndexField name="total-energy" order="ascending" />
562                    </IndexFields>
563                </FromIndex>
564                <ToIndex>
565                    <Notes>This index enables the application to view a ligand's docking results from
566                    the lowest energy (best docking) to highest energy (worst docking).</Notes>
567              </ToIndex>              </ToIndex>
568          </Relationship>          </Relationship>
569          <Relationship name="IsSynonymGroupFor" from="SynonymGroup" to="Feature" arity="1M">          <Relationship name="IsFamilyForFeature" from="Family" to="Feature" arity="MM">
570                <Notes>This relationship connects a protein family to all of its PEGs and connects
571                each PEG to all of its protein families.</Notes>
572            </Relationship>
573            <Relationship name="IsSynonymGroupFor" from="SynonymGroup" to="Feature" arity="MM">
574              <Notes>This relation connects a synonym group to the features that make it              <Notes>This relation connects a synonym group to the features that make it
575              up.</Notes>              up.</Notes>
576          </Relationship>          </Relationship>
# Line 490  Line 593 
593                  </IndexFields>                  </IndexFields>
594              </FromIndex>              </FromIndex>
595          </Relationship>          </Relationship>
         <Relationship name="IsEvidencedBy" from="Coupling" to="PCH" arity="1M">  
             <Notes>This relationship connects a functional coupling to the physically  
             close homologs (PCHs) which affirm that the coupling is meaningful.</Notes>  
         </Relationship>  
         <Relationship name="UsesAsEvidence" from="PCH" to="Feature" arity="MM">  
             <Notes>This relationship connects a PCH to the features that represent its  
             evidence. Each PCH is connected to a parent coupling that relates two features  
             on a specific genome. The PCH's evidence that the parent coupling is functional  
             is the existence of two physically close features on a different genome that  
             correspond to the features in the coupling. Those features are found on the  
             far side of this relationship.</Notes>  
             <Fields>  
                 <Field name="pos" type="int">  
                     <Notes>Ordinal position of the feature in the coupling that corresponds  
                     to our target feature. There is a one-to-one correspondence between the  
                     features connected to the PCH by this relationship and the features  
                     connected to the PCH's parent coupling. The ordinal position is used  
                     to decode that relationship. Currently, this field is either "1" or  
                     "2".</Notes>  
                 </Field>  
             </Fields>  
             <FromIndex>  
                 <Notes>This index enables the application to view the features of  
                 a PCH in the proper order.</Notes>  
                 <IndexFields>  
                     <IndexField name="pos" order="ascending" />  
                 </IndexFields>  
             </FromIndex>  
         </Relationship>  
596          <Relationship name="HasContig" from="Genome" to="Contig" arity="1M">          <Relationship name="HasContig" from="Genome" to="Contig" arity="1M">
597              <Notes>This relationship connects a genome to the contigs that contain the actual genetic              <Notes>This relationship connects a genome to the contigs that contain the actual genetic
598              information.</Notes>              information.</Notes>
# Line 559  Line 633 
633          <Relationship name="ParticipatesIn" from="Genome" to="Subsystem" arity="MM">          <Relationship name="ParticipatesIn" from="Genome" to="Subsystem" arity="MM">
634              <Notes>This relationship connects subsystems to the genomes that use              <Notes>This relationship connects subsystems to the genomes that use
635              it. If the subsystem has been curated for the genome, then the subsystem's roles will also be              it. If the subsystem has been curated for the genome, then the subsystem's roles will also be
636              connected to the genome features through the [b]SSCell[/b] object.</Notes>              connected to the genome features through the *SSCell* object.</Notes>
637              <Fields>              <Fields>
638                  <Field name="variant-code" type="key-string">                  <Field name="variant-code" type="key-string">
639                      <Notes>Code indicating the subsystem variant to which this                      <Notes>Code indicating the subsystem variant to which this
640                      genome belongs. Each subsystem can have multiple variants. A variant                      genome belongs. Each subsystem can have multiple variants. A variant
641                      code of [b]-1[/b] indicates that the genome does not have a functional                      code of =-1= indicates that the genome does not have a functional
642                      variant of the subsystem. A variant code of [b]0[/b] indicates that                      variant of the subsystem. A variant code of =0= indicates that
643                      the genome's participation is considered iffy.</Notes>                      the genome's participation is considered iffy.</Notes>
644                  </Field>                  </Field>
645              </Fields>              </Fields>
# Line 581  Line 655 
655          <Relationship name="OccursInSubsystem" from="Role" to="Subsystem" arity="MM">          <Relationship name="OccursInSubsystem" from="Role" to="Subsystem" arity="MM">
656              <Notes>This relationship connects roles to the subsystems that implement them. </Notes>              <Notes>This relationship connects roles to the subsystems that implement them. </Notes>
657              <Fields>              <Fields>
658                    <Field name="abbr" type="name-string">
659                        <Notes>Abbreviated name for the role, generally non-unique, but useful
660                        in column headings for HTML tables.</Notes>
661                    </Field>
662                  <Field name="column-number" type="int">                  <Field name="column-number" type="int">
663                      <Notes>Column number for this role in the specified subsystem's                      <Notes>Column number for this role in the specified subsystem's
664                      spreadsheet.</Notes>                      spreadsheet.</Notes>
# Line 676  Line 754 
754              <Notes>This relationship connects a feature to the contig segments that work together              <Notes>This relationship connects a feature to the contig segments that work together
755              to effect it. The segments are numbered sequentially starting from 1. The database is              to effect it. The segments are numbered sequentially starting from 1. The database is
756              required to place an upper limit on the length of each segment. If a segment is longer              required to place an upper limit on the length of each segment. If a segment is longer
757              than the maximum, it can be broken into smaller bits.              than the maximum, it can be broken into smaller bits.  The upper limit enables applications
758              [p]The upper limit enables applications to locate all features that contain a specific              to locate all features that contain a specific residue. For example, if the upper limit
759              residue. For example, if the upper limit is 100 and we are looking for a feature that              is 100 and we are looking for a feature that contains residue 234 of contig *ABC*, we
760              contains residue 234 of contig [b]ABC[/b], we can look for features with a begin point              can look for features with a begin point between 135 and 333. The results can then be
761              between 135 and 333. The results can then be filtered by direction and length of the              filtered by direction and length of the segment.</Notes>
             segment.</Notes>  
762              <Fields>              <Fields>
763                  <Field name="locN" type="int">                  <Field name="locN" type="int">
764                      <Notes>Sequence number of this segment.</Notes>                      <Notes>Sequence number of this segment.</Notes>
# Line 696  Line 773 
773                      is forward and the point after the residue if the direction is backward.</Notes>                      is forward and the point after the residue if the direction is backward.</Notes>
774                  </Field>                  </Field>
775                  <Field name="dir" type="char">                  <Field name="dir" type="char">
776                      <Notes>Direction of the segment: [b]+[/b] if it is forward and                      <Notes>Direction of the segment: =+= if it is forward and
777                      [b]-[/b] if it is backward.</Notes>                      =-= if it is backward.</Notes>
778                  </Field>                  </Field>
779              </Fields>              </Fields>
780              <FromIndex Unique="false">              <FromIndex>
781                  <Notes>This index allows the application to find all the segments of a feature in                  <Notes>This index allows the application to find all the segments of a feature in
782                  the proper order.</Notes>                  the proper order.</Notes>
783                  <IndexFields>                  <IndexFields>
# Line 746  Line 823 
823              assignment displayed is the most recent one by a user trusted              assignment displayed is the most recent one by a user trusted
824              by the current user. The current user implicitly trusts himself.              by the current user. The current user implicitly trusts himself.
825              If no trusted users are specified in the database, the user              If no trusted users are specified in the database, the user
826              also implicitly trusts the user [b]FIG[/b].</Notes>              also implicitly trusts the user =FIG=.</Notes>
827          </Relationship>          </Relationship>
828          <Relationship name="ConsistsOfRoles" from="RoleSubset" to="Role" arity="MM">          <Relationship name="ConsistsOfRoles" from="RoleSubset" to="Role" arity="MM">
829              <Notes>This relationship connects a role subset to the roles that it covers.              <Notes>This relationship connects a role subset to the roles that it covers.
# Line 783  Line 860 
860          <Relationship name="HasRoleInSubsystem" from="Feature" to="Subsystem" arity="MM">          <Relationship name="HasRoleInSubsystem" from="Feature" to="Subsystem" arity="MM">
861              <Notes>This relationship connects a feature to the subsystems in which it              <Notes>This relationship connects a feature to the subsystems in which it
862              participates. This is technically redundant information, but it is used              participates. This is technically redundant information, but it is used
863              so often that it deserves its own table.</Notes>              so often that it gets its own table for performance reasons.</Notes>
864              <Fields>              <Fields>
865                  <Field name="genome" type="name-string">                  <Field name="genome" type="name-string">
866                      <Notes>ID of the genome containing the feature</Notes>                      <Notes>ID of the genome containing the feature</Notes>

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.52

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3