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



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

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



1088
1089
1090
# File 'lib/bio/db/gff.rb', line 1088

def end
  @end
end

#seqidObject

sequence ID



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

def seqid
  @seqid
end

#startObject

start position



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

def start
  @start
end

Class Method Details

.parse(str) ⇒ Object

parses given string and returns SequenceRegion class



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

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.



1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
# File 'lib/bio/db/gff.rb', line 1099

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



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

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