---
name: "SWISS::DRs"
section: "3pm"
platform: "linux"
package: "libswiss-perl"
version: "1.80-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SWISS::DRs"
---

# SWISS::DRs(3pm)

## 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

### 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']);
```
