module Bio::Blast::Remote::DDBJ::Information
Information about DDBJ BLAST.
Private Instance Methods
_parse_databases()
click to toggle source
(private) parse database information
# File lib/bio/appl/blast/ddbj.rb, line 33 def _parse_databases if defined? @parse_databases return nil if @parse_databases end drv = Bio::DDBJ::REST::Blast.new str = drv.getSupportDatabaseList databases = {} dbdescs = {} keys = [ 'blastn', 'blastp' ] keys.each do |key| databases[key] ||= [] dbdescs[key] ||= {} end prefix = '' prefix_count = 0 str.each_line do |line| a = line.strip.split(/\s*\-\s*/, 2) case a.size when 1 prefix = a[0].to_s.strip prefix += ': ' unless prefix.empty? prefix_count = 0 next #each_line when 0 prefix = '' if prefix_count > 0 next #each_line end name = a[0].to_s.strip.freeze desc = a[1].to_s.strip key = case desc when /\(NT\)\s*$/ 'blastn' when /\(AA\)\s*$/ 'blastp' else warn "DDBJ BLAST: could not determine the database is NT or AA: #{line.chomp}" if $VERBOSE next #each_line end desc = (prefix + desc).freeze prefix_count += 1 databases[key].push name dbdescs[key][name] = desc end databases['blastp'] ||= [] dbdescs['blastp'] ||= [] databases['blastn'].freeze databases['blastp'].freeze databases['blastx'] = databases['blastp'] dbdescs['blastx'] = dbdescs['blastp'] databases['tblastn'] = databases['blastn'] dbdescs['tblastn'] = dbdescs['blastn'] databases['tblastx'] = databases['blastn'] dbdescs['tblastx'] = dbdescs['blastn'] @databases = databases @database_descriptions = dbdescs @parse_databases = true true end