Module: Bio::GFFbrowser::FastLineParser

Includes:
Helpers::Logger
Included in:
Bio::GFF::GFF3::FastParserFileRecord, Block::GffBlockParser, FastLineRecord, GFF3ParseFile
Defined in:
lib/bio/db/gff/gff3parserec.rb

Overview

The fast line parse takes the least number of actions to parse a GFF3 line (record).

Instance Method Summary collapse

Methods included from Helpers::Logger

#debug, #error, #info, #log_sys_info, #warn

Instance Method Details

#parse_attributes_fast(attribstring, options = {}) ⇒ Object



50
51
52
53
54
# File 'lib/bio/db/gff/gff3parserec.rb', line 50

def parse_attributes_fast attribstring, options = {}
  Hash[attribstring.split(/;/).map { | a |
    a.split(/=/,2)
  }]
end

#parse_line_fast(string, options = {}) ⇒ Object

Returns a (partial) record, assuming it is a valid GFF3 format, no validation takes place, other than field counting (!)

Start and End are always set to int values. ID and Parent are returned in features.

The options define further parsing of fields. Options are

An array is returned, with appropriate fields



40
41
42
43
44
45
46
47
48
# File 'lib/bio/db/gff/gff3parserec.rb', line 40

def parse_line_fast string, options = {}
  fs = string.split(/\t/)
  if fs.size != 9 
    error "Record should have 9 fields, but has #{fs.size} <#{string}>"
    return nil
  end

  fs
end