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



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

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



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

def end
  @end
end

#seqidObject

sequence ID



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

def seqid
  @seqid
end

#startObject

start position



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

def start
  @start
end

Class Method Details

.parse(str) ⇒ Object

parses given string and returns SequenceRegion class



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

def self.parse(str)
  dummy, 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.



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

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



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

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