Sha256: fa1e33b5c30122d33a91f10d1a5cb0398ba374bb69881bad44014a4cbc79e58f

Contents?: true

Size: 847 Bytes

Versions: 1

Compression:

Stored size: 847 Bytes

Contents

require 'cv/param'
require 'ms/cv'

module MS
  module CV

    # a mass spec related CVParam.  
    class Param < ::CV::Param

      # Takes one of these invocations:
      #
      #     acc_num[, unit_acc_num]
      #     acc_num, value[, unit_acc_num]
      #
      # Where acc_num and unit_acc_num are strings containing valid accession
      # numbers (e.g., 'MS:1000514' or 'UO:0000108')
      def self.[](*args)
        #puts "param args #{args.inspect}"
        unit = 
          case args.size
          when 1
            nil
          when 2
            MS::CV::Param[args.pop] if args.last.to_s[0,3] == 'UO:'
          when 3
            MS::CV::Param[args.pop]
          end
        obo_type = args[0][/([A-Za-z]+):/,1]
        self.new(obo_type, args[0], MS::CV::Obo[obo_type][args.first], args[1], unit)
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mspire-0.6.9 lib/ms/cv/param.rb