1Bio::Restriction::EnzymUes(e3r)Contributed Perl DocumentBaitoi:o:nRestriction::Enzyme(3)
2
3
4

NAME

6       Bio::Restriction::Enzyme - A single restriction endonuclease (cuts DNA
7       at specific locations)
8

SYNOPSIS

10         # set up a single restriction enzyme. This contains lots of
11         # information about the enzyme that is generally parsed from a
12         # rebase file and can then be read back
13
14         use Bio::Restriction::Enzyme;
15
16         # define a new enzyme with the cut sequence
17         my $re=Bio::Restriction::Enzyme->new
18             (-enzyme=>'EcoRI', -seq=>'G^AATTC');
19
20         # once the sequence has been defined a bunch of stuff is calculated
21         # for you:
22
23         #### PRECALCULATED
24
25         # find where the enzyme cuts after ...
26         my $ca=$re->cut;
27
28         # ... and where it cuts on the opposite strand
29         my $oca = $re->complementary_cut;
30
31         # get the cut sequence string back.
32         # Note that site will return the sequence with a caret
33         my $with_caret=$re->site; #returns 'G^AATTC';
34
35         # but it is also a Bio::PrimarySeq object ....
36         my $without_caret=$re->seq; # returns 'GAATTC';
37         # ... and so does string
38         $without_caret=$re->string; #returns 'GAATTC';
39
40         # what is the reverse complement of the cut site
41         my $rc=$re->revcom; # returns 'GAATTC';
42
43         # now the recognition length. There are two types:
44         #   recognition_length() is the length of the sequence
45         #   cutter() estimate of cut frequency
46
47         my $recog_length = $re->recognition_length; # returns 6
48         # also returns 6 in this case but would return
49         # 4 for GANNTC and 5 for RGATCY (BstX2I)!
50         $recog_length=$re->cutter;
51
52         # is the sequence a palindrome  - the same forwards and backwards
53         my $pal= $re->palindromic; # this is a boolean
54
55         # is the sequence blunt (i.e. no overhang - the forward and reverse
56         # cuts are the same)
57         print "blunt\n" if $re->overhang eq 'blunt';
58
59         # Overhang can have three values: "5'", "3'", "blunt", and undef
60         # Direction is very important if you use Klenow!
61         my $oh=$re->overhang;
62
63         # what is the overhang sequence
64         my $ohseq=$re->overhang_seq; # will return 'AATT';
65
66         # is the sequence ambiguous - does it contain non-GATC bases?
67         my $ambig=$re->is_ambiguous; # this is boolean
68
69         print "Stuff about the enzyme\nCuts after: $ca\n",
70               "Complementary cut: $oca\nSite:\n\t$with_caret or\n",
71               "\t$without_caret\n";
72         print "Reverse of the sequence: $rc\nRecognition length: $recog_length\n",
73               "Is it palindromic? $pal\n";
74         print "The overhang is $oh with sequence $ohseq\n",
75               "And is it ambiguous? $ambig\n\n";
76
77
78         ### THINGS YOU CAN SET, and get from rich REBASE file
79
80         # get or set the isoschizomers (enzymes that recognize the same
81         # site)
82         $re->isoschizomers('PvuII', 'SmaI'); # not really true :)
83         print "Isoschizomers are ", join " ", $re->isoschizomers, "\n";
84
85         # get or set the methylation sites
86         $re->methylation_sites(2); # not really true :)
87         print "Methylated at ", join " ", keys %{$re->methylation_sites},"\n";
88
89         #Get or set the source microbe
90         $re->microbe('E. coli');
91         print "It came from ", $re->microbe, "\n";
92
93         # get or set the person who isolated it
94         $re->source("Rob"); # not really true :)
95         print $re->source, " sent it to us\n";
96
97         # get or set whether it is commercially available and the company
98         # that it can be bought at
99         $re->vendors('NEB'); # my favorite
100         print "Is it commercially available :";
101         print $re->vendors ? "Yes" : "No";
102         print " and it can be got from ", join " ",
103             $re->vendors, "\n";
104
105         # get or set a reference for this
106         $re->reference('Edwards et al. J. Bacteriology');
107         print "It was not published in ", $re->reference, "\n";
108
109         # get or set the enzyme name
110         $re->name('BamHI');
111         print "The name of EcoRI is not really ", $re->name, "\n";
112

