Class: Bio::GFF::GFF3::SequenceRegion

Inherits:
Object
  • Object
show all
Extended by:
Escape
Includes:
Escape
Defined in:
lib/bio/db/gff.rb

Overview

Stores meta-data “##sequence-region seqid start end”.

Constant Summary

Constants included from Escape

Escape::UNSAFE, Escape::UNSAFE_ATTRIBUTE, Escape::UNSAFE_SEQID

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(seqid, start, endpos) ⇒ SequenceRegion

creates a new SequenceRegion class


1060
1061
1062
1063
1064
# File 'lib/bio/db/gff.rb', line 1060

def initialize(seqid, start, endpos)
  @seqid = seqid
  @start = start ? start.to_i : nil
  @end = endpos ? endpos.to_i : nil
end

Instance Attribute Details

#endObject

end position


1080
1081
1082
# File 'lib/bio/db/gff.rb', line 1080

def end
  @end
end

#seqidObject

sequence ID


1074
1075
1076
# File 'lib/bio/db/gff.rb', line 1074

def seqid
  @seqid
end

#startObject

start position


1077
1078
1079
# File 'lib/bio/db/gff.rb', line 1077

def start
  @start
end

Class Method Details

.parse(str) ⇒ Object

parses given string and returns SequenceRegion class


1067
1068
1069
1070
1071
# File 'lib/bio/db/gff.rb', line 1067

def self.parse(str)
  _, seqid, start, endpos =
    str.chomp.split(/\s+/, 4).collect { |x| unescape(x) }
  self.new(seqid, start, endpos)
end

Instance Method Details

#==(other) ⇒ Object

Returns true if self == other. Otherwise, returns false.


1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
# File 'lib/bio/db/gff.rb', line 1091

def ==(other)
  if other.class == self.class and
      other.seqid == self.seqid and
      other.start == self.start and
      other.end == self.end then
    true
  else
    false
  end
end

#to_sObject

string representation


1083
1084
1085
1086
1087
1088
# File 'lib/bio/db/gff.rb', line 1083

def to_s
  i = escape_seqid(column_to_s(@seqid))
  s = escape_seqid(column_to_s(@start))
  e = escape_seqid(column_to_s(@end))
  "##sequence-region #{i} #{s} #{e}\n"
end