Module | Bio::KEGG::Common::References
In: | lib/bio/db/kegg/common.rb

The module provides references method.

### Methods

references

### Public Instance methods

references()

REFERENCE — Returns contents of the REFERENCE records as an Array of Bio::Reference objects.

[Source]

        # File lib/bio/db/kegg/common.rb, line 30
    30:       def references
    31:         unless @data['REFERENCE']
    32:           ary = []
    33:           toptag2array(get('REFERENCE')).each do |ref|
    34:             hash = Hash.new
    35:             subtag2array(ref).each do |field|
    36:               case tag_get(field)
    37:               when /REFERENCE/
    38:                 cmnt = tag_cut(field).chomp
    39:                 if /^\s*PMID\:(\d+)\s*/ =~ cmnt then
    40:                   hash['pubmed'] = $1
    41:                   cmnt = $'
    42:                 end
    43:                 if cmnt and !cmnt.empty? then
    44:                   hash['comments'] ||= []
    45:                   hash['comments'].push(cmnt)
    46:                 end
    47:               when /AUTHORS/
    48:                 authors = truncate(tag_cut(field))
    49:                 authors = authors.split(/\, /)
    50:                 authors[-1] = authors[-1].split(/\s+and\s+/) if authors[-1]
    51:                 authors = authors.flatten.map { |a| a.sub(',', ', ') }
    52:                 hash['authors'] = authors
    53:               when /TITLE/
    54:                 hash['title']   = truncate(tag_cut(field))
    55:               when /JOURNAL/
    56:                 journal = truncate(tag_cut(field))
    57:                 case journal
    58:                   # KEGG style
    59:                 when /(.*) (\d*(?:\([^\)]+\))?)\:(\d+\-\d+) \((\d+)\)$/
    60:                   hash['journal'] = $1
    61:                   hash['volume']  = $2
    62:                   hash['pages']   = $3
    63:                   hash['year']    = $4
    64:                   # old KEGG style
    65:                 when /(.*) (\d+):(\d+\-\d+) \((\d+)\) \[UI:(\d+)\]$/
    66:                   hash['journal'] = $1
    67:                   hash['volume']  = $2
    68:                   hash['pages']   = $3
    69:                   hash['year']    = $4
    70:                   hash['medline'] = $5
    71:                   # Only journal name and year are available
    72:                 when /(.*) \((\d+)\)$/
    73:                   hash['journal'] = $1
    74:                   hash['year']    = $2
    75:                 else
    76:                   hash['journal'] = journal
    77:                 end
    78:               end
    79:             end
    80:             ary.push(Reference.new(hash))
    81:           end
    82:           @data['REFERENCE'] = ary #.extend(Bio::References::BackwardCompatibility)
    83:
    84:         end
    85:         @data['REFERENCE']
    86:       end

[Validate]