[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UniRule is a format describing conditional annotation templates (rules) used by UniProtKB/Swiss-Prot automated annotation projects. It defines annotation which will be generated for (selected) predicted features.
Structure
Each UniRule entry consists of the following parts.
Application
Used to annotate protein family : HAMAP rules.
Used to annotate protein domain or site : ProRules.
Explanation of terms
Any sequence feature predictor or discriminator, such as a pattern, profile or profile-HMM.
A mnemonic code of at most 5 alphanumeric characters specific for a taxonomic species used in UniProtKB/Swiss-Prot.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Header section contains technical information about the UniRules.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Each UniRule starts with one or more AC (ACcession number) lines.
The format of the accession number is for intance ‘PRU’ followed by 5
digits for ProRules and ‘MF_’ followed by 5 digits for HAMAP rules.
Application:
Format:
Examples:
|
Note: The UniRule file name in the CVS directory corresponds to the primary accession number of a UniRule.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The DC (Data Class) line specifies which type of data the rule annotates.
Application:
Format:
Examples:
|
The data_class is either of the following values:
Refers to a rule that enables complete annotation of a UniProtKB/Swiss-Prot entry.
The rule applies to a domain of topological meaning, like an extracellular region. A ‘Topo_domain’ may contain any ‘Domain’ within its range.
Refers to a rule that enables domain annotation of a UniProtKB/Swiss-Prot entry.
Domains are generally not allowed to overlap. However in rare cases it is possible that a domain is located within another domain; e.g. EH domain and EF-hand. In that situation, the annotation of the smaller domain must be triggered in the rule for the longer domain.
Refers to a rule that enables site annotation of a UniProtKB/Swiss-Prot entry. One or more sites may be located within a domain. If a site within a domain is conserved, it is usually triggered in the domain rule (See section DR line).
A Protein rule has precedence over a Domain/Site rule.
The optional trailing term ‘auto’ indicates that a UniRule can be applied
to automated annotation. If absent, it means that the UniRule should be used only
for the support of manual annotation, which is the case when a method has a
significant number of false positives or the output needs further manual completion.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The TR (Trigger) line describes which (selected) sequence analysis features trigger
the application of the curent UniRule.
Each UniRule may contain one or more TR lines.
Each feature name should appear only once in the TR line in the whole
UniRule database, as one type of feature is expected to trigger only one rule.
Application:
|
There are 2 types of TR lines:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Format:
Examples:
|
Technical note: Now metamotifs are detected (through mmsearch) by anabelle psat; they are just ’classical’ gff psat features.
Therefore metamotifs detection is not tied anymore to the rule evaluation step.
The metamotif TR should not be included in a condition to test if its required
features are present, this is now useless/obsolete (as the metamotif was detected by psat, it implies that its
features were present).
The metamotif field should correspond to the name of a detectable metamotif
feature. The metamotif feature name is at the same time the metamotif description.
It describes the arrangements of sub-features (by their name) in a sequence.
The ’available’ metamotifs are listed in $ANABELLE/data/metamotifs.dat
This file is used by mmsearch, and is created at release (anabelle_update.sh) by
extracting TR metamotif lines from CVSed UniRules.
The field mmsearch-options used to control the behavior of the metamotif search automaton (during ’picohamap’ times?). It is now obsolete, just use ’-’.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This separator line conveys no meaning. It is used to separate blocks of lines.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Names line indicates the name(s) of the motif described by the rule.
The first name is the one used in UniProtKB/Swiss-Prot, synonyms are listed below, one
name per line. If there is no specific name for a motif, the term
‘Undefined’ should be inserted as a placeholder.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Function line indicates the ‘generic’ function of a domain. Usually it
should not be longer than one line, but in case it is, the lines following the
first one will be indented by a space.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comments concerning the rule, which are for internal use, and do
not appear in published versions. It should appear on lines prefixed with
two asterisks and a space. They may appear at the very end of the Header section, and
throughout the Annotation section and the Computing section. However, it is
good practice to put such comments at the end of the Header section where they
are immediately visible, and only put them exceptionally in the Annotation and
Computing sections.
Example:
** SALRD unusually long in the C-terminus, flagged as atypical. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Annotation section includes all UniProtKB/Swiss-Prot annotation lines that can be applied to a rule match. Additionally there can be lines which indicate condition statements (‘case’, ‘else case’, ‘else’, ‘c?’, ‘c!’) and a line which indicates the motif or alignments, according to which the feature positions are calculated (See section FT From line). The line order is the same as in UniProtKB/Swiss-Prot.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The ID line contains the mnemonic code for a protein name used in the entry
name of a UniProtKB/Swiss-Prot entry.
Application:
Format:
Example:
|
Note: If specified code is ’Ynnn’ it will be replaced by ’Y’ followed by the OLN (OrderedLocusName) number of the annotated protein.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The DE line corresponds to the description line of a UniProtKB/Swiss-Prot entry.
To define DE annotation that should be added to existing data (from original
entry and/or from previous rule element applications) instead of replacing it:
prepend DE block with ‘+’.
Application:
Formats:
Example:
|
The DE line may contain the placeholder ‘<locus_tag>’, which is to be
replaced (in annotation output) by the Ordered Locus Name (OLN) of the entry (or
by its ORFNames if no OLN was found; if nothing can be found: will be left as it is
but a warning will be generated).
It may also contain the placeholder ‘<gene_name>’
which is to be replaced by the entry gene name (GN Name).
Example:
DE RecName: Full=Hemerythrin-like protein <locus_tag>. |
The DE line may contain the @gn(ANYGENENAME) placeholder/command, which is to be replaced by the correct casing and gene count numbering (according to the entry taxonomy) of the specified gene name.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The GN line contains the common gene name (and optionally synonyms) of a
protein family, when one exists.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The CC line(s) contains all applicable comment lines of a UniProtKB/Swiss-Prot entry.
Application:
Format:
Example:
|
The CC line topic ‘SIMILARITY: Contains’ is often not complete. The hash
sign ‘#’ in the text stands for the number of hits found for the given
motif and is replaced during the automated annotation procedure; the term
‘repeat’, ‘domain’ or ‘zinc finger’ will be set to plural if
more than 1 true positive hit was found of them in a protein.
The CC line may contain :
CC -!- PTM: The phosphorylation of #{120} activates ... CC -!- PTM: Phosphorylation at #{Ser-187:FEN1_HUMAN} by CDK2 ... CC -!- PTM: The reversible ADP-ribosylation of #{Arg-101} inactivates ... |
The latter becomes for example:
CC -!- PTM: The reversible ADP-ribosylation of Arg-112 inactivates ... ... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The DR line main usage is to trigger ’child’ rules in order to avoid
duplication of rule content. It has not much to do with ’real’ DR UniProtKB/Swiss-Prot
annotation lines (in Anabelle, DR annotation is only performed for PROSITE
motifs).
The format of the DR line is similar to that of a TR line
(See section TR line).
Application:
Format:
Example:
|
Notes:
DR ADD_TOPO_DOMAIN; Cytoplasmic; -; 2; trigger=yes DR ADD_TOPO_DOMAIN; Periplasmic; -; 1; trigger=yes |
The first line will set the Nter TOPO_DOM to ’Cytoplasmic’, the second line specifies the alternative compartment ’Periplasmic’ to propagate alternate Cytoplasmic / Peroplasmic TOPO_DOMs between (selected) Transmembranes. N.B. the ’fake’ ADD_TOPO_DOMAIN type/dbname is a flag for the sequence analysis module (that peaks inside the rule) to tell it to create corresponding topological domain sequence analysis "results" between selected transmembrane.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The KW line contains all applicable keywords for a UniProtKB/Swiss-Prot entry, one per line.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The GO line contains all applicable Gene Ontology terms, one per line.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The FT (Feature table) line contains applicable features for a UniProtKB/Swiss-Prot entry. The
feature positions are calculated by the automated annotation program based
on the rule and the motif match positions.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The FT From line is mandatory above the FT feature line. It
defines the "template" / "frame of reference" to allow the rule specified
coordinates to be mapped into the target sequence coordinates, for all
subsequent FT feature lines.
The template must be one of the following: ’any’, the unique identifier for a
motif, a protein identifier, or a metamotif.
Format:
Examples:
|
If (accession_number) is given = the template/frame of reference is a UniProt protein = the numbering is based on this protein, the subsequent positions
will be mapped to the annotated target sequence.
If (accession_number) is not given = the frame of reference is the trigger (motif) match region. If a specific motif identifier is given the subsequent FTs will only be propagated if the current trigger is of the specified kind (this is useful when one rule as multiple triggers...). If "any" is used, no filtering by trigger name will be performed.
The optional regexp, can be used in conjonction with $1-9 position "keys" in subsequent FTs to annotate floating postions.
N.B. If the template is a metamotif, it must be present verbatim in the TR line.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The FT feature line defines the actual FT lines that are to be
propagated in member entries.
Format:
Examples:
|
Placeholders (in the description)
FT REGION 101 124 Necessary for interaction with @gn(ABC-1). |
FT LIPID 1 1 GPI-anchor amidated <residue_name>. |
may be transformed by samann.pl into the following UniProtKB/Swiss-Prot line:
FT LIPID 300 300 GPI-anchor amidated aspartate. |
FT CROSSLNK 238 264 Tryptophyl-tyrosyl-methioninium (Tyr-Met) FT (with #{Trp-90}) (By similarity). |
The latter will generate for example:
FT CROSSLNK 240 266 Tryptophyl-tyrosyl-methioninium (Tyr-Met) FT (with W-92) (By similarity). |
FT ACT_SITE 6 6 [For protease activity] By similarity. |
may be transformed by samann.pl into the following UniProtKB/Swiss-Prot line: If the entry has several EC:
FT ACT_SITE 506 506 For protease activity (By similarity). |
Note that if the text is added, the qualifier (By similarity), is put between
brackets (as it is not alone).
If the entry has only 1 enzymatic activity:
FT ACT_SITE 506 506 By similarity. |
FT DOMAIN from to Foobar #. FT METAL 87 87 Iron #1 (By similarity). FT METAL 118 118 Iron #1 (By similarity). FT METAL 118 118 Iron #2 (By similarity). FT METAL 180 180 Iron #2 (By similarity). |
Would yield the following annotation in a protein with a single match:
FT DOMAIN 1 200 Foobar. FT METAL 87 87 Iron 1 (By similarity). FT METAL 118 118 Iron 1 (By similarity). FT METAL 118 118 Iron 2 (By similarity). FT METAL 180 180 Iron 2 (By similarity). |
And the following annotation in a protein with two matches:
FT DOMAIN 1 200 Foobar 1. FT DOMAIN 201 400 Foobar 2. FT METAL 87 87 Iron 1 (By similarity). FT METAL 118 118 Iron 1 (By similarity). FT METAL 118 118 Iron 2 (By similarity). FT METAL 180 180 Iron 2 (By similarity). FT METAL 287 287 Iron 3 (By similarity). FT METAL 318 318 Iron 3 (By similarity). FT METAL 318 318 Iron 4 (By similarity). FT METAL 380 380 Iron 4 (By similarity). |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The FT constraints line (also known as the FT Condition line)
gives constraints on the FT line immediately above it.
Format:
The Feature line is most often constrained by a pattern on the sequence (in cases where more complex rules are needed, the case statement (See section Case statement) should be used. Example:
|
The ‘pattern’ is specified in the PROSITE pattern format with the addition
that the character ‘*’ may be used to specify an unconstrained range, e.g. ‘C-x*-C’. The region of the sequence corresponding to the feature must exactly match this pattern.
For the consistency of annotation, multiple FT lines that should be applied either all together or not at all should be grouped within a ‘Group’, to constrain the common presence of all sites. This group can the be referenced by case statements, for instance in the relevant KW and CC lines that depend on the presence of the feature.
Example:
case <FTGroup:1> KW GTP-binding end case XX case <OC:Bacteria> FT From: IF2_ECOLI (P02995) FT DOMAIN 392 540 G-domain. FT Group: 1 FT NP_BIND 398 405 GTP (By similarity). FT Group: 1; Condition: G-H-V-D-H-G-K-T FT NP_BIND 444 448 GTP (By similarity). FT Group: 1; Condition: D-T-P-G-H FT NP_BIND 498 501 GTP (By similarity). FT Group: 1; Condition: N-K-[LIVCM]-D end case |
Note: One FT line can be part of several FTGroups. If at least one of those groups is complete, the FT line passes its FTGroup constraint (implicit OR).
Example:
FT DISULFID 25 31 By similarity. FT Group: 1; Group: 2; Condition: C-x*-C |
The ‘Optional’ label can be used to indicate that the absence of a feature should not be considered a trigger for warnings in annotation programs. It can only be present if a ‘Condition’ pattern is supplied.
Example:
FT BINDING 37 37 Phosphopantetheine (By similarity). FT Optional; Condition: S |
A ‘Tag’ name (or several) can be given to the feature (N.B. distinct features can have the same tag name) for easier use of case against specific features (with case <FTTag:tagname>) See section Case statement.
Example:
FT DISULFID 48 51 Redox-active (By similarity). FT Tag: disulf, redox; Condition: C-x*-C |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Computing section contrasts with the Annotation section
in that the line identifiers are no longer restricted to 2 letters. The
information starts in the line of the line identifier, the following lines
are indented by 1 space.
General format:
|
Not all line types are relevant to any data class (See section DC line).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specify a warning that should be generated when the rule is used for
automatic annotation. Most often used within a case statement to indicate
the occurrence of an inconsistency that cannot be solved by the rule,
or that some annotation should be completed manually by a curator.
The SAM module transfers the text of Warn lines into the ‘**HW’ section
of a UniProtKB/Swiss-Prot entry.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Range by which the bounds of a domain may be chopped in order to annotate
successive domains in an exactly consecutive manner. This line can only be used
by programs if the complete size of the domain can be annotated; generally it
will not be possible to use it with a pattern that covers only part of the
domain.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Size line indicates the size relevant to a protein family or motif.
For entries of the data class ‘Protein’, the minimal and maximal size of
proteins matching the rule are listed. For entries of the data class
‘Domain’, this line contains the size range of the complete domains
annotated in UniProtKB/Swiss-Prot. Members that are strongly divergent in size may be
excluded from the range. A size may be specified as ‘unlimited’.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lists UniRules that are known to be similar in sequence, and risk to produce cross-matches. If the string ‘!’ or ‘!!’ is appended to the name of a rule, it means that the rule listed in the Related line supersedes the current rule, i.e. matches to the current rule should be disregarded if a match with the listed rule is found: ‘!’ in an overlapping region; ‘!!’ anywhere on the protein.
The marker ‘!’ is particularly useful when two different rules exist for a
‘short’ and a ‘long’ version of the same protein (as occurs sometimes in HAMAP
families). ‘Long’ proteins will match both profiles; under these circumstances
the ‘longer’ UniRule should contain the ‘!’ marker to supersede the
shorter UniRule.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The observed number of repetitions of a domain or site in a UniProtKB/Swiss-Prot
entry. The number may be specified as ‘unlimited’.
Application:
Format:
The optional attribute ‘no keyword’ indicates that the presence of several copies of a rule of the type ‘Domain’ should not trigger the addition of the keyword ‘Repeat’ (See section The keyword Repeat). Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specifies the subcellular location(s) in which a domain or site may occur.
Application:
Formats:
Values for this topic are restricted to ‘Undefined’, ‘Cytoplasmic’ or ‘Not cytoplasmic’. Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lists accession number(s) of characterized proteins which were used to
build the UniRule (Note: indicative only). Uncharacterized protein families do not
necessarily have a template, this is noted as ‘Template: None;’. Note that
in many cases the propagated annotation is a subset of that found in the
characterized entries.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
One or more example entry targeted by the rule.
Application:
Format:
Examples:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lists the taxonomic classes in which a rule match may be found.
Application:
Format:
The kingdom line is indented by one space, while the subsequent lines are indented by two spaces. Example:
|
The taxonomic classification is composed of the kingdom, optionally followed by the name of a sub-taxon, to further limit the application of the UniRule to any taxonomic level. Valid values for kingdom are: ‘Eukaryota’, ‘Bacteria’, ‘Archaea’, ‘Viruses’, ‘Bacteriophage’, ‘Plastid’ and ‘Mitochondrion’. The two latter values designate proteins encoded in the organelle genome but not proteins encoded in the nucleus and targeted to the organelle.
If it has been assessed with certainty that a UniRule is not represented in:
Note: Plasmid is not defined as kingdom; there is a separate line
type (See section Plasmid line).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lists UniRules to which a given UniRule may be fused in some instances.
Application:
Format:
Protein may be either a UniRule accession followed by an identifiers between round brackets (e.g. ‘MF_00222 (aroE)’), or a designation between angle brackets (e.g. ‘<Thioredoxin domain>’) if no UniRule is available. Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lists the organisms for which the motif which triggers the rule is found in multiple copies.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lists the organisms for which the motif which triggers the rule is found encoded on a plasmid.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comments concerning the rule, which should be made visible to the public.
Application:
Format:
Example:
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Format:
case <condition>[ and|or [not] [defined] <condition>]… else case <condition>[ and|or [not] [defined] <condition>]… else end case |
The ‘case’ and ‘else case’ lines include conditions that must be met for the lines below it to be applied, until the next ‘else case’, ‘else’ or ‘end case’ statement. Condition lines (c! and c?, see below) do not break the latest case statement.
Note: It is not possible to use a ‘case’ statement within a ‘case’ statement, but it is possible to use the condition lines c! or c?.
Types of cases:
case <OG:Chloroplast> or <OC:Cyanobacteria> case not <OG:Chloroplast> and not <OG:Cyanelle> case <OC:Archaea> case <OC:Bacteria> case <OS:Staphylococcus aureus> |
Note for conditions on organism names (‘case <OS:taxon>’): the organism name matches also subspecies, i.e. organisms with the same name followed by a space and then any text. For example, ‘Staphylococcus aureus’ matches ‘Staphylococcus aureus RF122’, but ‘Salmonella typhi’ does not match ‘Salmonella typhimurium’.
case <FT:1> case <FT:1=A-x-x> |
Note: In the FT lines, this condition can only be used if the targeted FT is itself not in a FT[Group] case!
Note: The targeted feature number corresponds to its position/order in the FT block. Caution: FT lines in a FT[Group] case are also numbered according to their relative position in the FT lines, but the numbering starts at 1 + the number of FT element - not in a FT[Group] case (it is therefore simpler to put those FT elements at the bottom of FT lines)...
case <FTGroup:1> → true if all features in Group 1 were be propagated |
Note: In the FT lines, this condition can only be used if the targeted FTGroup is itself not in a FT[Group] case!
case <FTTag:phospho> → true if at least one feature with the ‘phosho’ tag was propagated |
case <Feature:PS50084> case <AnyFeature:PS50084> case <Feature:Transmembrane>2> → feature must be present over two times |
The operators ‘>’, ‘<’, ‘==’, ‘>=’, ‘<=’ are supported.
The difference between ‘Feature’ and ‘AnyFeature’ is as follows. ‘Feature’ only refers to the (rule) triggering feature + features that overlap (by at least 50%) with it. ‘AnyFeature’ refers to all features matching the sequence.
Those conditions refer to both selected and unselected features, except if an operator (>,<,==,>=,<=) is present: here only selected features will be examined. For example to test that there is no selected Signal_anchor feature (somewhere in the sequence), use:
case <AnyFeature:Signal_anchor<1> → selected feature must be absent |
Whereas without the operator, something like:
case not <AnyFeature:Signal_anchor> → feature must be absent (whether selected or not) |
case <Feature:PS50084:5=E> case <Feature:PS99999:10-13=N-{P}-[ST]-{P}> |
case <Triggered> |
case <Property:Membrane=2> case <Property:NITROGEN_FIXATION> case <Property:NODULATION> case not <Property:METHANOG> |
Note (HAMAP ’hack’): If Property:Membrane is unknown (and if organism corresponding proteome is complete) it will be considered equal to 1 (so case <Property:Membrane=1> and case <Property:Membrane> will be true).
case <IPRO:IPR000859> |
case <Length<256> case <Length>420> |
Note: ProRule hack! to ’play’ with domain coverage...
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UniRule conditions should be evaluated using ternary logic, where conditions evaluate to one of three values: true, false, or undef. Operators are defined as follows, consistently with their implementation in the Perl programming language. Note that certain rules are counterintuitive.
Binary operators: ‘and’ and ‘or’
i | j | i and j | i or j |
true | true | true | true |
true | false | false | true |
true | undef | undef | true |
false | true | false | true |
false | false | false | false |
false | undef | false | undef |
undef | true | undef | true |
undef | false | undef | false |
undef | undef | undef | undef |
Unary operators: ‘not’ and ‘defined’
i | not i | defined i |
true | false | true |
false | true | true |
undef | undef | false |
Operator associativity and precedence
The precedence order from highest to lowest and associativity are as follows.
associativity | operator |
right | defined |
right | not |
left | and |
left | or |
Example of application: if the number of membranes is known and equal to 2, then apply a given annotation item. Otherwise, apply a less specific annotation item.
case defined <Property:Membrane> and <Property:Membrane=2> CC -!- SUBCELLULAR LOCATION: Inner membrane-associated (By similarity). else CC -!- SUBCELLULAR LOCATION: Membrane-associated (By similarity). end case |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The condition line c! or c? contains additional constraints for the propagation of the line immediately below it. The format of this line is either:
c! condition c? condition |
where condition has the same syntax as in a case line, or, before a FT line, it can also include a PROSITE pattern expression.
Note: In FT lines, FT[Group] condition cannot be used (use case instead!).
The condition line differs from the case line in that
The condition of the c! line must be true, otherwise an error is expected. Tools using UniRules are recommended to produce an error message.
Example:
c! <Feature:PS00013> KW ATP-binding |
The condition of the c? line may be true or not, as the feature does not appear in all matches of the UniRule.
Example:
c? <Feature:PS99999:10-13=N-{P}-[ST]-{P}> and <OC:Eukaryota> FT CARBOHYD 10 13 N-linked (Potential). |
Exceptions: See section Hidden information.
Transition: Condition lines should get automatically replaced by c! lines, and some of them later by c? lines. Mandatory conditions for disulfides should be suppressed, optional ones replaced by c? lines.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UniRules strive to include all information relevant to a motif. However, to avoid repetition, we did not include the information below, which is implicitly ‘known’ by the automatic annotation pipeline tools.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The keyword Repeat is relevant to all rules of the data class Domain. This keyword applies when a domain or repeat is found at least twice in a protein. The corresponding part of the rule would be:
case <Feature:current_rule_accession_number>1> KW Repeat end case |
This behavior can be prevented by using the attribute ‘no keyword’ in the Repeats line (See section Repeats line).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
For features with the key DISULFID, the constraint that the From and To positions both need to be a cysteine is implicit. The corresponding line would be the second line of the following example:
FT DISULFID 4 23 By similarity. FT Condition: C-x*-C |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Introduction
UniAln is a format for protein sequence alignments that complement the UniRules collection. Some UniRules are developed based on predictors from specialized databases such as PROSITE. However, other UniRules are based on curated alignments that constitute the UniAln collection. That is the method used in the HAMAP annotation project.
Format
UniAln alignments are in a format similar to that produced by the CLUSTAL suite of programs. Each alignment is composed of:
The alignment is subject to the following constraints:
The alignment header line
The first line of the alignment must start with the string ‘CLUSTAL’ or ‘MUSCLE’ or ‘T_COFFEE’. The rest of the line is free-text, but special tags are recognized by programs. The tags may be repeated. Tags are:
indicate that a sequence in the alignment is a template for feature propagation in the UniRule that uses the alignment. It is mandatory to indicate template sequences in alignments to allow alignment-based feature propagation in UniRules.
indicate the method that should be used to generate a profile from the alignment. Allowed values for method are:
(default) A profile should be generated using ‘pfw’ and ‘pfmake’ from the PFTOOLS package. There is no need to indicate this method, as it is the default.
A Hidden Markov Model should be generated using ‘hmmbuild’ from the HMMER package and converted to a profile using ‘htop’ from the PFTOOLS package. Profiles generated with ‘pfmake’ are usually more sensitive than those generated with ‘hmmbuild’. In some cases this means that they are less discriminating. If it is observed that the default method causes false positives, it can be attempted to use the ‘hmmbuild’ method to see if it solves the problem. See HAMAP 2003 paper for a discussion.
In a few HAMAP families, ‘hmmbuild’ was able to avoid false positives and negatives, while ‘pfmake’ was not:
Example header lines:
CLUSTAL CLUSTAL W (1.83) multiple sequence alignment template=XYLA_ECOLI template=XYLA_ACTMI CLUSTAL W (1.83) multiple sequence alignment template=XYLA_ECOLI profile_method=hmmbuild MUSCLE (3.52) multiple sequence alignment |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Example of a ’Domain’ UniRule
AC PRU00241; DC Domain; TR PROSITE; PS50903; RUBREDOXIN_LIKE; 1; level=0 XX Names: Rubredoxin-like domain Function: It is involved in electron transfer processes. XX CC -!- SIMILARITY: Contains # rubredoxin-like domain. DR PROSITE; PS00202; RUBREDOXIN; 0-1; trigger=no case <FTGroup:1> GO GO:0009490; F:mononuclear iron electron carrier GO GO:0006810; P:transport GO GO:0006118; P:electron transport KW Transport KW Electron transport KW Metal-binding KW Iron end case XX FT From: PS50903 FT DOMAIN from to Rubredoxin-like #. FT METAL 6 6 Iron #1 (By similarity). FT Group: 1; Condition: C FT METAL 9 9 Iron #1 (By similarity). FT Group: 1; Condition: C FT METAL 38 38 Iron #1 (By similarity). FT Group: 1; Condition: C FT METAL 41 41 Iron #1 (By similarity). FT Group: 1; Condition: C XX Chop: Nter=0; Cter=0; Size: 34-54; Related: None; Repeats: 2; Topology: Cytoplasmic; Example: Q9V099; Scope: Bacteria Archaea // |
Example of a ’Protein’ UniRule
AC MF_00198; DC Protein; auto TR HAMAP; MF_00198; -; 1; level=0 XX ID SPEE case <OC:Bacteria> DE Spermidine synthase (EC 2.5.1.16) (Putrescine aminopropyltransferase) DE (PAPT) (SPDSY). end case case <OC:Archaea> DE Probable spermidine synthase (EC 2.5.1.16) (Putrescine DE aminopropyltransferase) (PAPT) (SPDSY). end case GN Name=speE; XX CC -!- FUNCTION: Catalyzes the production of spermidine from putrescine CC and decarboxylated S-adenosylmethionine (dcSAM), which serves as CC an aminopropyl donor (By similarity). CC -!- CATALYTIC ACTIVITY: S-adenosylmethioninamine + putrescine = 5'-S- CC methyl-5'-thioadenosine + spermidine. CC -!- PATHWAY: Amine and polyamine biosynthesis; spermidine CC biosynthesis; spermidine from putrescine: step 1/1. case <OC:Proteobacteria> CC -!- SUBUNIT: Homodimer (By similarity). else case <OC:Thermotogales> CC -!- SUBUNIT: Homotetramer (By similarity). else CC -!- SUBUNIT: Homodimer or homotetramer (By similarity). end case CC -!- SIMILARITY: Belongs to the spermidine/spermine synthase family. XX DR Pfam; PF01564; Spermine_synth; 1; trigger=no DR TIGRFAMs; TIGR00417; speE; 1; trigger=no DR PROSITE; PS01330; SPERMIDINE_SYNTHASE_1; 1; trigger=no DR PROSITE; PS51006; SPERMIDINE_SYNTHASE_2; 1; trigger=no XX KW Polyamine biosynthesis KW Spermidine biosynthesis KW Transferase XX GO GO:0004766; F:spermidine synthase activity GO GO:0008295; P:spermidine biosynthetic process XX FT From: SPEE_THEMA (Q9WZC2) FT REGION 152 153 S-adenosylmethioninamine binding (By FT similarity). FT Condition: [DN]-[AGV] FT BINDING 46 46 S-adenosylmethioninamine (By similarity). FT Condition: [QHNR] FT BINDING 101 101 S-adenosylmethioninamine (By similarity). FT Condition: [DE] FT BINDING 121 121 S-adenosylmethioninamine (By similarity). FT Condition: [ED] FT BINDING 170 170 S-adenosylmethioninamine (By similarity). FT Condition: D FT BINDING 173 173 Putrescine (By similarity). FT Condition: [DE] XX Size: 261-366; Related: None; Template: P09158; P70998; Q9WZC2; Q8U4G1; O25503; Scope: Bacteria not in AGRT5, ANASP, BACTN, BORBR, BORBU, BORPA, BORPE, BRAJA, BRUME, BRUSU, BUCBP, CAMJE, BLOFL, CAUCR, CHLCV, CHLMU, CHLPN, CHLTE, CHLTR, CORGL, COXBU, DEIRA, ENTFA, FUSNN, GLOVI, HAEDU, HAEIN, HELHP, LACLA, LACPL, LISIN, LISMO, MYCGA, MYCGE, MYCLE, MYCPE, MYCPN, MYCPU, PASMU, PORGI, PSEPK, RHILO, RHIME, RICCN, RICPR, STAAM, STAAN, STAAW, STAES, STRA3, STRA5, STRMU, STRP3, STRP8, STRP1, SYNEL, SYNY3, TREPA, TROW8, TROWT, UREPA, VIBCH, VIBPA, WIGBR Archaea not in HALSA, METAC, METKA, METMA, METTH Fusion: NT: <Unknown> CT: <Unknown> Duplicate: in AQUAE, BACAN, BACCR, LEPIN, PSEAE, RALSO, STRCO, THETN Plasmid: in RALSO Comments: None **In Buchnera sp. only speE and speD are present, neither the pathway from ornithine **nor the pathway from arginine are complete. // |
[Top] | [Contents] | [Index] | [ ? ] |
[Top] | [Contents] | [Index] | [ ? ] |
This document was generated using texi2html 1.82.
The buttons in the navigation panels have the following meaning:
Button | Name | Go to | From 1.2.3 go to |
---|---|---|---|
[ < ] | Back | Previous section in reading order | 1.2.2 |
[ > ] | Forward | Next section in reading order | 1.2.4 |
[ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
[ Up ] | Up | Up section | 1.2 |
[ >> ] | FastForward | Next chapter | 2 |
[Top] | Top | Cover (top) of document | |
[Contents] | Contents | Table of contents | |
[Index] | Index | Index | |
[ ? ] | About | About (help) |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure: