File Coverage

Bio/Restriction/Enzyme/MultiCut.pm
Criterion Covered Total %
statement 23 25 92.0
branch 5 6 83.3
condition n/a
subroutine 6 7 85.7
pod 3 3 100.0
total 37 41 90.2


line stmt bran cond sub pod time code
1             #------------------------------------------------------------------
2             #
3             # BioPerl module Bio::Restriction::Enzyme::MultiCut
4             #
5             # Please direct questions and support issues to
6             #
7             # Cared for by Heikki Lehvaslaiho, heikki-at-bioperl-dot-org
8             #
9             # You may distribute this module under the same terms as perl itself
10             #------------------------------------------------------------------
11              
12             ## POD Documentation:
13              
14             =head1 NAME
15              
16             Bio::Restriction::Enzyme::MultiCut - A single restriction endonuclease
17              
18             =head1 SYNOPSIS
19              
20             # set up a single restriction enzyme. This contains lots of
21             # information about the enzyme that is generally parsed from a
22             # rebase file and can then be read back
23              
24             use Bio::Restriction::Enzyme;
25              
26              
27             =head1 DESCRIPTION
28              
29             This module defines a restriction endonuclease class where one object
30             represents one of the distinct recognition sites for that enzyme. The
31             method L stores references to other objects with
32             alternative sites.
33              
34             In this schema each object within an EnzymeCollection can be checked
35             for matching a sequence.
36              
37              
38             REBASE report notation C means:
39              
40              
41             Bsp24I
42             5' ^NNNNNNNNGACNNNNNNTGGNNNNNNNNNNNN^ 3'
43             3' ^NNNNNNNNNNNNNCTGNNNNNNACCNNNNNNN^ 5'
44              
45              
46              
47              
48             =head1 FEEDBACK
49              
50             =head2 Mailing Lists
51              
52             User feedback is an integral part of the evolution of this and other
53             Bioperl modules. Send your comments and suggestions preferably to one
54             of the Bioperl mailing lists. Your participation is much appreciated.
55              
56             bioperl-l@bioperl.org - General discussion
57             http://bioperl.org/wiki/Mailing_lists - About the mailing lists
58              
59             =head2 Support
60              
61             Please direct usage questions or support issues to the mailing list:
62              
63             I
64              
65             rather than to the module maintainer directly. Many experienced and
66             reponsive experts will be able look at the problem and quickly
67             address it. Please include a thorough description of the problem
68             with code and data examples if at all possible.
69              
70             =head2 Reporting Bugs
71              
72             Report bugs to the Bioperl bug tracking system to help us keep track
73             the bugs and their resolution. Bug reports can be submitted via the
74             web:
75              
76             https://github.com/bioperl/bioperl-live/issues
77              
78             =head1 AUTHOR
79              
80             Heikki Lehvaslaiho, heikki-at-bioperl-dot-org
81              
82             =head1 CONTRIBUTORS
83              
84             Rob Edwards, redwards@utmem.edu
85              
86             =head1 COPYRIGHT
87              
88             Copyright (c) 2003 Rob Edwards.
89              
90             Some of this work is Copyright (c) 1997-2002 Steve A. Chervitz. All
91             Rights Reserved. This module is free software; you can redistribute
92             it and/or modify it under the same terms as Perl itself.
93              
94             =head1 SEE ALSO
95              
96             L, L,
97             L
98              
99             =head1 APPENDIX
100              
101             Methods beginning with a leading underscore are considered private and
102             are intended for internal use by this module. They are not considered
103             part of the public interface and are described here for documentation
104             purposes only.
105              
106             =cut
107              
108             package Bio::Restriction::Enzyme::MultiCut;
109 4     4   918 use strict;
  4         4  
  4         90  
110              
111 4     4   12 use Data::Dumper;
  4         6  
  4         166  
112              
113 4     4   14 use vars qw ();
  4         4  
  4         65  
114 4     4   9 use base qw(Bio::Restriction::Enzyme);
  4         5  
  4         695  
115              
116              
117             =head2 new
118              
119             Title : new
120             Function
121             Function : Initializes the enzyme object
122             Returns : The Restriction::Enzyme::MultiCut object
123             Argument :
124              
125             =cut
126              
127             sub new {
128 2     2 1 5 my($class, @args) = @_;
129 2         19 my $self = $class->SUPER::new(@args);
130              
131 2         8 my ($others) =
132             $self->_rearrange([qw(
133             OTHERS
134             )], @args);
135              
136 2 50       4 $others && $self->others($others);
137 2         8 return $self;
138             }
139              
140             =head2 others
141              
142             Title : others
143             Usage : $re->others(@enz_obj_array);
144             Function : Stores auxiliary Enzyme::MultiCut objects for multicutting enzymes
145             Arguments : optional array of Enzyme::MultiCut objects
146             Returns : array of Enzyme objects
147              
148              
149             Added for compatibility to REBASE
150              
151             =cut
152              
153             sub others {
154 339     339 1 280 my $self = shift;
155 339 100       561 push @{$self->{_others}}, @_ if @_;
  51         167  
156 339 100       662 return unless $self->{_others};
157 219         165 return @{$self->{'_others'}};
  219         446  
158             }
159              
160              
161             =head2 purge_others
162              
163             Title : purge_others
164             Usage : $re->purge_references();
165             Function : Purges the set of references for this enzyme
166             Arguments :
167             Returns :
168              
169             =cut
170              
171             sub purge_others {
172 0     0 1   my ($self) = shift;
173 0           $self->{_others} = [];
174              
175             }
176              
177              
178             1;
179