Package org.biojava.bio.molbio
Class RestrictionEnzyme
java.lang.Object
org.biojava.bio.molbio.RestrictionEnzyme
- All Implemented Interfaces:
Serializable
RestrictionEnzyme
represents a restriction enzyme
according to the REBASE standard. The cut positions are indicated
relative to the 5' end of the recognition site and occur downstream
of the given residue. Note that some enzymes cut in more than one
position and that cut positions may occur outside the recognition
site.- Since:
- 1.3
- Author:
- Keith James, George Waldon
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
BLUNT
the end type created by enzymes which leave a blunt end.static final int
CUT_COMPOUND
a cut type where the enzyme cuts in two positions relative to the recognition site.static final int
CUT_SIMPLE
a cut type where the enzyme cuts in one position relative to the recognition site.protected int
protected int[]
protected String
protected String
static final int
OVERHANG_3PRIME
the sticky end type created by enzymes which leave a 3' overhang (e.g. a stretch of single-stranded DNA with a free 3' end).static final int
OVERHANG_5PRIME
the sticky end type created by enzymes which leave a 5' overhang (e.g. a stretch of single-stranded DNA with a free 5' end).protected String
protected SymbolList
protected int[]
-
Constructor Summary
ConstructorsConstructorDescriptionRestrictionEnzyme
(String name, SymbolList site, int dsForward, int dsReverse) Creates a newRestrictionEnzyme
which cuts within or downstream of the recognition site.RestrictionEnzyme
(String name, SymbolList site, int usForward, int usReverse, int dsForward, int dsReverse) Creates a newRestrictionEnzyme
of the unusual type which cuts both upstream and downstream of its recognition site. -
Method Summary
Modifier and TypeMethodDescriptionboolean
double
The cutting size of a restriction enzyme is defined has the number of nucleotides that are directly involved in the recognition sequence.int
getCutType
returns the type of cut produced by the enzyme.int[]
getDownstreamCut
returns the cut site within or downstream of the recognition site.int
getDownstreamEndType
returns the double-stranded end type produced by the primary (intra-site or downstream) cut.getForwardRegex
returns a regular expression which matches the forward strand of the recognition site.getName()
getName
returns the enzyme name.The prototype is aRestrictionEnzyme
that represents a set of isoshizomers.getRecognitionSite
returns the forward strand of the recognition site.getReverseRegex
returns a regular expression which matches the reverse strand of the recognition site.int[]
getUpstreamCut
returns the cut site upstream of the recognition site.int
getUpstreamEndType
returns the double-stranded end type produced by the secondary (upstream) cut.int
hashCode()
boolean
isPalindromic
returns true if the recognition site is palindromic.boolean
void
setProtype
(RestrictionEnzyme proto) Set the prototype of thisRestrictionEnzyme
.toString()
-
Field Details
-
CUT_SIMPLE
CUT_SIMPLE
a cut type where the enzyme cuts in one position relative to the recognition site. This covers the vast majority of cases.- See Also:
-
CUT_COMPOUND
CUT_COMPOUND
a cut type where the enzyme cuts in two positions relative to the recognition site.- See Also:
-
OVERHANG_5PRIME
OVERHANG_5PRIME
the sticky end type created by enzymes which leave a 5' overhang (e.g. a stretch of single-stranded DNA with a free 5' end).- See Also:
-
OVERHANG_3PRIME
OVERHANG_3PRIME
the sticky end type created by enzymes which leave a 3' overhang (e.g. a stretch of single-stranded DNA with a free 3' end).- See Also:
-
BLUNT
BLUNT
the end type created by enzymes which leave a blunt end.- See Also:
-
name
-
site
-
cutType
-
dsCutPositions
-
usCutPositions
-
forwardRegex
-
reverseRegex
-
-
Constructor Details
-
RestrictionEnzyme
public RestrictionEnzyme(String name, SymbolList site, int dsForward, int dsReverse) throws IllegalAlphabetException Creates a newRestrictionEnzyme
which cuts within or downstream of the recognition site. The cut position indices are always in the same coordinate space as the recognition site.RestrictionEnzyme
s are immutable.- Parameters:
name
- aString
such as EcoRI.site
- aSymbolList
recognition site.dsForward
- anint
index in the forward strand (the strand conventionally written 5'-3') of the recognition site at which the cut occurs. The cut occurs between this base and the following one.dsReverse
- anint
index in the reverse strand (the strand conventionally written 3'-5') of the recognition site at which the cut occurs. The cut occurs between this base and the following one.- Throws:
IllegalAlphabetException
- if an error occurs.
-
RestrictionEnzyme
public RestrictionEnzyme(String name, SymbolList site, int usForward, int usReverse, int dsForward, int dsReverse) throws IllegalAlphabetException Creates a newRestrictionEnzyme
of the unusual type which cuts both upstream and downstream of its recognition site. The cut position indices are always in the same coordinate space as the recognition site.- Parameters:
name
- aString
such as Bsp24I.site
- aSymbolList
recognition site.usForward
- anint
index in the forward strand (the strand conventionally written 5'-3' upstream of the recognition site at which the cut occurs. The cut occurs between this base and the following one.usReverse
- anint
index in the reverse strand (the strand conventionally written 3'-5) upstream of the recognition site at which the cut occurs. The cut occurs between this base and the following one.dsForward
- anint
index in the forward strand (the strand conventionally written 5'-3') downstream of the recognition site at which the cut occurs. The cut occurs between this base and the following one.dsReverse
- anint
index in the reverse strand (the strand conventionally written 3'-5') downstream of the recognition site at which the cut occurs. The cut occurs between this base and the following one.- Throws:
IllegalAlphabetException
- if an error occurs.
-
-
Method Details
-
getName
getName
returns the enzyme name.- Returns:
- a
String
.
-
getRecognitionSite
getRecognitionSite
returns the forward strand of the recognition site.- Returns:
- a
SymbolList
.
-
getForwardRegex
getForwardRegex
returns a regular expression which matches the forward strand of the recognition site.- Returns:
- a
String
.
-
getReverseRegex
getReverseRegex
returns a regular expression which matches the reverse strand of the recognition site.- Returns:
- a
String
.
-
isPalindromic
isPalindromic
returns true if the recognition site is palindromic.- Returns:
- a
boolean
.
-
getCutType
getCutType
returns the type of cut produced by the enzyme. This will be one of either RestrictionEnzyme.CUT_SIMPLE (where it cuts in one position relative to the recognition site i.e. the vast majority of cases) or RestrictionEnzyme.CUT_COMPOUND (where it cuts in two positions).- Returns:
- an
int
.
-
getDownstreamCut
getDownstreamCut
returns the cut site within or downstream of the recognition site.- Returns:
- an
int []
array with the position in the 5'-strand at index 0 and the 3'-strand at index 1.
-
getUpstreamCut
getUpstreamCut
returns the cut site upstream of the recognition site.- Returns:
- an
int []
array with the position in the 5'-strand at index 0 and the 3'-strand at index 1. For example, Bsp24I will return -8 and -13: 5' ^NNNNNNNNGACNNNNNNTGGNNNNNNNNNNNN^ 3' 3' ^NNNNNNNNNNNNNCTGNNNNNNACCNNNNNNN^ 5' - Throws:
BioException
- if the enzyme does not cleave on both sides of its recognition site.
-
getDownstreamEndType
getDownstreamEndType
returns the double-stranded end type produced by the primary (intra-site or downstream) cut.- Returns:
- an
int
equal to one of the constant fields OVERHANG_5PRIME, OVERHANG_3PRIME or BLUNT.
-
getUpstreamEndType
getUpstreamEndType
returns the double-stranded end type produced by the secondary (upstream) cut.- Returns:
- an
int
equal to one of the constant fields OVERHANG_5PRIME, OVERHANG_3PRIME or BLUNT. - Throws:
BioException
- if the enzyme does not cleave on both sides of its recognition site.
-
setProtype
Set the prototype of thisRestrictionEnzyme
.- Parameters:
proto
- an isoschizomer of this enzyme.
-
getPrototype
The prototype is aRestrictionEnzyme
that represents a set of isoshizomers. The choice of the representative/prototype is arbitrary; there is one and only one prototype per set of isoschizomers.- Returns:
- A representative isoschisomer or null if prototypes are not defined.
-
isPrototype
-
getCuttingSize
The cutting size of a restriction enzyme is defined has the number of nucleotides that are directly involved in the recognition sequence. The size is ponderated as follow: 1 for a single nucleotide, 1/2 for a degeneracy of 2, 1/4 for a degeneracy of 3, and 0 for any N nucleotides. -
hashCode
-
equals
-
toString
-