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

View of /Sprout/SproutDBD.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.62 - (download) (as text) (annotate)
Thu Apr 2 01:47:46 2009 UTC (10 years, 8 months ago) by parrello
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, mgrast_dev_04082011, rast_rel_2010_0928, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, rast_rel_2009_05_18, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, rast_rel_2009_07_09, rast_rel_2010_0827, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_10262011, HEAD
Changes since 1.61: +6 -0 lines
Added a new relationship for representative genome support.

<Database>
    <Title>Sprout Genome and Subsystem Database</Title>
    <Notes>The Sprout database contains the genetic data for all complete organisms in the SeedEnvironment.
    The data that is not in Sprout-- attributes, similarities, couplings-- is stored on external
    servers available to the Sprout software. The Sprout database is reloaded approximately once
    per month. There is significant redundancy in the Sprout database because it has been
    optimized for searching. In particular, the Feature table contains an extra copy of the
    feature's functional role and a list of possible search terms.</Notes>
    <Entities>
        <Entity name="Genome" keyType="float">
            <DisplayInfo theme="nmpdr" col="3" row="1" />
            <Notes>A Genome contains the sequence data for a particular individual organism.</Notes>
            <Fields>
                <Field name="genus" type="string">
                    <Notes>Genus of the relevant organism.</Notes>
                </Field>
                <Field name="species" type="string">
                    <Notes>Species of the relevant organism.</Notes>
                </Field>
                <Field name="unique-characterization" type="string" default="">
                    <Notes>The unique characterization identifies the particular organism instance from which the
                    genome is taken. It is possible to have in the database more than one genome for a
                    particular species, and every individual organism has variations in its DNA.</Notes>
                </Field>
                <Field name="scientific-name" type="string">
                    <Notes>Scientific name of this genome, usually consisting of the genus,
                    species, and unique characterization.</Notes>
                </Field>
                <Field name="version" type="string">
                    <Notes>Version string for this genome, generally consisting of the genome ID followed
                    by a period and a string of digits.</Notes>
                </Field>
                <Field name="complete" type="boolean">
                    <Notes>TRUE if the genome is complete, else FALSE</Notes>
                </Field>
                <Field name="dna-size" type="counter">
                    <Notes>number of base pairs in the genome</Notes>
                </Field>
                <Field name="taxonomy" type="text">
                    <Notes>The taxonomy string contains the full taxonomy of the organism, with individual elements
                    separated by semi-colons (and optional white space), starting with the domain and ending with
                    the disambiguated genus and species (which is the organism's scientific name plus an
                    identifying string).</Notes>
                </Field>
                <Field name="primary-group" type="string">
                    <Notes>The primary NMPDR group for this organism. There is always exactly one NMPDR group
                    per organism (either based on the organism name or a default value for supporting
                    genomes). In general, more data is kept on organisms in NMPDR groups than on supporting
                    organisms.</Notes>
                </Field>
                <Field name="contigs" type="int">
                    <Notes>Number of contigs for this organism.</Notes>
                </Field>
                <Field name="pegs" type="int">
                    <Notes>Number of protein encoding genes for this organism</Notes>
                </Field>
                <Field name="rnas" type="int">
                    <Notes>Number of RNA features found for this organism.</Notes>
                </Field>
                <Field name="endospore" type="semi-boolean">
                    <Notes>Y/N/? flag indicating whether or not this organism produces endospores.</Notes>
                </Field>
                <Field name="gc-content" type="float">
                    <Notes>Percentage of the genome that consists of G and C base pairs.</Notes>
                </Field>
                <Field name="habitat" type="string">
                    <Notes>Preferred habitat of organism.</Notes>
                </Field>
                <Field name="gram-stain" type="semi-boolean">
                    <Notes>Gram stain behaviour of organism-- positive, negative, or unknown.</Notes>
                </Field>
                <Field name="motility" type="semi-boolean">
                    <Notes>Y/N/? flag indicating whether or not this organism can move under
                    its own power.</Notes>
                </Field>
                <Field name="oxygen" type="string">
                    <Notes>Indication of this organism's behavior relating to environmental oxygen.</Notes>
                </Field>
                <Field name="temperature-min" type="float">
                    <Notes>Minimum optimal temperature for this organism, in degrees Celsius.</Notes>
                </Field>
                <Field name="temperature-max" type="float">
                    <Notes>Maximum optimal temperature for this organism, in degrees Celsius.</Notes>
                </Field>
                <Field name="pathogenic" type="semi-boolean">
                    <Notes>Y/N/? flag indicating whether or not this organism is pathogenic.</Notes>
                </Field>
                <Field name="salinity" type="string">
                    <Notes>Indication of this organism's behavior relating to environmental
                    salinity.</Notes>
                </Field>
                <Field name="optimal-temperature-range" type="string">
                    <Notes>Indication of this organism's behavior relating to environmental
                    temperature.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index allows the applications to find all genomes associated with
                    a specific primary (NMPDR) group.</Notes>
                    <IndexFields>
                        <IndexField name="primary-group" order="ascending" />
                        <IndexField name="genus" order="ascending" />
                        <IndexField name="species" order="ascending" />
                        <IndexField name="unique-characterization" order="ascending" />
                    </IndexFields>
                </Index>
                <Index>
                    <Notes>This index allows the applications to retrieve all genomes by genus and species
                    groupings.</Notes>
                    <IndexFields>
                        <IndexField name="genus" order="ascending" />
                        <IndexField name="species" order="ascending" />
                        <IndexField name="unique-characterization" order="ascending" />
                    </IndexFields>
                </Index>
                <Index>
                    <Notes>This index allows the applications to search for genome by scientific
                    name.</Notes>
                    <IndexFields>
                        <IndexField name="scientific-name" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="ProteinFamily" keyType="string">
            <Notes>A protein family represents a group of proteins with related
            functions. Some protein families are downloaded from the PFAM database
            and some are FIGfams. The protein family keys all begin with the letters
            PF and the FIGfams with the letters FIG.</Notes>
            <Fields>
                <Field name="common-name" type="string" relation="ProteinFamilyName">
                    <Notes>Ontological name for the protein family. Not all families
                    have ontological names.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index allows the user to locate protein families
                    by name.</Notes>
                    <IndexFields>
                        <IndexField name="common-name" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="Host" keyType="string">
            <Notes>A host is a particular type of creature in which an organism has
            pathogenic behavior. Hosts can be specific (Human) or general
            (Animal).</Notes>
        </Entity>
        <Entity name="CDD" keyType="string">
            <Notes>A CDD is a protein domain designator. It represents the shape of a molecular unit
            on a feature's protein. The ID is six-digit string assigned by the public
            Conserved Domain Database. A CDD can occur on multiple features and a feature
            generally has multiple CDDs.</Notes>
        </Entity>
        <Entity name="Source" keyType="string">
            <Notes>A source describes a place from which genome data was taken. This can be an organization
            or a paper citation.</Notes>
            <Fields>
                <Field name="URL" type="string" relation="SourceURL">
                    <Notes>URL the paper cited or of the organization's web site. This field optional.</Notes>
                </Field>
                <Field name="description" type="text">
                    <Notes>Description of the source. The description can be a street address or a citation.</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="Contig" keyType="string">
            <DisplayInfo theme="nmpdr" col="1" row="1" />
            <Notes>A contig is a contiguous run of residues. The contig's ID consists of the
            genome ID followed by a name that identifies which contig this is for the parent genome. As
            is the case with all keys in this database, the individual components are separated by a
            period. A contig can contain over a million residues. For performance reasons, therefore,
            the contig is split into multiple pieces called sequences. The sequences
            contain the characters that represent the residues as well as data on the quality of
            the residue identification.</Notes>
            <Fields>
                <Field name="length" type="counter">
                    <Notes>Number of base pairs in this contig.</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="Sequence" keyType="string">
            <Notes>A sequence is a continuous piece of a contig. Contigs are split into
            sequences so that we don't have to have the entire contig in memory when we are
            manipulating it. The key of the sequence is the contig ID followed by the index of
            the begin point.</Notes>
            <Fields>
                <Field name="sequence" type="dna">
                    <Notes>String consisting of the residues (base pairs). Each residue is described by a single
                    character in the string.</Notes>
                </Field>
                <Field name="quality-vector" type="text">
                    <Notes>String describing the quality data for each base pair. Individual values will
                    be separated by periods. The value represents negative exponent of the probability
                    of error. Thus, for example, a quality of 30 indicates the probability of error is
                    10^-30. A higher quality number indicates a better chance of a correct match. It is
                    possible that the quality data is not known for a sequence. If that is the case, the
                    quality vector will contain the string "unknown".</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="Keyword" keyType="string">
            <Notes>A keyword is a word that can be used to search the feature table. This entity
            contains the keyword's stem, its phonetic form, and the number of features that
            can be found by searching for the word.</Notes>
            <Fields>
                <Field name="stem" type="string">
                    <Notes>The stem of a keyword is a normalized form that is independent of parts
                    of speech. The actual keywords stored in the database search index are stems.</Notes>
                </Field>
                <Field name="phonex" type="string">
                    <Notes>A _phonex_ is a string that identifies the phonetic characteristics of the
                    word stem. This can be used to find alternative spellings if an matching word is not
                    present.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index allows the user to find words by stem.</Notes>
                    <IndexFields>
                        <IndexField name="stem" order="ascending" />
                    </IndexFields>
                </Index>
                <Index>
                    <Notes>This index allows the user to find words by phonex.</Notes>
                    <IndexFields>
                        <IndexField name="phonex" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="ExternalDatabase" keyType="string">
            <Notes>An external database identifies a biological database surveyed by PIR International
            as part of an effort to determine which features are essentially identical between bioinformatics
            organizations. Each feature in the database will have zero or more corresponding IDs that are
            captured from the PIR data. Each corresponding ID is represented in a relationship between an external
            database and the feature itself.</Notes>
        </Entity>
        <Entity name="Feature" keyType="string">
            <DisplayInfo theme="nmpdr" col="3" row="3" />
            <Notes>A feature (sometimes also called a "gene" is a part of a genome that is of special interest. Features
            may be spread across multiple contigs of a genome, but never across more than
            one genome. Features can be assigned to roles via spreadsheet cells,
            and are the targets of annotation. Each feature in the database has a unique FigId.</Notes>
            <Fields>
                <Field name="feature-type" type="string">
                    <Notes>Code indicating the type of this feature. Among the codes currently
                    supported are "peg" for a protein encoding gene, "bs" for a
                    binding site, "opr" for an operon, and so forth.</Notes>
                </Field>
                <Field name="translation" type="text" relation="FeatureTranslation">
                    <Notes>(optional) A translation of this feature's residues into 
                    protein character codes, formed by concatenating the pieces
                    of the feature together. Only protein encoding genes have
                    translations.</Notes>
                </Field>
                <Field name="upstream-sequence" type="text" relation="FeatureUpstream">
                    <Notes>Upstream sequence for the feature. This includes residues preceding the feature as
                    well as some of the feature's initial residues.</Notes>
                </Field>
                <Field name="assignment" type="text">
                    <Notes>Default functional assignment for this feature.</Notes>
                </Field>
                <Field name="assignment-maker" type="string">
                    <Notes>name of the user who made the functional assignment</Notes>
                </Field>
                <Field name="assignment-quality" type="char">
                    <Notes>quality of the functional assignment, usually a space, but may be W (indicating weak) or X
                    (indicating experimental)</Notes>
                </Field>
                <Field name="keywords" type="text" searchable="1">
                    <Notes>This is a list of search keywords for the feature. It includes the
                    functional assignment, subsystem roles, and special properties.</Notes>
                </Field>
                <Field name="link" type="text" relation="FeatureLink">
                    <Notes>Web hyperlink for this feature. A feature can have no hyperlinks or it can have many. The
                    links are to other websites that have useful about the gene that the feature represents, and
                    are coded as raw HTML.</Notes>
                </Field>
                <Field name="essential" type="link" relation="FeatureEssential" special="property_search">
                    <Notes>A value indicating the essentiality of the feature, coded as HTML. In most
                    cases, this will be a word describing whether the essentiality is confirmed (essential)
                    or potential (potential-essential), hyperlinked to the document from which the
                    essentiality was curated. If a feature is not essential, this field will have no
                    values; otherwise, it may have multiple values.</Notes>
                </Field>
                <Field name="virulent" type="link" relation="FeatureVirulent" special="property_search">
                    <Notes>A value indicating the virulence of the feature, coded as HTML. In most
                    cases, this will be a phrase or SA number hyperlinked to the document from which
                    the virulence information was curated. If the feature is not virulent, this field
                    will have no values; otherwise, it may have multiple values.</Notes>
                </Field>
                <Field name="iedb" type="link" relation="FeatureIEDB" special="property_search">
                    <Notes>A value indicating whether or not the feature can be found in the
                    Immune Epitope Database. If the feature has not been matched to that database,
                    this field will have no values. Otherwise, it will have an epitope name and/or
                    sequence, hyperlinked to the database.</Notes>
                </Field>
                <Field name="location-string" type="text">
                    <Notes>Location of the feature, expressed as a comma-delimited list of Sprout location
                    strings. This gives us a fast mechanism for extracting the feature location. Otherwise,
                    we have to painstakingly paste together the IsLocatedIn records, which are themselves
                    designed to help look for features in a particular region rather than to find the location
                    of a feature.</Notes>
                </Field>
                <Field name="signal-peptide" type="string">
                    <Notes>The signal peptide location for this feature. This is expressed as start and end
                    numbers with a hyphen for the relevant amino acids. So, "1-22" would indicate a signal
                    peptide at the beginning of the feature's protein and extending through 22 amino acid
                    positions. An empty string means no signal peptide is present.</Notes>
                </Field>
                <Field name="transmembrane-map" type="text">
                    <Notes>A map indicating which sections of a protein will be embedded in a membrane.
                    This is expressed as a comma-separated list of as start and end numbers with hyphens
                    for the relevant amino acids. So, "10-12, 40-60" would indicate that there are two
                    sections of the protein that become embedded in a membrane: the 10th through 12th
                    amino acids, and the 40th through the 60th. An empty string means no
                    transmembrane regions are known.</Notes>
                </Field>
                <Field name="similar-to-human" type="boolean">
                    <Notes>TRUE if this feature generates a protein that is similar to one found in humans,
                    else FALSE</Notes>
                </Field>
                <Field name="isoelectric-point" type="float">
                    <Notes>pH in the surrounding medium at which the charge on a protein is neutral.
                    If the pH of the medium is lower than this value, the protein will have a net
                    positive charge. If the pH of the medium is higher, then the protein will have a
                    net negative charge.</Notes>
                </Field>
                <Field name="molecular-weight" type="float">
                    <Notes>Molecular weight of this feature's protein, in daltons. A weight of 0
                    indicates that no protein is created.</Notes>
                </Field>
                <Field name="sequence-length" type="counter">
                    <Notes>Number of base pairs in this feature.</Notes>
                </Field>
                <Field name="locked" type="boolean">
                    <Notes>TRUE if a feature's assignment is locked. A locked feature's functional
                    role cannot be changed by automated programs.</Notes>
                </Field>
                <Field name="in-genbank" type="boolean">
                    <Notes>TRUE if a feature can be found in GenBank, else FALSE</Notes>
                </Field>
                <Field name="conserved-neighbors" type="int">
                    <Notes>number of coupled features</Notes>
                </Field>
                <Field name="transmembrane-domain-count" type="int">
                    <Notes>number of sections in the feature's protein that
                    become embedded in the cell membrane</Notes>
                </Field>
                <Field name="ec" type="string" relation="FeatureEC">
                    <Notes>An EC number associated with this feature.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index supports looking up features by EC
                    number.</Notes>
                    <IndexFields>
                        <IndexField name="ec" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="FeatureAlias" keyType="string">
            <Notes>Alternative names for features. A feature can have many aliases. In general,
            each alias corresponds to only one feature, but there are many exceptions to this rule.</Notes>
        </Entity>
        <Entity name="SproutUser" keyType="string">
            <Notes>A user 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>
            </Fields>
        </Entity>
        <Entity name="SynonymGroup" keyType="string">
            <Notes>A synonym group represents a group of features. Features that represent substantially
            identical proteins or DNA sequences are mapped to the same synonym group, and this information is
            used to expand similarities.</Notes>
        </Entity>
        <Entity name="Role" keyType="string">
            <DisplayInfo theme="web" col="7" row="3" />
            <Notes>A role describes a biological function that may be fulfilled by a feature.
            One of the main goals of the database is to record the roles of the various features.</Notes>
        </Entity>
        <Entity name="RoleEC" keyType="string">
            <Notes>EC code for a role.</Notes>
        </Entity>
        <Entity name="Annotation" keyType="string">
            <DisplayInfo theme="seed" col="1" row="3" />
            <Notes>An annotation contains supplementary information about a feature. The most
            important type of annotation is the assignment of a functional role; however,
            other types of annotations are also possible.</Notes>
            <Fields>
                <Field name="time" type="date">
                    <Notes>Date and time of the annotation.</Notes>
                </Field>
                <Field name="annotation" type="text">
                    <Notes>Text of the annotation.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index allows the user to find recent annotations.</Notes>
                    <IndexFields>
                        <IndexField name="time" order="descending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="Reaction" keyType="string">
            <DisplayInfo  theme="web" col="7" row="5" />
            <Notes>A reaction is a chemical process catalyzed by a protein. The reaction ID
            is generally a small number preceded by a letter.</Notes>
            <Fields>
                <Field name="url" type="string" relation="ReactionURL">
                    <Notes>HTML string containing a link to a web location that describes the
                    reaction. This field is optional.</Notes>
                </Field>
                <Field name="rev" type="boolean">
                    <Notes>TRUE if this reaction is reversible, else FALSE</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="Compound" keyType="string">
            <DisplayInfo  theme="web" col="7" row="7" />
            <Notes>A compound is a chemical that participates in a reaction.
            All compounds have a unique ID and may also have one or more names.</Notes>
            <Fields>
                <Field name="label" type="string">
                    <Notes>Name used in reaction display strings. This 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>
                </Field>
            </Fields>
        </Entity>
        <Entity name="CompoundName" keyType="string">
            <Notes>A compound name is a common name for the chemical represented by a
            compound.</Notes>
        </Entity>
        <Entity name="CompoundCAS" keyType="string">
            <Notes>This entity represents the Chemical Abstract Service ID for a
            compound. Each Compound has at most one CAS ID.</Notes>
        </Entity>
        <Entity name="Subsystem" keyType="string">
            <DisplayInfo theme="seed" col="5" row="1" />
            <Notes>A subsystem is a collection of roles that work together in a cell. Identification of subsystems
            is an important tool for recognizing parallel genetic features in different organisms.</Notes>
            <Fields>
                <Field name="version" type="int">
                    <Notes>Version number for the subsystem. This value is incremented each time the subsystem
                    is backed up.</Notes>
                </Field>
                <Field name="curator" type="string">
                    <Notes>Name of the person currently in charge of the subsystem.</Notes>
                </Field>
                <Field name="notes" type="text">
                    <Notes>Descriptive notes about the subsystem.</Notes>
                </Field>
                <Field name="description" type="text">
                    <Notes>Description of the subsystem's function in the cell.</Notes>
                </Field>
                <Field name="classification" type="string" relation="SubsystemClass">
                    <Notes>Classification string, colon-delimited. This string organizes the
                    subsystems into a hierarchy.</Notes>
                </Field>
                <Field name="hope-curation-notes" type="text" relation="SubsystemHopeNotes">
                    <Notes>Text description of how the scenarios were curated.</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="RoleSubset" keyType="string">
            <Notes>A role subset is a named collection of roles in a particular subsystem. The
            subset names are generally very short, non-unique strings. The ID of the parent
            subsystem is prefixed to the subset ID in order to make it unique.</Notes>
        </Entity>
        <Entity name="GenomeSubset" keyType="string">
            <Notes>A genome subset is a named collection of genomes that participate
            in a particular subsystem. The subset names are generally very short, non-unique
            strings. The ID of the parent subsystem is prefixed to the subset ID in order
            to make it unique.</Notes>
        </Entity>
        <Entity name="SSCell" keyType="hash-string">
            <DisplayInfo theme="seed" col="5" row="3" />
            <Notes>Part of the process of subsystem annotation of features
            is creating a spreadsheet of genomes and roles to which features are assigned.
            A spreadsheet cell represents one of the positions on the spreadsheet.</Notes>
            <Fields>
                <Field name="column-number" type="int">
                    <Notes>Column number of this cell. This value is put here to
                    improve the performance of an essential query.</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="Property" keyType="int">
            <Notes>A property is a type of assertion that could be made about the properties of
            a particular feature. Each property instance is a key/value pair and can be associated
            with many different features. Conversely, a feature can be associated with many key/value
            pairs, even some that notionally contradict each other. For example, there can be evidence
            that a feature is essential to the organism's survival and evidence that it is superfluous.</Notes>
            <Fields>
                <Field name="property-name" type="string">
                    <Notes>Name of this property.</Notes>
                </Field>
                <Field name="property-value" type="text">
                    <Notes>Value associated with this property. For each property
                    name, there must by a property record for all of its possible
                    values.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index enables the application to find all values for a specified property
                    name, or any given name/value pair.</Notes>
                    <IndexFields>
                        <IndexField name="property-name" order="ascending" />
                        <IndexField name="property-value" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="Diagram" keyType="string">
            <DisplayInfo theme="web" col="7" row="1" />
            <Notes>A functional diagram describes a network of chemical reactions, often comprising a single
            subsystem. A diagram is identified by a short name and contains a longer descriptive name.
            The actual diagram shows which functional roles guide the reactions along with the inputs
            and outputs; the database, however, only indicates which roles belong to a particular
            diagram's map.</Notes>
            <Fields>
                <Field name="name" type="text">
                    <Notes>Descriptive name of this diagram.</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="PDB" keyType="string">
            <DisplayInfo theme="web" col="3" row="5" />
            <Notes>A PDB is a protein data bank entry containing information that can be used
            to determine the shape of the protein and the energies required to dock with it.
            The ID is the four-character name used on the PDB web site.</Notes>
            <Fields>
                <Field name="docking-count" type="int">
                    <Notes>The number of ligands that have been docked against this PDB.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <IndexFields>
                        <IndexField name="docking-count" order="descending" />
                        <IndexField name="id" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Entity>
        <Entity name="Ligand" keyType="string">
            <DisplayInfo theme="web" col="3" row="7" />
            <Notes>A Ligand is a chemical of interest in computing docking energies against a PDB.
            The ID of the ligand is an 8-digit ID number in the ZINC database.</Notes>
            <Fields>
                <Field name="name" type="long-string">
                    <Notes>Chemical name of this ligand.</Notes>
                </Field>
            </Fields>
        </Entity>
        <Entity name="CellLocation" keyType="string">
            <Notes>A section of the cell in which a protein might be found. This includes the cell wall or
            membrane, outside the cell, inside the cell, and so forth.</Notes>
        </Entity>
        <Entity name="Scenario" keyType="string">
            <Notes>A scenario used to verify the validity of subsystem assignments. Each
            scenario converrts input compounds to output compounds using reactions.
            The scenario may use all of the reactions controlled by a subsystem or only
            some, and may also incorporate additional reactions.</Notes>
        </Entity>
    </Entities>
    <Relationships>
        <Relationship name="IsRepresentativeOf" from="Genome" to="Genome" arity="1M">
            <Notes>This relationship connects a genome to its representative. Genomes
            are partitioned into multiple sets of close strains, each having a
            single representative. In certain situations, it is desirable to
            analyze only representative genomes rather than the full suite.</Notes>
        </Relationship>
        <Relationship name="IsPathogenicIn" from="Genome" to="Host" arity="MM">
            <Notes>This relationship connects a genome to a host in which it is
            pathogenic. Many genomes do not have a pathogenic host; some have
            multiple hosts.</Notes>
        </Relationship>
        <Relationship name="IsFamilyForFeature" from="ProteinFamily" to="Feature"
                      arity="MM" converse="IsInFamily">
            <Notes>This relationship connects a feature to its protein
            families.</Notes>
            <Fields>
                <Field name="range" type="string">
                    <Notes>Location in the feature of the matching protein.</Notes>
                </Field>
            </Fields>
        </Relationship>
        <Relationship name="Catalyzes" from="Role" to="Reaction" arity="MM"
                      converse="IsCatalyzedBy">
            <DisplayInfo theme="web" />
            <Notes>This relationship connects a role to the reactions it catalyzes.
            The purpose of a role is to create proteins that trigger certain
            chemical reactions. A single reaction can be triggered by many roles,
            and a role can trigger many reactions.</Notes>
        </Relationship>
        <Relationship name="ExcludesReaction" from="Scenario" to="Reaction" arity="MM">
            <Notes>This relationship connects a scenario to reactions of the parent
            subsystem that do not participate in it.</Notes>
        </Relationship>
        <Relationship name="IncludesReaction" from="Scenario" to="Reaction" arity="MM">
            <Notes>This relationship connects a scenario to reactions that participate
            in it but are not part of the parent subsystem.</Notes>
        </Relationship>
        <Relationship name="HasScenario" from="Subsystem" to="Scenario" arity="MM">
            <Notes>This relationship connects a role to the scenarios used to
            validate it.</Notes>
        </Relationship>
        <Relationship name="IsInputFor" from="Compound" to="Scenario" arity="MM">
            <Notes>This relationship connects a scenario to its input compounds.</Notes>
        </Relationship>
        <Relationship name="IsOutputOf" from="Compound" to="Scenario" arity="MM">
            <Notes>This relationship connects a scenario to its output compounds</Notes>
            <Fields>
                <Field name="auxiliary" type="boolean">
                    <Notes>TRUE if this is an auxiliary output compound, FALSE if it is a
                    main output compound.</Notes>
                </Field>
            </Fields>
        </Relationship>
        <Relationship name="IsOnDiagram" from="Scenario" to="Diagram" arity="MM">
            <Notes>This relationship connects a scenario to related diagrams.</Notes>
        </Relationship>
        <Relationship name="IsPossiblePlaceFor" from="CellLocation" to="Feature" arity="MM">
            <Notes>This relationship connects a feature with the various places in a cell that the feature
            might be found. The confidence factor is included as intersection data.</Notes>
            <Fields>
                <Field name="confidence" type="float">
                    <Notes>Confidence that the protein will be found in this location, expressed as a
                    value from 0 to 10.</Notes>
                </Field>
            </Fields>
        </Relationship>
        <Relationship name="IsPresentOnProteinOf" from="CDD" to="Feature" arity="MM">
            <Notes>This relationship connects a feature to its CDD protein domains. The
            match score is included as intersection data.</Notes>
            <Fields>
                <Field name="score" type="float">
                    <Notes>This is the match score between the feature and the CDD. A
                    lower score is a better match.</Notes>
                </Field>
            </Fields>
            <FromIndex>
                <IndexFields>
                    <IndexField name="score" order="ascending" />
                </IndexFields>
            </FromIndex>
        </Relationship>
        <Relationship name="IsIdentifiedByCAS" from="Compound" to="CompoundCAS" arity="MM">
            <Notes>Relates a compound's CAS ID to the compound itself. Every CAS ID is
            associated with a compound, and some are associated with two compounds, but not
            all compounds have CAS IDs.</Notes>
        </Relationship>
        <Relationship name="IsIdentifiedByEC" from="Role" to="RoleEC" arity="MM">
            <Notes>Relates a role to its EC number. Every EC number is associated with a
            role, but not all roles have EC numbers.</Notes>
        </Relationship>
        <Relationship name="IsAliasOf" from="FeatureAlias" to="Feature" arity="MM">
            <Notes>Connects an alias to the feature it represents. Every alias connects
            to at least 1 feature, and a feature connects to many aliases.</Notes>
        </Relationship>
        <Relationship name="HasCompoundName" from="Compound" to="CompoundName" arity="MM">
            <Notes>Connects a compound to its names. A compound generally has several
            names</Notes>
            <Fields>
                <Field name="priority" type="int">
                    <Notes>Priority of this name, with 1 being the highest priority, 2
                    the next highest, and so forth.</Notes>
                </Field>
            </Fields>
            <FromIndex>
                <Notes>This index enables the application to view the names of a compound
                in priority order.</Notes>
                <IndexFields>
                    <IndexField name="priority" order="ascending" />
                </IndexFields>
            </FromIndex>
        </Relationship>
        <Relationship name="IsProteinForFeature" from="PDB" to="Feature" arity="MM">
            <DisplayInfo caption="Is Protein\nFor Feature" theme="web" />
            <Notes>Relates a PDB to features that produce highly similar proteins.</Notes>
            <Fields>
                <Field name="score" type="float">
                    <Notes>Similarity score for the comparison between the feature and
                    the PDB protein. A lower score indicates a better match.</Notes>
                </Field>
                <Field name="start-location" type="int">
                    <Notes>Starting location within the feature of the matching region.</Notes>
                </Field>
                <Field name="end-location" type="int">
                    <Notes>Ending location within the feature of the matching region.</Notes>
                </Field>
            </Fields>
            <ToIndex>
                <Notes>This index enables the application to view the PDBs of a
                feature in order from the closest match to the furthest.</Notes>
                <IndexFields>
                    <IndexField name="score" order="ascending" />
                </IndexFields>
            </ToIndex>
            <FromIndex>
                <Notes>This index enables the application to view the features of
                a PDB in order from the closest match to the furthest.</Notes>
                <IndexFields>
                    <IndexField name="score" order="ascending" />
                </IndexFields>
            </FromIndex>
        </Relationship>
        <Relationship name="DocksWith" from="PDB" to="Ligand" arity="MM">
            <DisplayInfo caption="Docks With" theme="web" />
            <Notes>Indicates that a docking result exists between a PDB and a ligand. The
            docking result describes the energy required for the ligand to dock with
            the protein described by the PDB. A lower energy indicates the ligand has a
            good chance of disabling the protein. At the current time, only the best
            docking results are kept.</Notes>
            <Fields>
                <Field name="reason" type="string">
                    <Notes>Indication of the reason for determining the docking result.
                    A value of =Random= indicates the docking was attempted as a part
                    of a random survey used to determine the docking characteristics of the
                    PDB. A value of =Rich= indicates the docking was attempted because
                    a low-energy docking result was predicted for the ligand with respect
                    to the PDB.</Notes>
                </Field>
                <Field name="tool" type="string">
                    <Notes>Name of the tool used to produce the docking result.</Notes>
                </Field>
                <Field name="total-energy" type="float">
                    <Notes>Total energy required for the ligand to dock with the PDB
                    protein, in kcal/mol. A negative value means energy is released.</Notes>
                </Field>
                <Field name="vanderwaals-energy" type="float">
                    <Notes>Docking energy in kcal/mol that results from the geometric fit
                    (Van der Waals force) between the PDB and the ligand.</Notes>
                </Field>
                <Field name="electrostatic-energy" type="float">
                    <Notes>Docking energy in kcal/mol that results from the movement of
                    electrons (electrostatic force) between the PDB and the ligand.</Notes>
                </Field>
            </Fields>
            <FromIndex>
                <Notes>This index enables the application to view a PDB's docking results from
                the lowest energy (best docking) to highest energy (worst docking).</Notes>
                <IndexFields>
                    <IndexField name="total-energy" order="ascending" />
                </IndexFields>
            </FromIndex>
            <ToIndex>
                <Notes>This index enables the application to view a ligand's docking results from
                the lowest energy (best docking) to highest energy (worst docking).</Notes>
            </ToIndex>
        </Relationship>
        <Relationship name="IsAlsoFoundIn" from="Feature" to="ExternalDatabase" arity="MM">
            <Notes>This relationship connects a feature to external databases that contain
            essentially identical features. The name used in the external database is stored
            in the relationship as intersection data.</Notes>
            <Fields>
                <Field name="alias" type="string">
                    <Notes>ID of the feature in the specified external database.</Notes>
                </Field>
            </Fields>
            <Indexes>
                <Index>
                    <Notes>This index allows direct access to features by external ID.</Notes>
                    <IndexFields>
                        <IndexField name="alias" order="ascending" />
                    </IndexFields>
                </Index>
            </Indexes>
        </Relationship>
        <Relationship name="IsSynonymGroupFor" from="SynonymGroup" to="Feature" arity="MM">
            <Notes>This relation connects a synonym group to the features that make it
            up.</Notes>
        </Relationship>
        <Relationship name="HasFeature" from="Genome" to="Feature" arity="1M" converse="IsInGenome">
            <DisplayInfo theme="nmpdr" caption="Has\nFeature" />
            <Notes>This relationship connects a genome to all of its features. This
            relationship is redundant in a sense, because the genome ID is part
            of the feature ID; however, it makes the creation of certain queries more
            convenient because you can drag in filtering information for a feature's
            genome.</Notes>
            <Fields>
                <Field name="type" type="string">
                    <Notes>Feature type (eg. peg, rna)</Notes>
                </Field>
            </Fields>
            <FromIndex>
                <Notes>This index enables the application to view the features of a
                Genome sorted by type.</Notes>
                <IndexFields>
                    <IndexField name="type" order="ascending" />
                </IndexFields>
            </FromIndex>
        </Relationship>
        <Relationship name="HasContig" from="Genome" to="Contig" arity="1M">
            <DisplayInfo caption="Is Part Of" theme="nmpdr" />
            <Notes>This relationship connects a genome to the contigs that contain the actual genetic
            information.</Notes>
        </Relationship>
        <Relationship name="ComesFrom" from="Genome" to="Source" arity="MM">
            <Notes>This relationship connects a genome to the sources that mapped it. A genome can
            come from a single source or from a cooperation among multiple sources.</Notes>
        </Relationship>
        <Relationship name="IsMadeUpOf" from="Contig" to="Sequence" arity="1M">
            <Notes>A contig is stored in the database as an ordered set of sequences. By splitting the
            contig into sequences, we get a performance boost from only needing to keep small portions
            of a contig in memory at any one time. This relationship connects the contig to its
            constituent sequences.</Notes>
            <Fields>
                <Field name="len" type="int">
                    <Notes>Length of the sequence.</Notes>
                </Field>
                <Field name="start-position" type="int">
                    <Notes>Index (1-based) of the point in the contig where this
                    sequence starts.</Notes>
                </Field>
            </Fields>
            <FromIndex>
                <Notes>This index enables the application to find all of the sequences in
                a contig in order, and makes it easier to find a particular residue section.</Notes>
                <IndexFields>
                    <IndexField name="start-position" order="ascending" />
                    <IndexField name="len" order="ascending" />
                </IndexFields>
            </FromIndex>
        </Relationship>
        <Relationship name="IsTargetOfAnnotation" from="Feature" to="Annotation" arity="1M">
            <DisplayInfo caption="Targets" theme="seed" />
            <Notes>This relationship connects a feature to its annotations.</Notes>
        </Relationship>
        <Relationship name="MadeAnnotation" from="SproutUser" to="Annotation" arity="1M">
            <Notes>This relationship connects an annotation to the user who made it.</Notes>
        </Relationship>
        <Relationship name="ParticipatesIn" from="Genome" to="Subsystem" arity="MM">
            <DisplayInfo caption="\nParticipates\nIn" theme="seed" />
            <Notes>This relationship connects subsystems to the genomes that use
            it. If the subsystem has been curated for the genome, then the subsystem's roles will also be
            connected to the genome features through the *SSCell* object.</Notes>
            <Fields>
                <Field name="variant-code" type="string">
                    <Notes>Code indicating the subsystem variant to which this
                    genome belongs. Each subsystem can have multiple variants. A variant
                    code of -1 indicates that the genome does not have a functional
                    variant of the subsystem. A variant code of 0 indicates that
                    the genome's participation is considered iffy.</Notes>
                </Field>
            </Fields>
            <ToIndex>
                <Notes>This index enables the application to find all of the genomes using
                a subsystem in order by variant code, which is how we wish to display them
                in the spreadsheets.</Notes>
                <IndexFields>
                    <IndexField name="variant-code" order="ascending" />
                </IndexFields>
            </ToIndex>
        </Relationship>
        <Relationship name="OccursInSubsystem" from="Role" to="Subsystem" arity="MM" converse="Uses">
            <DisplayInfo caption="Uses" theme="seed" />
            <Notes>This relationship connects roles to the subsystems that implement them.</Notes>
            <Fields>
                <Field name="abbr" type="string">
                    <Notes>Abbreviated name for the role, generally non-unique, but useful
                    in column headings for HTML tables.</Notes>
                </Field>
                <Field name="column-number" type="int">
                    <Notes>Column number for this role in the specified subsystem's
                    spreadsheet.</Notes>
                </Field>
                <Field name="auxiliary" type="boolean">
                    <Notes>If TRUE, then this role is ancillary to the purpose of the subsystem.
                    If FALSE, it is essential to its metabolic pathway.</Notes>
                </Field>
                <Field name="hope-reaction-note" type="text">
                    <Notes>A description of the status of a role in relation to the
                    reactions it produces as determined by the scenarios. If present,
                    will indicate if the role has been determined to be auxiliary,
                    if it has been examined to verify an automatic assignment, and so
                    forth.</Notes>
                </Field>
            </Fields>
            <ToIndex>
                <Notes>This index enables the application to see the subsystem roles
                in column order. The ordering of the roles is usually significant,
                so it is important to preserve it.</Notes>
                <IndexFields>
                    <IndexField name="column-number" order="ascending" />
                </IndexFields>
            </ToIndex>
        </Relationship>
        <Relationship name="IsGenomeOf" from="Genome" to="SSCell" arity="1M">
            <DisplayInfo caption="Is Row Of" theme="seed" />
            <Notes>This relationship connects a subsystem's spreadsheet cell to the
            genome for the spreadsheet column.</Notes>
        </Relationship>
        <Relationship name="IsRoleOf" from="Role" to="SSCell" arity="1M">
            <DisplayInfo caption="Is In\nColumn\nFor" theme="seed" />
            <Notes>This relationship connects a subsystem's spreadsheet cell to the
            role for the spreadsheet row.</Notes>
        </Relationship>
        <Relationship name="ContainsFeature" from="SSCell" to="Feature" arity="MM">
            <DisplayInfo caption="Is\nContained\nIn" theme="seed" />
            <Notes>This relationship connects a subsystem's spreadsheet cell to the
            features assigned to it.</Notes>
            <Fields>
                <Field name="cluster-number" type="int">
                    <Notes>ID of this feature's cluster. Clusters represent families of
                    related proteins participating in a subsystem.</Notes>
                </Field>
            </Fields>
        </Relationship>
        <Relationship name="IsAComponentOf" from="Compound" to="Reaction" arity="MM">
            <DisplayInfo caption="Involves" theme="web" />
            <Notes>This relationship connects a reaction to the compounds that participate
            in it.</Notes>
            <Fields>
                <Field name="product" type="boolean">
                    <Notes>TRUE if the compound is a product of the reaction, FALSE if
                    it is a substrate. When a reaction is written on paper in
                    chemical notation, the substrates are left of the arrow and the
                    products are to the right. Sorting on this field will cause
                    the substrates to appear first, followed by the products. If the
                    reaction is reversible, then the notion of substrates and products
                    is not at intuitive; however, a value here of FALSE still puts the
                    compound left of the arrow and a value of TRUE still puts it to the
                    right.</Notes>
                </Field>
                <Field name="stoichiometry" type="string">
                    <Notes>Number of molecules of the compound that participate in a
                    single instance of the reaction. For example, if a reaction
                    produces two water molecules, the stoichiometry of water for the
                    reaction would be two. When a reaction is written on paper in
                    chemical notation, the stoichiometry is the number next to the
                    chemical formula of the compound.</Notes>
                </Field>
                <Field name="main" type="boolean">
                    <Notes>TRUE if this compound is one of the main participants in
                    the reaction, else FALSE. It is permissible for none of the
                    compounds in the reaction to be considered main, in which
                    case this value would be FALSE for all of the relevant
                    compounds.</Notes>
                </Field>
                <Field name="loc" type="string">
                    <Notes>An optional character string that indicates the relative
                    position of this compound in the reaction's chemical formula. The
                    location affects the way the compounds present as we cross the
                    relationship from the reaction side. The product/substrate flag
                    comes first, then the value of this field, then the main flag.
                    The default value is an empty string; however, the empty string
                    sorts first, so if this field is used, it should probably be
                    used for every compound in the reaction.</Notes>
                </Field>
                <Field name="discriminator" type="int">
                    <Notes>A unique ID for this record. The discriminator does not
                    provide any useful data, but it prevents identical records from
                    being collapsed by the SELECT DISTINCT command used by ERDB to
                    retrieve data.</Notes>
                </Field>
            </Fields>
            <ToIndex>
                <Notes>This index presents the compounds in the reaction in the
                order they should be displayed when writing it in chemical notation.
                All the substrates appear before all the products, and within that
                ordering, the main compounds appear first.</Notes>
                <IndexFields>
                    <IndexField name="product" order="ascending" />
                    <IndexField name="loc" order="ascending" />
                    <IndexField name="main" order="descending" />
                </IndexFields>
            </ToIndex>
        </Relationship>
        <Relationship name="IsLocatedIn" from="Feature" to="Contig" arity="MM" converse="IsLocusFor">
            <DisplayInfo caption="Is\nLocation\nOf" theme="nmpdr" />
            <Notes>This relationship connects a feature to the contig segments that work together
            to effect it. The segments are numbered sequentially starting from 1. The database is
            required to place an upper limit on the length of each segment. If a segment is longer
            than the maximum, it can be broken into smaller bits.  The upper limit enables applications
            to locate all features that contain a specific residue. For example, if the upper limit
            is 100 and we are looking for a feature that contains residue 234 of contig *ABC*, we
            can look for features with a begin point between 135 and 333. The results can then be
            filtered by direction and length of the segment.</Notes>
            <Fields>
                <Field name="locN" type="int">
                    <Notes>Sequence number of this segment.</Notes>
                </Field>
                <Field name="beg" type="int">
                    <Notes>Index (1-based) of the first residue in the contig that
                    belongs to the segment.</Notes>
                </Field>
                <Field name="len" type="int">
                    <Notes>Number of residues in the segment. A length of 0 identifies
                    a specific point between residues. This is the point before the residue if the direction
                    is forward and the point after the residue if the direction is backward.</Notes>
                </Field>
                <Field name="dir" type="char">
                    <Notes>Direction of the segment: =+= if it is forward and
                    =-= if it is backward.</Notes>
                </Field>
            </Fields>
            <FromIndex>
                <Notes>This index allows the application to find all the segments of a feature in
                the proper order.</Notes>
                <IndexFields>
                    <IndexField name="locN" order="ascending" />
                </IndexFields>
            </FromIndex>
            <ToIndex>
                <Notes>This index is the one used by applications to find all the feature
                segments that contain a specific residue.</Notes>
                <IndexFields>
                    <IndexField name="beg" order="ascending" />
                </IndexFields>
            </ToIndex>
        </Relationship>
        <Relationship name="HasProperty" from="Feature" to="Property" arity="MM">
            <Notes>This relationship connects a feature to its known property values.
            The relationship contains text data that indicates the paper or organization
            that discovered evidence that the feature possesses the property. So, for
            example, if two papers presented evidence that a feature is essential,
            there would be an instance of this relationship for both.</Notes>
            <Fields>
                <Field name="evidence" type="text">
                    <Notes>URL or citation of the paper or
                    institution that reported evidence of the relevant feature possessing
                    the specified property value.</Notes>
                </Field>
            </Fields>
        </Relationship>
        <Relationship name="RoleOccursIn" from="Role" to="Diagram" arity="MM">
            <DisplayInfo caption="Shows" theme="web" />
            <Notes>This relationship connects a role to the diagrams on which it
            appears. A role frequently identifies an enzyme, and can appear in many
            diagrams. A diagram generally contains many different roles.</Notes>
        </Relationship>
        <Relationship name="HasSSCell" from="Subsystem" to="SSCell" arity="1M">
            <DisplayInfo caption="Is Container Of" theme="seed" />
            <Notes>This relationship connects a subsystem to the spreadsheet cells
            used to analyze and display it. The cells themselves can be thought of
            as a grid with Roles on one axis and Genomes on the other. The
            various features of the subsystem are then assigned to the cells.</Notes>
        </Relationship>
        <Relationship name="IsTrustedBy" from="SproutUser" to="SproutUser" arity="MM">
            <Notes>This relationship identifies the users trusted by each
            particular user. When viewing functional assignments, the
            assignment displayed is the most recent one by a user trusted
            by the current user. The current user implicitly trusts himself.
            If no trusted users are specified in the database, the user
            also implicitly trusts the user =FIG=.</Notes>
        </Relationship>
        <Relationship name="ConsistsOfRoles" from="RoleSubset" to="Role" arity="MM">
            <Notes>This relationship connects a role subset to the roles that it covers.
            A subset is, essentially, a named group of roles belonging to a specific
            subsystem, and this relationship effects that. Note that will a role
            may belong to many subsystems, a subset belongs to only one subsystem,
            and all roles in the subset must have that subsystem in common.</Notes>
        </Relationship>
        <Relationship name="ConsistsOfGenomes" from="GenomeSubset" to="Genome" arity="MM">
            <Notes>This relationship connects a subset to the genomes that it covers.
            A subset is, essentially, a named group of genomes participating in a specific
            subsystem, and this relationship effects that. Note that while a genome
            may belong to many subsystems, a subset belongs to only one subsystem,
            and all genomes in the subset must have that subsystem in common.</Notes>
        </Relationship>
        <Relationship name="HasRoleSubset" from="Subsystem" to="RoleSubset" arity="1M">
            <Notes>This relationship connects a subsystem to its constituent
            role subsets. Note that some roles in a subsystem may not belong to a
            subset, so the relationship between roles and subsystems cannot be
            derived from the relationships going through the subset.</Notes>
        </Relationship>
        <Relationship name="HasGenomeSubset" from="Subsystem" to="GenomeSubset" arity="1M">
            <Notes>This relationship connects a subsystem to its constituent
            genome subsets. Note that some genomes in a subsystem may not belong to a
            subset, so the relationship between genomes and subsystems cannot be
            derived from the relationships going through the subset.</Notes>
        </Relationship>
        <Relationship name="HasRoleInSubsystem" from="Feature" to="Subsystem" arity="MM">
            <Notes>This relationship connects a feature to the subsystems in which it
            participates. This is technically redundant information, but it is used
            so often that it gets its own table for performance reasons.</Notes>
            <Fields>
                <Field name="genome" type="string">
                    <Notes>ID of the genome containing the feature</Notes>
                </Field>
                <Field name="type" type="string">
                    <Notes>Feature type (eg. peg, rna)</Notes>
                </Field>
            </Fields>
            <ToIndex>
                <Notes>This index enables the application to view the features of a
                subsystem sorted by genome and feature type.</Notes>
                <IndexFields>
                    <IndexField name="genome" order="ascending" />
                    <IndexField name="type" order="ascending" />
                </IndexFields>
            </ToIndex>
        </Relationship>
    </Relationships>
    <Shapes>
        <Shape type="oval" name="Pins">
            <DisplayInfo theme="nmpdr" col="1" row="4.5" fixed="1" />
            <Notes>The Pin Server provides information about functional couplings between features.</Notes>
        </Shape>
        <Shape type="oval" name="Sims">
            <DisplayInfo theme="nmpdr" col="1.5" row="5" fixed="1" />
            <Notes>The Similarity Server contains a high-performance custom database of similarities between features.</Notes>
        </Shape>
        <Shape type="oval" name="BBHs">
            <DisplayInfo theme="nmpdr" col="2" row="5.5" fixed="1" />
            <Notes>For each feature, the BBH Server has that feature's bidirectional best hits in other genomes.</Notes>
        </Shape>
        <Shape type="arrow" name="WebServices" from="Sims" to="Feature">
            <DisplayInfo caption=" " theme="nmpdr" col="2.5" row="4" />
            <Notes>HTTP services are used to transmit data between the servers and the
            NMPDR.</Notes>
        </Shape>
    </Shapes>
</Database>

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3