class Bio::RestrictionEnzyme::Range::VerticalCutRange
FIXME docs are kind of out of date. Change this to VerticalAndHorizontalCutRange
Attributes
Public Class Methods
VerticalCutRange
provides an extremely raw, yet precise, method of defining the location of cuts on primary and complementary sequences.
Many VerticalCutRange
objects are used with HorizontalCutRange
objects to be contained in CutRanges
to define the cut pattern that a specific enzyme may make.
VerticalCutRange
takes up to four possible cuts, two on the primary strand and two on the complementary strand. In typical usage you will want to make a single cut on the primary strand and a single cut on the complementary strand.
However, you can construct it with whatever cuts you desire to accomadate the most eccentric of imaginary restriction enzymes.
Arguments
-
p_cut_left
: (optional) Left-most cut on the primary strand.nil
to skip -
p_cut_right
: (optional) Right-most cut on the primary strand.nil
to skip -
c_cut_left
: (optional) Left-most cut on the complementary strand.nil
to skip -
c_cut_right
: (optional) Right-most cut on the complementary strand.nil
to skip
- Returns
-
nothing
# File lib/bio/util/restriction_enzyme/range/vertical_cut_range.rb 45 def initialize( p_cut_left=nil, p_cut_right=nil, c_cut_left=nil, c_cut_right=nil ) 46 @p_cut_left = p_cut_left 47 @p_cut_right = p_cut_right 48 @c_cut_left = c_cut_left 49 @c_cut_right = c_cut_right 50 51 a = [@p_cut_left, @c_cut_left, @p_cut_right, @c_cut_right] 52 a.delete(nil) 53 a.sort! 54 @min = a.first 55 @max = a.last 56 57 @range = nil 58 @range = (@min..@max) unless @min == nil or @max == nil 59 return 60 end
Public Instance Methods
Check if a location falls within the minimum or maximum values of this range.
Arguments
-
i
:Location
to check if it is included in the range
- Returns
-
true
orfalse
# File lib/bio/util/restriction_enzyme/range/vertical_cut_range.rb 69 def include?(i) 70 return false if @range == nil 71 @range.include?(i) 72 end