Documentation

RestrictionEnzymeManager implements RestrictionEnzymeInterface

Class RestrictionEnzymeManager - substances that can "cut" a DNA strand into two or more fragments along special sites called restriction sites. They are an important tool in recombinant DNA technology.

Tags
author

Amélie DUVERNET aka Amelaye amelieonline@gmail.com

Table of Contents

Interfaces

RestrictionEnzymeInterface
Interface RestrictionEnzymeInterface - substances that can "cut" a DNA strand into two or more fragments along special sites called restriction sites. They are an important tool in recombinant DNA technology.

Properties

$aRestEnzimDB  : array<string|int, mixed>
$bCustomEnzyme  : bool
True when the current enzyme was described by parseEnzyme(..., "custom") rather than read from the reference data
$enzyme  : Enzyme
$sequenceManager  : SequenceInterface|null

Methods

__construct()  : mixed
RestrictionEnzymeManager constructor.
cutSeq()  : array<string|int, mixed>
Cuts a DNA sequence into fragments using the restriction enzyme object.
findRestEn()  : array<string|int, mixed>
A powerful method for searching our database of endonucleases for a particular restriction enzyme exhibiting certain properties like pattern, cutting position, and length, or combinations thereof.
getCutPos()  : int
Returns the cutting position of the restriction enzyme object.
getEnzyme()  : Enzyme
getLength()  : int
Returns the length of the cutting pattern of the restriction enzyme object.
getPattern()  : string
Returns the pattern associated with a given restriction endonuclease.
parseEnzyme()  : mixed
It creates a new Enzyme object and initializes its properties accordingly.
setEnzyme()  : mixed
Sets a new enzyme element
setSequenceManager()  : mixed
Sets a sequence object
fetchCutpos()  : array<string|int, mixed>
fetchCutposAndPlen()  : array<string|int, mixed>
fetchLength()  : array<string|int, mixed>
fetchPatternAndCutpos()  : array<string|int, mixed>
fetchPatternOnly()  : array<string|int, mixed>
findCutPositions()  : array<string|int, int>
Returns the zero-based positions, in ascending order and each listed once, at which the enzyme cuts the upper strand of a linear sequence. A site found on the other strand is cut at the same offset from its start : every Type II entry places its two cuts symmetrically within its site (length = 2 x upper cut + lower cut offset), so the upper-strand cut of a reversed site stays at that offset. A custom enzyme is only searched on the strand its site is written for (see parseEnzyme()). A cut at either end of the sequence splits nothing and is dropped.
patternLength()  : int
Returns the length of the site a pattern stands for, the alternatives of a "SITE1 or SITE2" pattern having the same length.
sitesOf()  : array<string|int, string>
Returns every site an enzyme pattern stands for, upper-cased : each alternative of a pattern written "SITE1 or SITE2" (AciI, BbvCI, BssSI), and the reverse complement of each, since the enzyme binds double-stranded DNA and a non-palindromic site (AccBSI, CCGCTC) also lies on the other strand (GAGCGG). A palindromic site is its own reverse complement and is listed once.

Properties

$bCustomEnzyme

True when the current enzyme was described by parseEnzyme(..., "custom") rather than read from the reference data

private bool $bCustomEnzyme = false

Methods

cutSeq()

Cuts a DNA sequence into fragments using the restriction enzyme object.

public cutSeq([string $options = "N" ]) : array<string|int, mixed>

Sites are searched on both strands, a degenerate (IUPAC) site is matched by every sequence it stands for, and each upper-strand cut position splits the sequence once, however many sites or alternatives lead to it.

Parameters
$options : string = "N"

May be "N" or "O". If "N", sites overlapping a site already found are ignored. If "O", overlapping sites are cut as well. If omitted, this defaults to "N".

Tags
throws
InvalidArgumentException

When $options is neither "N" nor "O"

Return values
array<string|int, mixed> —

The fragments, in sequence order : the whole sequence when it holds no site

findRestEn()

A powerful method for searching our database of endonucleases for a particular restriction enzyme exhibiting certain properties like pattern, cutting position, and length, or combinations thereof.

public findRestEn([string $sPattern = null ][, int $iCutpos = null ][, int $iPlen = null ]) : array<string|int, mixed>

5 Cases: pattern only, cutpos only, patternlength only, pattern and cutpos, cutpos and patternlength

Parameters
$sPattern : string = null

The pattern of the restriction enzyme we wish to look for.

$iCutpos : int = null

The cutting position of the restriction enzyme we wish to look for.

$iPlen : int = null

The length of the restriction enzyme we wish to look for.

Tags
throws
Exception
Return values
array<string|int, mixed> —

A list of restriction enyzmes that meet the criteria specified by the $pattern, $cutpos, and $plen parameters.

getCutPos()

Returns the cutting position of the restriction enzyme object.

public getCutPos(string $RestEn_Name) : int
Parameters
$RestEn_Name : string
Return values
int —

Returns the cutting position (an integer) of the restriction enzyme object.

getLength()

Returns the length of the cutting pattern of the restriction enzyme object.

public getLength([string $RestEn_Name = "" ]) : int
Parameters
$RestEn_Name : string = ""
Return values
int —

The length (integer) of the restriction pattern recognized by the enzyme.

getPattern()

Returns the pattern associated with a given restriction endonuclease.

public getPattern(string $RestEn_Name) : string
Parameters
$RestEn_Name : string
Return values
string —

The sequence pattern (string) recognized by the given restriction enzyme.

parseEnzyme()

It creates a new Enzyme object and initializes its properties accordingly.

public parseEnzyme(string $sName[, string $sPattern = null ][, string $sCutpos = null ][, string $sMake = "custom" ]) : mixed

If passed with make = 'custom', object will be added to aRestEnzimDB. If not, the function will attemp to retrieve data from aRestEnzimDB. If unsuccessful in retrieving data, it will return an error flag. An enzyme is described here by its upper-strand cut only. A reference entry places its two cuts symmetrically within its site, so its site read on the other strand is cut at the same offset. A custom enzyme may not (a Type IIS one such as BsaI cuts outside an asymmetric site), and nothing tells where its lower-strand cut lies : its site is only searched as written.

Parameters
$sName : string
$sPattern : string = null
$sCutpos : string = null
$sMake : string = "custom"
Tags
throws
Exception

fetchCutpos()

private fetchCutpos(string|int $sCutpos) : array<string|int, mixed>
Parameters
$sCutpos : string|int
Tags
throws
Exception
Return values
array<string|int, mixed>

fetchCutposAndPlen()

private fetchCutposAndPlen(int $iCutpos, int $iPlen) : array<string|int, mixed>
Parameters
$iCutpos : int
$iPlen : int
Return values
array<string|int, mixed>

fetchLength()

private fetchLength(int $iPlen) : array<string|int, mixed>
Parameters
$iPlen : int
Return values
array<string|int, mixed>

fetchPatternAndCutpos()

private fetchPatternAndCutpos(string $sPattern, int $iCutpos) : array<string|int, mixed>
Parameters
$sPattern : string
$iCutpos : int
Return values
array<string|int, mixed>

fetchPatternOnly()

private fetchPatternOnly(string $sPattern) : array<string|int, mixed>
Parameters
$sPattern : string
Return values
array<string|int, mixed>

findCutPositions()

Returns the zero-based positions, in ascending order and each listed once, at which the enzyme cuts the upper strand of a linear sequence. A site found on the other strand is cut at the same offset from its start : every Type II entry places its two cuts symmetrically within its site (length = 2 x upper cut + lower cut offset), so the upper-strand cut of a reversed site stays at that offset. A custom enzyme is only searched on the strand its site is written for (see parseEnzyme()). A cut at either end of the sequence splits nothing and is dropped.

private findCutPositions(string $sSequence, bool $bOverlapping) : array<string|int, int>
Parameters
$sSequence : string
$bOverlapping : bool

True to also find sites overlapping one another

Return values
array<string|int, int>

patternLength()

Returns the length of the site a pattern stands for, the alternatives of a "SITE1 or SITE2" pattern having the same length.

private patternLength(string $sPattern) : int
Parameters
$sPattern : string
Return values
int

sitesOf()

Returns every site an enzyme pattern stands for, upper-cased : each alternative of a pattern written "SITE1 or SITE2" (AciI, BbvCI, BssSI), and the reverse complement of each, since the enzyme binds double-stranded DNA and a non-palindromic site (AccBSI, CCGCTC) also lies on the other strand (GAGCGG). A palindromic site is its own reverse complement and is listed once.

private sitesOf(string $sPattern[, bool $bBothStrands = true ]) : array<string|int, string>
Parameters
$sPattern : string
$bBothStrands : bool = true

False to list the sites as written only

Return values
array<string|int, string>
On this page

Search results