Module: Indexer
- Included in:
- FastaReader
- Defined in:
- lib/bigbio/db/fasta/indexer.rb
Overview
Indexer module for the FASTA class
This is a simple memory based key storage
Instance Method Summary collapse
-
#indexer_get(key) ⇒ Object
Get the key, return nil when not found.
- #indexer_get_by_index(idx) ⇒ Object
- #indexer_set(key, fpos) ⇒ Object
-
#indexer_use(state) ⇒ Object
Start using the indexer.
Instance Method Details
#indexer_get(key) ⇒ Object
Get the key, return nil when not found
23 24 25 26 27 |
# File 'lib/bigbio/db/fasta/indexer.rb', line 23 def indexer_get key raise "Trying to use 'get' when there is no index" if @indexer == nil # raise "Indexer key #{key} not found!" if !@indexer[key] @indexer[key] end |
#indexer_get_by_index(idx) ⇒ Object
29 30 31 |
# File 'lib/bigbio/db/fasta/indexer.rb', line 29 def indexer_get_by_index idx @indexer.sort {|a,b| a[1]<=>b[1]} [idx] end |
#indexer_set(key, fpos) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/bigbio/db/fasta/indexer.rb', line 15 def indexer_set key, fpos raise "Trying to use 'set' when there is no index" if @indexer == nil raise "Indexer key #{key} alread in use for <#{@indexer[key]}>!" if @indexer[key] # p [key, fpos] @indexer[key] = fpos end |
#indexer_use(state) ⇒ Object
Start using the indexer
9 10 11 12 13 |
# File 'lib/bigbio/db/fasta/indexer.rb', line 9 def indexer_use state if state @indexer = {} end end |