class Bio::GFF::GFF3::Record

Represents a single line of a GFF3-formatted file. See Bio::GFF::GFF3 for more information.

Public Class Methods

new(*arg) click to toggle source

Creates a Bio::GFF::GFF3::Record object. Is typically not called directly, but is called automatically when creating a Bio::GFF::GFF3 object.


  • str: a tab-delimited line in GFF3 format


  • seqid: sequence ID (String or nil)

  • source: source (String or nil)

  • feature_type: type of feature (String)

  • start_position: start (Integer)

  • end_position: end (Integer)

  • score: score (Float or nil)

  • strand: strand (String or nil)

  • phase: phase (Integer or nil)

  • attributes: attributes (Array or nil)

Calls superclass method Bio::GFF::GFF2::Record::new
     # File lib/bio/db/gff.rb
1159 def initialize(*arg)
1160   super(*arg)
1161 end
parse(str) click to toggle source

Parses a GFF3-formatted line and returns a new Bio::GFF::GFF3::Record object.

     # File lib/bio/db/gff.rb
1138 def self.parse(str)
1140 end

Public Instance Methods

id() click to toggle source

shortcut to the ID attribute

     # File lib/bio/db/gff.rb
1112 def id
1113   get_attribute('ID')
1114 end
id=(str) click to toggle source

set ID attribute

     # File lib/bio/db/gff.rb
1117 def id=(str)
1118   set_attribute('ID', str)
1119 end
parse(string) click to toggle source

Parses a GFF3-formatted line and stores data from the string. Note that all existing data is wiped out.

Calls superclass method Bio::GFF::GFF2::Record::parse
     # File lib/bio/db/gff.rb
1165 def parse(string)
1166   super
1167 end
to_s() click to toggle source

Return the record as a GFF3 compatible string

     # File lib/bio/db/gff.rb
1170 def to_s
1171   cmnt = if defined?(@comment) and @comment and
1172              !@comment.to_s.strip.empty? then
1173            @comment.gsub(/[\r\n]+/, ' ')
1174          else
1175            false
1176          end
1177   return "\##{cmnt}\n" if self.comment_only? and cmnt
1178   [
1179    escape_seqid(column_to_s(@seqname)),
1180    escape(column_to_s(@source)),
1181    escape(column_to_s(@feature)),
1182    escape(column_to_s(@start)),
1183    escape(column_to_s(@end)),
1184    escape(column_to_s(@score)),
1185    escape(column_to_s(@strand)),
1186    escape(column_to_s(@frame)),
1187    attributes_to_s(@attributes)
1188   ].join("\t") + 
1189     (cmnt ? "\t\##{cmnt}\n" : "\n")
1190 end