class MgNu::Parser::FastaHeaderIndex

Attributes

db[R]
db_name[R]
filename[R]

Public Class Methods

new(filename) click to toggle source
# File lib/mgnu/parser/fasta_header_index.rb, line 7
def initialize(filename)
  @filename = filename
  if filename =~ /^.+\.hdr\.tch$/
    @db_name = @filename
  else
    @db_name = @filename + ".hdr.tch"
  end

  if File.exist?(@db_name)
    @db = Moneta.new(:TokyoCabinet, file: @db_name)
  else
    @db = Moneta.new(:TokyoCabinet, file: @db_name)
    parse
  end
end

Public Instance Methods

[](name) click to toggle source
# File lib/mgnu/parser/fasta_header_index.rb, line 30
def [](name)
  @db[name] ? @db[name] : nil
end
close() click to toggle source
# File lib/mgnu/parser/fasta_header_index.rb, line 34
def close
  @db.close unless @db.nil?
end
parse() click to toggle source

setup parse method for creating tokyo cabinet

# File lib/mgnu/parser/fasta_header_index.rb, line 24
def parse
  MgNu::Parser::Fasta.new(@filename).each do |f|
    @db[f.header_name] = f.header_description
  end
end