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 intBLUNTthe end type created by enzymes which leave a blunt end.static final intCUT_COMPOUNDa cut type where the enzyme cuts in two positions relative to the recognition site.static final intCUT_SIMPLEa cut type where the enzyme cuts in one position relative to the recognition site.protected intprotected int[]protected Stringprotected Stringstatic final intOVERHANG_3PRIMEthe 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 intOVERHANG_5PRIMEthe 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 Stringprotected SymbolListprotected int[] -
Constructor Summary
ConstructorsConstructorDescriptionRestrictionEnzyme(String name, SymbolList site, int dsForward, int dsReverse) Creates a newRestrictionEnzymewhich cuts within or downstream of the recognition site.RestrictionEnzyme(String name, SymbolList site, int usForward, int usReverse, int dsForward, int dsReverse) Creates a newRestrictionEnzymeof the unusual type which cuts both upstream and downstream of its recognition site. -
Method Summary
Modifier and TypeMethodDescriptionbooleandoubleThe cutting size of a restriction enzyme is defined has the number of nucleotides that are directly involved in the recognition sequence.intgetCutTypereturns the type of cut produced by the enzyme.int[]getDownstreamCutreturns the cut site within or downstream of the recognition site.intgetDownstreamEndTypereturns the double-stranded end type produced by the primary (intra-site or downstream) cut.getForwardRegexreturns a regular expression which matches the forward strand of the recognition site.getName()getNamereturns the enzyme name.The prototype is aRestrictionEnzymethat represents a set of isoshizomers.getRecognitionSitereturns the forward strand of the recognition site.getReverseRegexreturns a regular expression which matches the reverse strand of the recognition site.int[]getUpstreamCutreturns the cut site upstream of the recognition site.intgetUpstreamEndTypereturns the double-stranded end type produced by the secondary (upstream) cut.inthashCode()booleanisPalindromicreturns true if the recognition site is palindromic.booleanvoidsetProtype(RestrictionEnzyme proto) Set the prototype of thisRestrictionEnzyme.toString()
-
Field Details
-
CUT_SIMPLE
CUT_SIMPLEa 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_COMPOUNDa cut type where the enzyme cuts in two positions relative to the recognition site.- See Also:
-
OVERHANG_5PRIME
OVERHANG_5PRIMEthe 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_3PRIMEthe 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
BLUNTthe 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 newRestrictionEnzymewhich cuts within or downstream of the recognition site. The cut position indices are always in the same coordinate space as the recognition site.RestrictionEnzymes are immutable.- Parameters:
name- aStringsuch as EcoRI.site- aSymbolListrecognition site.dsForward- anintindex 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- anintindex 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 newRestrictionEnzymeof 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- aStringsuch as Bsp24I.site- aSymbolListrecognition site.usForward- anintindex 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- anintindex 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- anintindex 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- anintindex 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
getNamereturns the enzyme name.- Returns:
- a
String.
-
getRecognitionSite
getRecognitionSitereturns the forward strand of the recognition site.- Returns:
- a
SymbolList.
-
getForwardRegex
getForwardRegexreturns a regular expression which matches the forward strand of the recognition site.- Returns:
- a
String.
-
getReverseRegex
getReverseRegexreturns a regular expression which matches the reverse strand of the recognition site.- Returns:
- a
String.
-
isPalindromic
isPalindromicreturns true if the recognition site is palindromic.- Returns:
- a
boolean.
-
getCutType
getCutTypereturns 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
getDownstreamCutreturns 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
getUpstreamCutreturns 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
getDownstreamEndTypereturns the double-stranded end type produced by the primary (intra-site or downstream) cut.- Returns:
- an
intequal to one of the constant fields OVERHANG_5PRIME, OVERHANG_3PRIME or BLUNT.
-
getUpstreamEndType
getUpstreamEndTypereturns the double-stranded end type produced by the secondary (upstream) cut.- Returns:
- an
intequal 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 aRestrictionEnzymethat 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
-