DOKK / manpages / debian 12 / libswiss-perl / SWISS::DE.3pm.en
SWISS::DE(3pm) User Contributed Perl Documentation SWISS::DE(3pm)

SWISS::DE.pm

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

SWISS::BaseClass

"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

 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}'.
    

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.

Hey! The above document had some coding errors, which are explained below:

=back doesn't take any parameters, but you said =back =head1 Methods
2021-08-15 perl v5.32.1