Method: Bio::RestrictionEnzyme::Range::SequenceRange#initialize

Defined in:
lib/bio/util/restriction_enzyme/range/sequence_range.rb

#initialize(p_left = nil, p_right = nil, c_left = nil, c_right = nil) ⇒ SequenceRange

Returns a new instance of SequenceRange.

Raises:

  • (ArgumentError)


56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/bio/util/restriction_enzyme/range/sequence_range.rb', line 56

def initialize( p_left = nil, p_right = nil, c_left = nil, c_right = nil )
  raise ArgumentError if p_left == nil and c_left == nil
  raise ArgumentError if p_right == nil and c_right == nil
  (raise ArgumentError unless p_left <= p_right) unless p_left == nil or p_right == nil
  (raise ArgumentError unless c_left <= c_right) unless c_left == nil or c_right == nil

  @p_left, @p_right, @c_left, @c_right = p_left, p_right, c_left, c_right
  @left = [p_left, c_left].compact.sort.first
  @right = [p_right, c_right].compact.sort.last
  @size = (@right - @left) + 1 unless @left == nil or @right == nil
  @cut_ranges = CutRanges.new
  @__fragments_current = false
end