Name

SWISS::DRs


Description

SWISS::DRs represents the DR (database crossreference) lines within an SWISS-PROT + TrEMBL entry as specified in the user manual http://www.expasy.org/sprot/userman.html .


Inherits from

SWISS::ListBase.pm


Attributes

list

An array of arrays. Each element is an array (Database_identifier, primary_key, secondary_key[,further elements]).


Methods

Standard methods

new
fromText
toText
sort

Reading methods

emblacs

Returns a list of all EMBL accession numbers. These are the primary keys of EMBL crossreferences.

pids [$dropVersion]

Returns a list of all PIDs. These are the secondary keys of EMBL crossreferences.

ATTENTION: The EMBL protein identifiers introduced in 1999 are of the form xxxxx.yy, e.g. CAA33128.1 If $dropVersion is set, the version number (.yy) will be dropped from each PID.

Example:

If the EMBL DR line is

DR EMBL; L37685; AAC41668.1; -.

pids(1) will only return AAC41668, NOT AAC41668.1

Writing methods

deleteUnlessEvidenceCategories $evidenceCategories, @patterns

Like del, but deletes an item only if the item has no evidence tags, or if the evidence tags are not in one of the categories given in $evidenceCategories.

Example:

$entry->DRs->deleteUnlessEvidenceCategories('CA', 'FlyBase')

will only delete Flybase DR lines which do not have the evidence category 'A' or 'C'.

Filter functions

dbName($dbTargetName)

True if the first element of a DR line (the DB name) matches $dbTargetName. $dbTargetName has to match in full, not only a partial match.

notDbName($dbTargetName)

True if the first element of a DR line (the DB name) does NOT macht $dbTargetName.

** lines (SWISS-PROT internal format)

Each DR line may be followed by a ** line like

 **   DR   PROSITE; PS12345; XXX_PAT; FALSE_POS_1

 These will be stored internally as DR lines with the DB identifier 
 '_HIDDEN_'. Therefore adding a ** PROSITE line is done as:

 $entry->DRs->add(['_HIDDEN_', 'PS12345', 'XXX_PAT', 'FALSE_POS_1']);