Sha256: 9404f6a4d89672d37b10402120185da933964cbae5b4a3f8582ad56140f1b3f3

Contents?: true

Size: 1.44 KB

Versions: 11

Compression:

Stored size: 1.44 KB

Contents

require 'ms/cv/paramable'

module MS
  class Mzml
    class Run
      include MS::CV::Paramable

      # required
      attr_accessor :default_instrument_configuration

      # optional
      attr_accessor :default_source_file

      # required
      attr_accessor :id

      # optional
      attr_accessor :sample

      # optional
      attr_accessor :start_time_stamp

      # a SpectrumList object (a special array of spectra)
      attr_accessor :spectrum_list

      # takes a ChromatogramList object (a special array of chromatograms)
      attr_accessor :chromatogram_list

      # yields self if given a block
      def initialize(id, default_instrument_configuration, opts={params: []}, &block)
        @id = id
        @default_instrument_configuration = default_instrument_configuration
        describe!(*opts[:params])
        block.call(self) if block
      end

      def to_xml(builder)
        atts = { id: @id,
          defaultInstrumentConfigurationRef: @default_instrument_configuration.id
        }
        atts[:defaultSourceFileRef] = @default_source_file.id if @default_source_file
        atts[:sampleRef] = @sample.id if @sample
        atts[:startTimeStamp] = @start_time_stamp if @start_time_stamp
        
        builder.run(atts) do |run_n|
          super(run_n)
          spectrum_list.to_xml(run_n) if spectrum_list
          chromatogram_list.to_xml(run_n) if chromatogram_list
        end
        builder
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mspire-0.6.26 lib/ms/mzml/run.rb
mspire-0.6.25 lib/ms/mzml/run.rb
mspire-0.6.24 lib/ms/mzml/run.rb
mspire-0.6.22 lib/ms/mzml/run.rb
mspire-0.6.21 lib/ms/mzml/run.rb
mspire-0.6.20 lib/ms/mzml/run.rb
mspire-0.6.19 lib/ms/mzml/run.rb
mspire-0.6.18 lib/ms/mzml/run.rb
mspire-0.6.12 lib/ms/mzml/run.rb
mspire-0.6.11 lib/ms/mzml/run.rb
mspire-0.6.9 lib/ms/mzml/run.rb