Sha256: e8ee39cd5532a14c20927d1d9eeb1a326bd36c6ff45926e47e803a2dd6de76a3

Contents?: true

Size: 832 Bytes

Versions: 1

Compression:

Stored size: 832 Bytes

Contents

module SpecIDXML; end

require 'spec_id'

class SampleEnzyme
  include SpecIDXML

  attr_accessor :name
  attr_writer :cut, :no_cut, :sense

  # Currently, recognize: 
  #   trypsin
  # For other enzymes, you must set :cut, :no_cut, :name, and :sense
  def initialize(name=nil)
    @sense = nil
    @cut = nil
    @no_cut = nil
    @name = name
  end

  def sense 
    if @sense ; @sense
    else
      case @name
      when "trypsin" ; 'C'
      end
    end
  end

  def cut
    if @cut ; @cut
    else
      case @name
      when "trypsin" ; 'KR'
      end
    end
  end

  def no_cut
    if @no_cut ; @no_cut
    else
      case @name
      when "trypsin" ; 'P'
      end
    end
  end

  def to_pepxml
    element_xml(:sample_enzyme, [:name]) do
      short_element_xml(:specificity, [:cut, :no_cut, :sense])
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mspire-0.1.3 lib/sample_enzyme.rb