DESCRIPTION

114       This module defines a single restriction endonuclease.  You can use it
115       to make custom restriction enzymes, and it is used by
116       Bio::Restriction::IO to define enzymes in the New England Biolabs
117       REBASE collection.
118
119       Use Bio::Restriction::Analysis to figure out which enzymes are
120       available and where they cut your sequence.
121

RESTRICTION MODIFICATION SYSTEMS

123       At least three geneticaly and biochamically distinct restriction
124       modification systems exist. The cutting components of them are known as
125       restriction endonuleases.  The three systems are known by roman
126       numerals: Type I, II, and III restriction enzymes.
127
128       REBASE format 'cutzymes'(#15) lists enzyme type in its last field. The
129       categories there do not always match the the following short
130       descriptions of the enzymes types. See
131       http://it.stlawu.edu/~tbudd/rmsyst.html for a better overview.
132
133   TypeI
134       Type I systems recognize a bipartite asymetrical sequence of 5-7 bp:
135
136         ---TGA*NnTGCT--- * = methylation sites
137         ---ACTNnA*CGA--- n = 6 for EcoK, n = 8 for EcoB
138
139       The cleavage site is roughly 1000 (400-7000) base pairs from the
140       recognition site.
141
142   TypeII
143       The simplest and most common (at least commercially).
144
145       Site recognition is via short palindromic base sequences that are 4-6
146       base pairs long. Cleavage is at the recognition site (but may
147       occasionally be just adjacent to the palindromic sequence, usually
148       within) and may produce blunt end termini or staggered, "sticky end"
149       termini.
150
151   TypeIII
152       The recognition site is a 5-7 bp asymmetrical sequence. Cleavage is ATP
153       dependent 24-26 base pairs downstream from the recognition site and
154       usually yields staggered cuts 2-4 bases apart.
155

COMMENTS

157       I am trying to make this backwards compatible with
158       Bio::Tools::RestrictionEnzyme.  Undoubtedly some things will break, but
159       we can fix things as we progress.....!
160
161       I have added another comments section at the end of this POD that
162       discusses a couple of areas I know are broken (at the moment)
163

TO DO

165       · Convert vendors touse full names of companies instead of code
166
167       · Add regular expression based matching to vendors
168
169       · Move away from the archaic ^ notation for cut sites. Ideally I'd
170         totally like to remove this altogether, or add a method that adds it
171         in if someone really wants it. We should be fixed on a sequence,
172         number notation.
173

FEEDBACK

175   Mailing Lists
176       User feedback is an integral part of the evolution of this and other
177       Bioperl modules. Send your comments and suggestions preferably to one
178       of the Bioperl mailing lists. Your participation is much appreciated.
179
180         bioperl-l@bioperl.org                  - General discussion
181         http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
182
183   Support
184       Please direct usage questions or support issues to the mailing list:
185
186       bioperl-l@bioperl.org
187
188       rather than to the module maintainer directly. Many experienced and
189       reponsive experts will be able look at the problem and quickly address
190       it. Please include a thorough description of the problem with code and
191       data examples if at all possible.
192
193   Reporting Bugs
194       Report bugs to the Bioperl bug tracking system to help us keep track
195       the bugs and their resolution. Bug reports can be submitted via the
196       web:
197
198         http://bugzilla.open-bio.org/
199

AUTHOR

201       Rob Edwards, redwards@utmem.edu
202

CONTRIBUTORS

204       Heikki Lehvaslaiho, heikki-at-bioperl-dot-org Peter Blaiklock,
205       pblaiklo@restrictionmapper.org Mark A. Jensen, maj-at-fortinbras-dot-us
206
208       Copyright (c) 2003 Rob Edwards.
209
210       Some of this work is Copyright (c) 1997-2002 Steve A. Chervitz. All
211       Rights Reserved.  This module is free software; you can redistribute it
212       and/or modify it under the same terms as Perl itself.
213

SEE ALSO

215       Bio::Restriction::Analysis, Bio::Restriction::EnzymeCollection,
216       Bio::Restriction::IO
217

APPENDIX

219       Methods beginning with a leading underscore are considered private and
220       are intended for internal use by this module. They are not considered
221       part of the public interface and are described here for documentation
222       purposes only.
223
224   new
225        Title     : new
226        Function
227        Function  : Initializes the Enzyme object
228        Returns   : The Restriction::Enzyme object
229        Argument  : A standard definition can have several formats. For example:
230                    $re->new(-enzyme='EcoRI', -seq->'GAATTC' -cut->'1')
231                    Or, you can define the cut site in the sequence, for example
232                    $re->new(-enzyme='EcoRI', -seq->'G^AATTC'), but you must use a caret
233                    Or, a sequence can cut outside the recognition site, for example
234                    $re->new(-enzyme='AbeI', -seq->'CCTCAGC' -cut->'-5/-2')
235
236                    Other arguments:
237                    -isoschizomers=>\@list  a reference to an array of
238                     known isoschizomers
239                    -references=>$ref a reference to the enzyme
240                    -source=>$source the source (person) of the enzyme
241                    -commercial_availability=>@companies a list of companies
242                     that supply the enzyme
243                    -methylation_site=>\%sites a reference to hash that has
244                     the position as the key and the type of methylation
245                     as the value
246                    -xln_sub => sub { ($self,$cut) = @_; ...; return $xln_cut },
247                     a coderef to a routine that translates the input cut value
248                     into Bio::Restriction::Enzyme coordinates
249                     ( e.g., for withrefm format, this might be
250                      -xln_sub => sub { length( shift()->string ) + shift } )
251
252       A Restriction::Enzyme object manages its recognition sequence as a
253       Bio::PrimarySeq object.
254
255       The minimum requirement is for a name and a sequence.
256
257       This will create the restriction enzyme object, and define several
258       things about the sequence, such as palindromic, size, etc.
259

Essential methods

261   name
262        Title    : name
263        Usage    : $re->name($newval)
264        Function : Gets/Sets the restriction enzyme name
265        Example  : $re->name('EcoRI')
266        Returns  : value of name
267        Args     : newvalue (optional)
268
269       This will also clean up the name. I have added this because some people
270       get confused about restriction enzyme names.  The name should be One
271       upper case letter, and two lower case letters (because it is derived
272       from the organism name, eg.  EcoRI is from E. coli). After that it is
273       all confused, but the numbers should be roman numbers not numbers,
274       therefore we'll correct those. At least this will provide some
275       standard, I hope.
276
277   site
278        Title     : site
279        Usage     : $re->site();
280        Function  : Gets/sets the recognition sequence for the enzyme.
281        Example   : $seq_string = $re->site();
282        Returns   : String containing recognition sequence indicating
283                  : cleavage site as in  'G^AATTC'.
284        Argument  : n/a
285        Throws    : n/a
286
287       Side effect: the sequence is always converted to upper case.
288
289       The cut site can also be set by using methods cut and
290       complementary_cut.
291
292       This will pad out missing sequence with N's. For example the enzyme
293       Acc36I cuts at ACCTGC(4/8). This will be returned as ACCTGCNNNN^
294
295       Note that the common notation ACCTGC(4/8) means that the forward strand
296       cut is four nucleotides after the END of the recognition site. The
297       forward cut() in the coordinates used here in Acc36I ACCTGC(4/8) is at
298       6+4 i.e. 10.
299
300       ** This is the main setable method for the recognition site.
301
302   revcom_site
303        Title     : revcom_site
304        Usage     : $re->revcom_site();
305        Function  : Gets/sets the complementary recognition sequence for the enzyme.
306        Example   : $seq_string = $re->revcom_site();
307        Returns   : String containing recognition sequence indicating
308                  : cleavage site as in  'G^AATTC'.
309        Argument  : none (sets on first call)
310        Throws    : n/a
311
312       This is the same as site, except it returns the revcom site. For
313       palindromic enzymes these two are identical. For non-palindromic
314       enzymes they are not!
315
316       On set, this also handles setting the revcom_recog attribute.
317
318       See also site above.
319
320   cut
321        Title     : cut
322        Usage     : $num = $re->cut(1);
323        Function  : Sets/gets an integer indicating the position of cleavage
324                    relative to the 5' end of the recognition sequence in the
325                    forward strand.
326
327                    For type II enzymes, sets the symmetrically positioned
328                    reverse strand cut site by calling complementary_cut().
329
330        Returns   : Integer, 0 if not set
331        Argument  : an integer for the forward strand cut site (optional)
332
333       Note that the common notation ACCTGC(4/8) means that the forward strand
334       cut is four nucleotides after the END of the recognition site. The
335       forwad cut in the coordinates used here in Acc36I ACCTGC(4/8) is at 6+4
336       i.e. 10.
337
338       Note that REBASE uses notation where cuts within symmetic sites are
339       marked by '^' within the forward sequence but if the site is asymmetric
340       the parenthesis syntax is used where numbering ALWAYS starts from last
341       nucleotide in the forward strand. That's why AciI has a site usually
342       written as CCGC(-3/-1) actualy cuts in
343
344         C^C G C
345         G G C^G
346
347       In our notation, these locations are 1 and 3.
348
349       The cuts locations in the notation used are relative to the first (non-
350       N) nucleotide of the reported forward strand of the recognition
351       sequence. The following diagram numbers the phosphodiester bonds
352       (marked by + ) which can be cut by the restriction enzymes:
353
354                                  1   2   3   4   5   6   7   8  ...
355            N + N + N + N + N + G + A + C + T + G + G + N + N + N
356         ... -5  -4  -3  -2  -1
357
358   cuts_after
359        Title     : cuts_after
360        Usage     : Alias for cut()
361
362   complementary_cut
363        Title     : complementary_cut
364        Usage     : $num = $re->complementary_cut('1');
365        Function  : Sets/Gets an integer indicating the position of cleavage
366                  : on the reverse strand of the restriction site.
367        Returns   : Integer
368        Argument  : An integer (optional)
369        Throws    : Exception if argument is non-numeric.
370
371       This method determines the cut on the reverse strand of the sequence.
372       For most enzymes this will be within the sequence, and will be set
373       automatically based on the forward strand cut, but it need not be.
374
375       Note that the returned location indicates the location AFTER the first
376       non-N site nucleotide in the FORWARD strand.
377

Read only (usually) recognition site descriptive methods

379   type
380        Title     : type
381        Usage     : $re->type();
382        Function  : Get/set the restriction system type
383        Returns   :
384        Argument  : optional type: ('I'|II|III)
385
386       Restriction enzymes have been catezorized into three types. Some REBASE
387       formats give the type, but the following rules can be used to classify
388       the known enzymes:
389
390       1.  Bipartite site (with 6-8 Ns in the middle and the cut site is > 50
391           nt away) => type I
392
393       2.  Site length < 3  => type I
394
395       3.  5-6 asymmetric site and cuts >20 nt away => type III
396
397       4.  All other  => type II
398
399       There are some enzymes in REBASE which have bipartite recognition site
400       and cat far from the site but are still classified as type I. I've no
401       idea if this is really so.
402
403   seq
404        Title     : seq
405        Usage     : $re->seq();
406        Function  : Get the Bio::PrimarySeq.pm object representing
407                  : the recognition sequence
408        Returns   : A Bio::PrimarySeq object representing the
409                    enzyme recognition site
410        Argument  : n/a
411        Throws    : n/a
412
413   string
414        Title     : string
415        Usage     : $re->string();
416        Function  : Get a string representing the recognition sequence.
417        Returns   : String. Does NOT contain a  '^' representing the cut location
418                    as returned by the site() method.
419        Argument  : n/a
420        Throws    : n/a
421
422   recog
423        Title   : recog
424        Usage   : $enz->recog($recognition_sequence)
425        Function: Gets/sets the pure recognition site. Sets as
426                  regexp if appropriate.
427                  As for string(), the cut indicating carets (^)
428                  are expunged.
429        Example :
430        Returns : value of recog (a scalar)
431        Args    : on set, new value (a scalar or undef, optional)
432
433   revcom_recog
434        Title   : revcom_recog
435        Usage   : $enz->revcom_recog($recognition_sequence)
436        Function: Gets/sets the pure reverse-complemented recognition site.
437                  Sets as regexp if appropriate.
438                  As for string(), the cut indicating carets (^) are expunged.
439        Example :
440        Returns : value of recog (a scalar)
441        Args    : on set, new value (a scalar or undef, optional)
442
443   revcom
444        Title     : revcom
445        Usage     : $re->revcom();
446        Function  : Get a string representing the reverse complement of
447                  : the recognition sequence.
448        Returns   : String
449        Argument  : n/a
450        Throws    : n/a
451
452   recognition_length
453        Title     : recognition_length
454        Usage     : $re->recognition_length();
455        Function  : Get the length of the RECOGNITION sequence.
456                    This is the total recognition sequence,
457                    inluding the ambiguous codes.
458        Returns   : An integer
459        Argument  : Nothing
460
461       See also: non_ambiguous_length
462
463   cutter
464        Title    : cutter
465        Usage    : $re->cutter
466        Function : Returns the "cutter" value of the recognition site.
467
468                   This is a value relative to site length and lack of
469                   ambiguity codes. Hence: 'RCATGY' is a five (5) cutter site
470                   and 'CCTNAGG' a six cutter
471
472                   This measure correlates to the frequency of the enzyme
473                   cuts much better than plain recognition site length.
474
475        Example  : $re->cutter
476        Returns  : integer or float number
477        Args     : none
478
479       Why is this better than just stripping the ambiguos codes? Think about
480       it like this: You have a random sequence; all nucleotides are equally
481       probable. You have a four nucleotide re site. The probability of that
482       site finding a match is one out of 4^4 or 256, meaning that on average
483       a four cutter finds a match every 256 nucleotides. For a six cutter,
484       the average fragment length is 4^6 or 4096. In the case of ambiguity
485       codes the chances are finding the match are better: an R (A|T) has 1/2
486       chance of finding a match in a random sequence. Therefore, for RGCGCY
487       the probability is one out of (2*4*4*4*4*2) which exactly the same as
488       for a five cutter! Cutter, although it can have non-integer values
489       turns out to be a useful and simple measure.
490
491       From bug 2178: VHDB are ambiguity symbols that match three different
492       nucleotides, so they contribute less to the effective recognition
493       sequence length than e.g. Y which matches only two nucleotides. A
494       symbol which matches n of the 4 nucleotides has an effective length of
495       1 - log(n) / log(4).
496
497   is_palindromic
498        Title     : is_palindromic
499        Alias     : palindromic
500        Usage     : $re->is_palindromic();
501        Function  : Determines if the recognition sequence is palindromic
502                  : for the current restriction enzyme.
503        Returns   : Boolean
504        Argument  : n/a
505        Throws    : n/a
506
507       A palindromic site (EcoRI):
508
509         5-GAATTC-3
510         3-CTTAAG-5
511
512   is_symmetric
513        Title     : is_symmetric
514        Alias     : symmetric
515        Usage     : $re->is_symmetric();
516        Function  : Determines if the enzyme is a symmetric cutter
517        Returns   : Boolean
518        Argument  : none
519
520       A symmetric but non-palindromic site (HindI):
521              v
522         5-C A C-3
523         3-G T G-5
524            ^
525
526   overhang
527        Title     : overhang
528        Usage     : $re->overhang();
529        Function  : Determines the overhang of the restriction enzyme
530        Returns   : "5'", "3'", "blunt" of undef
531        Argument  : n/a
532        Throws    : n/a
533
534       A blunt site in SmaI returns "blunt"
535
536         5' C C C^G G G 3'
537         3' G G G^C C C 5'
538
539       A 5' overhang in EcoRI returns "5'"
540
541         5' G^A A T T C 3'
542         3' C T T A A^G 5'
543
544       A 3' overhang in KpnI returns "3'"
545
546         5' G G T A C^C 3'
547         3' C^C A T G G 5'
548
549   overhang_seq
550        Title     : overhang_seq
551        Usage     : $re->overhang_seq();
552        Function  : Determines the overhang sequence of the restriction enzyme
553        Returns   : a Bio::LocatableSeq
554        Argument  : n/a
555        Throws    : n/a
556
557       I do not think it is necessary to create a seq object of these.
558       (Heikki)
559
560       Note: returns empty string for blunt sequences and undef for ones that
561       we don't know.  Compare these:
562
563       A blunt site in SmaI returns empty string
564
565         5' C C C^G G G 3'
566         3' G G G^C C C 5'
567
568       A 5' overhang in EcoRI returns "AATT"
569
570         5' G^A A T T C 3'
571         3' C T T A A^G 5'
572
573       A 3' overhang in KpnI returns "GTAC"
574
575         5' G G T A C^C 3'
576         3' C^C A T G G 5'
577
578       Note that you need to use method overhang to decide whether it is a 5'
579       or 3' overhang!!!
580
581       Note: The overhang stuff does not work if the site is asymmetric!
582       Rethink!
583
584   compatible_ends
585        Title     : compatible_ends
586        Usage     : $re->compatible_ends($re2);
587        Function  : Determines if the two restriction enzyme cut sites
588                     have compatible ends.
589        Returns   : 0 if not, 1 if only one pair ends match, 2 if both ends.
590        Argument  : a Bio::Restriction::Enzyme
591        Throws    : unless the argument is a Bio::Resriction::Enzyme and
592                    if there are Ns in the ovarhangs
593
594       In case of type II enzymes which which cut symmetrically, this function
595       can be considered to return a boolean value.
596
597   is_ambiguous
598        Title     : is_ambiguous
599        Usage     : $re->is_ambiguous();
600        Function  : Determines if the restriction enzyme contains ambiguous sequences
601        Returns   : Boolean
602        Argument  : n/a
603        Throws    : n/a
604
605   Additional methods from Rebase
606   is_prototype
607        Title    : is_prototype
608        Usage    : $re->is_prototype
609        Function : Get/Set method for finding out if this enzyme is a prototype
610        Example  : $re->is_prototype(1)
611        Returns  : Boolean
612        Args     : none
613
614       Prototype enzymes are the most commonly available and usually first
615       enzymes discoverd that have the same recognition site. Using only
616       prototype enzymes in restriction analysis avoids redundancy and speeds
617       things up.
618
619   is_neoschizomer
620        Title    : is_neoschizomer
621        Usage    : $re->is_neoschizomer
622        Function : Get/Set method for finding out if this enzyme is a neoschizomer
623        Example  : $re->is_neoschizomer(1)
624        Returns  : Boolean
625        Args     : none
626
627       Neoschizomers are distinguishable from the prototype enzyme by having a
628       different cleavage pattern. Note that not all formats report this
629
630   prototype_name
631        Title    : prototype_name
632        Alias    : prototype
633        Usage    : $re->prototype_name
634        Function : Get/Set method for the name of prototype for
635                   this enzyme's recognition site
636        Example  : $re->prototype_name(1)
637        Returns  : prototype enzyme name string or an empty string
638        Args     : optional prototype enzyme name string
639
640       If the enzyme itself is the prototype, its own name is returned.  Not
641       to confuse the negative result with an unset value, use method
642       is_prototype.
643
644       This method is called prototype_name rather than prototype, because it
645       returns a string rather than on object.
646
647   isoschizomers
648        Title     : isoschizomers
649        Alias     : isos
650        Usage     : $re->isoschizomers(@list);
651        Function  : Gets/Sets a list of known isoschizomers (enzymes that
652                    recognize the same site, but don't necessarily cut at
653                    the same position).
654        Arguments : A reference to an array that contains the isoschizomers
655        Returns   : A reference to an array of the known isoschizomers or 0
656                    if not defined.
657
658       This has to be the hardest name to spell, so now you can use the alias
659       'isos'.  Added for compatibility to REBASE
660
661   purge_isoschizomers
662        Title     : purge_isoschizomers
663        Alias     : purge_isos
664        Usage     : $re->purge_isoschizomers();
665        Function  : Purges the set of isoschizomers for this enzyme
666        Arguments :
667        Returns   : 1
668
669   methylation_sites
670        Title     : methylation_sites
671        Usage     : $re->methylation_sites(\%sites);
672        Function  : Gets/Sets known methylation sites (positions on the sequence
673                    that get modified to promote or prevent cleavage).
674        Arguments : A reference to a hash that contains the methylation sites
675        Returns   : A reference to a hash of the methylation sites or
676                    an empty string if not defined.
677
678       There are three types of methylation sites:
679
680       ·  (6) = N6-methyladenosine
681
682       ·  (5) = 5-methylcytosine
683
684       ·  (4) = N4-methylcytosine
685
686       These are stored as 6, 5, and 4 respectively.  The hash has the
687       sequence position as the key and the type of methylation as the value.
688       A negative number in the sequence position indicates that the DNA is
689       methylated on the complementary strand.
690
691       Note that in REBASE, the methylation positions are given Added for
692       compatibility to REBASE.
693
694   purge_methylation_sites
695        Title     : purge_methylation_sites
696        Usage     : $re->purge_methylation_sites();
697        Function  : Purges the set of methylation_sites for this enzyme
698        Arguments :
699        Returns   :
700
701   microbe
702        Title     : microbe
703        Usage     : $re->microbe($microbe);
704        Function  : Gets/Sets microorganism where the restriction enzyme was found
705        Arguments : A scalar containing the microbes name
706        Returns   : A scalar containing the microbes name or 0 if not defined
707
708       Added for compatibility to REBASE
709
710   source
711        Title     : source
712        Usage     : $re->source('Rob Edwards');
713        Function  : Gets/Sets the person who provided the enzyme
714        Arguments : A scalar containing the persons name
715        Returns   : A scalar containing the persons name or 0 if not defined
716
717       Added for compatibility to REBASE
718
719   vendors
720        Title     : vendors
721        Usage     : $re->vendor(@list_of_companies);
722        Function  : Gets/Sets the a list of companies that you can get the enzyme from.
723                    Also sets the commercially_available boolean
724        Arguments : A reference to an array containing the names of companies
725                    that you can get the enzyme from
726        Returns   : A reference to an array containing the names of companies
727                    that you can get the enzyme from
728
729       Added for compatibility to REBASE
730
731   purge_vendors
732        Title     : purge_vendors
733        Usage     : $re->purge_references();
734        Function  : Purges the set of references for this enzyme
735        Arguments :
736        Returns   :
737
738   vendor
739        Title     : vendor
740        Usage     : $re->vendor(@list_of_companies);
741        Function  : Gets/Sets the a list of companies that you can get the enzyme from.
742                    Also sets the commercially_available boolean
743        Arguments : A reference to an array containing the names of companies
744                    that you can get the enzyme from
745        Returns   : A reference to an array containing the names of companies
746                    that you can get the enzyme from
747
748       Added for compatibility to REBASE
749
750   references
751        Title     : references
752        Usage     : $re->references(string);
753        Function  : Gets/Sets the references for this enzyme
754        Arguments : an array of string reference(s) (optional)
755        Returns   : an array of references
756
757       Use purge_references to reset the list of references
758
759       This should be a Bio::Biblio object, but its not (yet)
760
761   purge_references
762        Title     : purge_references
763        Usage     : $re->purge_references();
764        Function  : Purges the set of references for this enzyme
765        Arguments :
766        Returns   : 1
767
768   clone
769        Title     : clone
770        Usage     : $re->clone
771        Function  : Deep copy of the object
772        Arguments : -
773        Returns   : new Bio::Restriction::EnzymeI object
774
775       This works as long as the object is a clean in-memory object using
776       scalars, arrays and hashes. You have been warned.
777
778       If you have module Storable, it is used, otherwise local code is used.
779       Todo: local code cuts circular references.
780
781   _expand
782        Title     : _expand
783        Function  : Expand nucleotide ambiguity codes to their representative letters
784        Returns   : The full length string
785        Arguments : The string to be expanded.
786
787       Stolen from the original RestrictionEnzyme.pm
788
789
790
791perl v5.12.0                      2010-04-29       Bio::Restriction::Enzyme(3)
Impressum