Name¶
SWISS::DEs.pm
Description¶
SWISS::DEs represents the DE lines of a UniProt Knowledgebase (Swiss-Prot
+ TrEMBL) entry as specified in the user manual
http://www.expasy.org/sprot/userman.html.
The DEs object basically holds lists of DE objects, each of them representing a
protein name element. The "elements", "hasFragment",
"Includes" and "Contains" attributes/methods work as
follows :
DE RecName: Full=CAD protein;
DE Short=CAD;
DE AltName: Full=Protein rudimentary;
DE Includes:
DE RecName: Full=Glutamine-dependent carbamoyl-phosphate synthase;
DE EC=6.3.5.5;
DE Includes:
DE RecName: Full=Aspartate carbamoyltransferase;
DE EC=2.1.3.2;
DE Flags: Fragment;
-= Entry::DEs =-
elements (for each DE object, see SWISS::DE.pm documentation) :
toText: "CAD protein", "CAD", "Protein rudimentary"
category: "RecName", "RecName", "AltName"
type: "Full", "Short" "Full"
hasFragment : "Fragment"
Includes : ListBase of DEs (child1, child2)
Contains : empty ListBase
-= child1 =-
elements (for each DE object) :
toText: "Glutamine-dependent carbamoyl-
phosphate synthase", "6.3.5.5"
category: "RecName", "RecName",
type: "Full", "EC"
hasFragment : undef
-= child2 =-
elements (for each DE object) :
toText: "Aspartate carbamoyltransferase", "2.1.3.2"
category: "RecName", "RecName",
type: "Full", "EC"
hasFragment : undef
Note: the old unstructured DE format can still be used, and will be parsed the
same way into DE objects (but without setting their attributes 'category' and
'type'.
DE CAD protein (Protein rudimentary) [Includes: Glutamine-dependent
DE carbamoyl-phosphate synthase (EC 6.3.5.5); Aspartate
DE carbamoyltransferase (EC 2.1.3.2)] (Fragment).
Inherits from¶
SWISS::ListBase.pm
Attributes¶
- "text"
- The (raw) text of the DE line (without the 'DE ' line type
prefixes)
- "list"
- Array reference to the SWISS::DE objects containing the
different names for the entry. The first element of the list is the
recommended name. Note: use "elements" method (inherited from
ListBase) to get (and loop through) the array of DE objetcs.
- "Includes"
- "Contains"
- Each of these is a SWISS::ListBase object whose list
contains a SWISS::DEs object for each 'child' of the protein (i.e. peptide
or functional domain). See the UniProtKB user manual for an explanation.
It is possible to have both Includes and Contains in a single entry:
DE RecName: Full=Arginine biosynthesis bifunctional protein argJ;
DE Includes:
DE RecName: Full=Glutamate N-acetyltransferase;
DE EC=2.3.1.35;
DE AltName: Full=Ornithine acetyltransferase;
DE Short=OATase;
DE AltName: Full=Ornithine transacetylase;
DE Includes:
DE RecName: Full=Amino-acid acetyltransferase;
DE EC=2.3.1.1;
DE AltName: Full=N-acetylglutamate synthase;
DE Short=AGS;
DE RecName: Full=Arginine biosynthesis bifunctional protein argJ alpha chain;
DE Contains:
DE RecName: Full=Arginine biosynthesis bifunctional protein argJ beta chain;
- "hasFragment"
- Contains 'Fragment' or 'Fragments' (evaluates to true) if
the DE lines contain the 'Fragment(s)' indication (in 'Flags:' line with
the new DE line format), otherwise evaluates to false. Compare to the more
robust Entry::isFragment which also checks the FT lines for a NON_CONS or
NON_TER.
- "isPrecursor"
- Returns 1 if the flag 'Precursor' is present (undef if
not). Note: only with new DE line format.
Methods¶
Standard methods¶
- new
- fromText
- toText
With the new DE line format, each DE element can have distinct evidence tags,
which are stored in the DE object themself (see SWISS::DE.pm documentation).
The evidence tags for the 'Flags' line are stored in the parent DEs object
itself. With the old DE line format, since the DE line did not have a fixed
syntax in TrEMBL, it is impossible to reliably assign evidence tags separately
to the different elements of the DE lines. Therefore, the DE line can only be
evidence tagged as a whole, and the following methods have their prototype
defined in SWISS::BaseClass instead of the direct parent of SWISS::DEs,
SWISS::ListBase :
addEvidenceTag
deleteEvidenceTags
getEvidenceTags
getEvidenceTagsString
hasEvidenceTag
setEvidenceTags
example :
$evidenceTag = $entry->Stars->EV->addEvidence('P', 'DEfix', '-', 'v1.3');
# add global DE evtag if old DE line format, 'Flags' evtag if new format
$entry -> DEs -> addEvidenceTag($evidenceTag);