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
- #parse_attributes_fast(attribstring, options = {}) ⇒ Object
-
#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 (!).
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, = {} 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, = {} fs = string.split(/\t/) if fs.size != 9 error "Record should have 9 fields, but has #{fs.size} <#{string}>" return nil end fs end |