Name

SWISS::DE.pm


Description

Each DE object represents one protein name. The container object for all names of an entry is SWISS::DEs


Inherits from

SWISS::BaseClass


Attributes

text

The raw text of the protein name. Note: as SwissKnife works with both new and old DE line formats, for backward rcompatibility, with both formats everything is parsed and stored the same way as it was with the old format. Therefore the raw text for a name of type 'EC' e.g. 6.3.5.5 will be "EC 6.3.5.5" (instead of "6.3.5.5"). Other strings only present in old DE line text format ('precursor' flag and 'Allergen', 'antigen' strings) are also added in the stored raw text. The safe method to get the DE text is toText (with both the new and old DE line format), which for "EC=6.3.5.5" (new DE line format), will return "6.3.5.5" (DE object of 'EC' type). For "(EC 6.3.5.5)" (old DE line format), will return "EC 6.3.5.5"

category

The category of the protein name: 'RecName', 'AltName', 'SubName' (TrEMBL only)

 DE   RecName: Full=CAD protein;
 DE            Short=CAD;
 
 Here both names (DE objects), are of category 'RecName'

Category can be set/modified using category(string)

Note: with the old DE line format, this field is undef

type

The type of the protein name: 'Full', 'Short', 'EC' 'Allergen', 'CD_antigen', 'Biotech','INN'

 DE   RecName: Full=CAD protein;
 DE            Short=CAD;
 
 Here the first name (DE object), is of type 'Full', the second one 
 is of type 'Short'

Type can be set/modified using type(string)

Note: with the old DE line format, this field is undef

Standard methods

new
fromText
toText ($addParen)
 addParen : (meaningful only with old DE line format) if set to true, 
 the name will be surrounded by parentheses, but not the evidence 
 tags, e.g. : '(UMP SYNTHASE){E1}'.


Evidence Tags

Each protein name (DE object) can have independent evidence tags.

 DE   SubName: Full=Histone H3{EI1};
 DE            EC=3.4.21.9{EC3};
 DE   AltName: Full=Enterokinase{EC5};

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');
 $entry->DEs->head->addEvidenceTag($evidenceTag);
 
The easiest way to read the evidence tags of a protein name is to use 
c<getEvidenceTagsString> that will return the evidence tags as a string with 
the enclosing {} brackets. If there are no evidence tags, will return an empty 
string.