---
name: "TFBS::Matrix"
section: "3pm"
platform: "linux"
package: "libtfbs-perl"
version: "0.7.1+ds-4+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/TFBS::Matrix"
---

# TFBS::Matrix(3pm)

base class for matrix patterns, containing methods common to all

## NAME

TFBS::Matrix - base class for matrix patterns, containing methods common to all

## DESCRIPTION

TFBS::Matrix is a base class consisting of universal constructor called by its subclasses (TFBS::Matrix::\*), and matrix manipulation methods that are independent of the matrix type. It is not meant to be instantiated itself.

## FEEDBACK

Please send bug reports and other comments to the author.

## AUTHOR - Boris Lenhard

Boris Lenhard \<Boris.Lenhard@cgb.ki.se\> Modified by Eivind Valen eivind.valen@gmail.com

## APPENDIX

The rest of the documentation details each of the object methods. Internal methods are preceded with an underscore.

### matrix

```
 Title   : matrix
 Usage   : my $matrix = $pwm->matrix();
           $pwm->matrix( [ [12, 3, 0, 0, 4, 0],
                           [ 0, 0, 0,11, 7, 0],
                           [ 0, 9,12, 0, 0, 0],
                           [ 0, 0, 0, 1, 1,12]
                         ]);
 Function: get/set for the matrix data
 Returns : a reference to 2D array of integers(PFM) or floats (ICM, PWM)
 Args    : none for get;
           a four line string, reference to 2D array, or a 2D piddle for set
```

### pdl\_matrix

```
 Title   : pdl_matrix
 Usage   : my $pdl = $pwm->pdl_matrix();
 Function: access the PDL matrix used to store the actual
           matrix data directly
 Returns : a PDL object, aka a piddle
 Args    : none
```

### revcom

```
 Title   : revcom
 Usage   : my $revcom_pfm = $pfm->revcom();
 Function: create a matrix pattern object which is reverse complement
            of the current one
 Returns : a TFBS::Matrix::* object of the same type as the one
            the method acted upon
 Args    : none
```

### rawprint

```
 Title   : rawprint
 Usage   : my $rawstring = $pfm->rawprint);
 Function: convert matrix data to a simple tab-separated format
 Returns : a four-line string of tab-separated integers or floats
 Args    : none
```

### prettyprint

```
 Title   : prettyprint
 Usage   : my $prettystring = $pfm->prettyprint();
 Function: convert matrix data to a human-readable string format
 Returns : a four-line string with nucleotides and aligned numbers
 Args    : none
```

### STAMPprint

```
 Title   : STAMPprint
 Usage   : my $STAMPstring = $pfm->STAMPprint();
 Function: Convert the matrix to STAMP readable format
 Returns : A string of the matrix in a TRANSFAC like format for STAMP
 Args    : none
```

### length

```
 Title   : length
 Usage   : my $pattern_length = $pfm->length;
 Function: gets the pattern length in nucleotides
            (i.e. number of columns in the matrix)
 Returns : an integer
 Args    : none
```

### randomize\_columns

```
 Title   : randomize_columns
 Usage   : $pfm->randomize_columns();
 Function: Randomizes the columns of a matrix (in place).
 Returns : Nothing
 Args    : none
```
