mspire 0.7.18 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/bin/mspire +5 -0
- data/lib/core_ext/enumerable.rb +8 -0
- data/lib/mspire/commandline.rb +39 -0
- data/lib/mspire/cv/paramable.rb +72 -35
- data/lib/mspire/imzml/writer/commandline.rb +16 -7
- data/lib/mspire/imzml/writer.rb +22 -14
- data/lib/mspire/mzml/activation.rb +0 -5
- data/lib/mspire/mzml/chromatogram.rb +41 -6
- data/lib/mspire/mzml/chromatogram_list.rb +2 -19
- data/lib/mspire/mzml/component.rb +28 -4
- data/lib/mspire/mzml/cv.rb +1 -0
- data/lib/mspire/mzml/data_array.rb +164 -154
- data/lib/mspire/mzml/data_array_container_like.rb +6 -13
- data/lib/mspire/mzml/data_processing.rb +19 -5
- data/lib/mspire/mzml/file_description.rb +22 -4
- data/lib/mspire/mzml/index.rb +53 -0
- data/lib/mspire/mzml/index_list.rb +64 -55
- data/lib/mspire/mzml/instrument_configuration.rb +22 -7
- data/lib/mspire/mzml/io_index.rb +79 -0
- data/lib/mspire/mzml/io_indexable_list.rb +71 -0
- data/lib/mspire/mzml/isolation_window.rb +0 -5
- data/lib/mspire/mzml/parser.rb +10 -0
- data/lib/mspire/mzml/plms1.rb +14 -24
- data/lib/mspire/mzml/precursor.rb +41 -19
- data/lib/mspire/mzml/processing_method.rb +34 -7
- data/lib/mspire/mzml/product.rb +14 -1
- data/lib/mspire/mzml/reader.rb +154 -0
- data/lib/mspire/mzml/referenceable_param_group.rb +9 -2
- data/lib/mspire/mzml/run.rb +62 -5
- data/lib/mspire/mzml/sample.rb +16 -6
- data/lib/mspire/mzml/scan.rb +31 -16
- data/lib/mspire/mzml/scan_list.rb +18 -5
- data/lib/mspire/mzml/scan_settings.rb +4 -5
- data/lib/mspire/mzml/scan_window.rb +0 -6
- data/lib/mspire/mzml/selected_ion.rb +1 -8
- data/lib/mspire/mzml/software.rb +9 -4
- data/lib/mspire/mzml/source_file.rb +8 -4
- data/lib/mspire/mzml/spectrum.rb +60 -35
- data/lib/mspire/mzml/spectrum_list.rb +5 -34
- data/lib/mspire/mzml.rb +72 -210
- data/lib/mspire/plms1.rb +3 -0
- data/spec/mspire/cv/paramable_spec.rb +3 -3
- data/spec/mspire/mzml/data_array_spec.rb +19 -6
- data/spec/mspire/mzml/file_content_spec.rb +1 -4
- data/spec/mspire/mzml/index_list_spec.rb +5 -12
- data/spec/mspire/mzml/plms1_spec.rb +5 -9
- data/spec/mspire/mzml/referenceable_param_group_spec.rb +3 -3
- data/spec/mspire/mzml/source_file_spec.rb +1 -2
- data/spec/mspire/mzml/spectrum_list_spec.rb +54 -0
- data/spec/mspire/mzml/spectrum_spec.rb +2 -4
- data/spec/mspire/mzml_spec.rb +241 -21
- data/spec/spec_helper.rb +1 -0
- data/spec/testfiles/mspire/mzml/1_BB7_SIM_478.5.mzML +103 -0
- data/spec/testfiles/mspire/mzml/j24z.idx_comp.3.mzML +6 -6
- metadata +14 -6
- data/bin/mzml_to_imzml +0 -9
- data/spec/mspire/mzml/file_description_spec.rb +0 -12
data/spec/mspire/mzml_spec.rb
CHANGED
@@ -1,13 +1,222 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'builder'
|
3
2
|
|
3
|
+
require 'builder'
|
4
4
|
require 'mspire/mzml'
|
5
5
|
|
6
|
+
require 'mspire/mzml/file_description'
|
7
|
+
require 'mspire/mzml/run'
|
8
|
+
|
6
9
|
describe Mspire::Mzml do
|
7
10
|
|
11
|
+
describe 'reading a SIM file' do
|
12
|
+
before do
|
13
|
+
@file = TESTFILES + "/mspire/mzml/1_BB7_SIM_478.5.mzML"
|
14
|
+
@io = File.open(@file)
|
15
|
+
@mzml = Mspire::Mzml.new(@io)
|
16
|
+
end
|
17
|
+
after do
|
18
|
+
@io.close
|
19
|
+
end
|
20
|
+
|
21
|
+
specify '#chromatogram' do
|
22
|
+
tic = @mzml.chromatogram(0)
|
23
|
+
tic.id.should == 'TIC'
|
24
|
+
|
25
|
+
sim = @mzml.chromatogram(1)
|
26
|
+
sim.id.should == 'SIM SIC 478.5'
|
27
|
+
end
|
28
|
+
|
29
|
+
specify '#num_chromatograms' do
|
30
|
+
@mzml.num_chromatograms.should == 2
|
31
|
+
end
|
32
|
+
|
33
|
+
specify '#each_chromatogram' do
|
34
|
+
@mzml.each_chromatogram do |chrm|
|
35
|
+
chrm.should be_a(Mspire::Mzml::Chromatogram)
|
36
|
+
chrm.times.should be_an(Array)
|
37
|
+
chrm.intensities.should be_an(Array)
|
38
|
+
chrm.times.size.should == 72
|
39
|
+
chrm.intensities.size.should == 72
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
8
44
|
describe 'reading an indexed, compressed peaks, mzML file' do
|
9
|
-
describe 'reading a spectrum' do
|
10
45
|
|
46
|
+
describe 'reading the header things' do
|
47
|
+
before do
|
48
|
+
@file = TESTFILES + "/mspire/mzml/j24z.idx_comp.3.mzML"
|
49
|
+
@io = File.open(@file)
|
50
|
+
@mzml = Mspire::Mzml.new(@io)
|
51
|
+
end
|
52
|
+
after do
|
53
|
+
@io.close
|
54
|
+
end
|
55
|
+
|
56
|
+
specify '#cvs - reads the cvList' do
|
57
|
+
cvs = @mzml.cvs
|
58
|
+
cvs.size.should == 2
|
59
|
+
cvs.first.id.should == 'MS'
|
60
|
+
cvs.last.id.should == 'UO'
|
61
|
+
end
|
62
|
+
|
63
|
+
specify '#file_description reads the fileDescription' do
|
64
|
+
@mzml.file_description.should be_a(Mspire::Mzml::FileDescription)
|
65
|
+
end
|
66
|
+
|
67
|
+
describe Mspire::Mzml::FileDescription do
|
68
|
+
|
69
|
+
let(:file_description) { @mzml.file_description }
|
70
|
+
|
71
|
+
specify '#file_content' do
|
72
|
+
fc = file_description.file_content
|
73
|
+
fc.fetch_by_acc("MS:1000579").should be_true
|
74
|
+
fc.fetch_by_acc("MS:1000580").should be_true
|
75
|
+
fc.fetch_by_acc("MS:1000550").should be_false
|
76
|
+
fc.params.size.should == 2
|
77
|
+
end
|
78
|
+
|
79
|
+
specify '#source_files' do
|
80
|
+
sfs = file_description.source_files
|
81
|
+
sfs.size.should == 1
|
82
|
+
sf = sfs.first
|
83
|
+
sf.id.should == 'RAW1'
|
84
|
+
sf.name.should == 'j24.raw'
|
85
|
+
sf.location.should == 'file://.'
|
86
|
+
sf.params.size.should == 3
|
87
|
+
sha1 = sf.param_by_acc('MS:1000569')
|
88
|
+
sha1.name.should == 'SHA-1'
|
89
|
+
sha1.accession.should == 'MS:1000569'
|
90
|
+
sha1.value.should == "6023d121fb6ca7f19fada3b6c5e4d5da09c95f12"
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
specify '#referenceable_param_groups (reads the referenceableParamGroupList)' do
|
95
|
+
rpgs = @mzml.referenceable_param_groups
|
96
|
+
rpgs.size.should == 1
|
97
|
+
rpg = rpgs.first
|
98
|
+
rpg.id.should == 'CommonInstrumentParams'
|
99
|
+
prms = rpg.params
|
100
|
+
prms.first.to_a.should == ["MS", "MS:1000449", "LTQ Orbitrap", nil, nil]
|
101
|
+
prms.last.to_a.should == ["MS", "MS:1000529", "instrument serial number", "SN1025B", nil]
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'reads the softwareList' do
|
105
|
+
sl = @mzml.software_list
|
106
|
+
sl.size.should == 2
|
107
|
+
xcal = sl.first
|
108
|
+
xcal.id.should == 'Xcalibur'
|
109
|
+
xcal.version.should == '2.4 SP1'
|
110
|
+
xcal.params.first.to_a.should == ["MS", "MS:1000532", "Xcalibur", nil, nil]
|
111
|
+
|
112
|
+
pwiz = sl.last
|
113
|
+
pwiz.id.should == 'pwiz'
|
114
|
+
pwiz.version.should == "2.1.2086"
|
115
|
+
pwiz.params.first.to_a.should == ["MS", "MS:1000615", "ProteoWizard", nil, nil]
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
def component_is_correct(component, klass, accs)
|
120
|
+
component.should be_a(Mspire::Mzml.const_get(klass))
|
121
|
+
accs.each do |acc|
|
122
|
+
component.fetch_by_acc(acc).should be_true
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
it 'reads the instrumentConfigurationList' do
|
127
|
+
ics = @mzml.instrument_configurations
|
128
|
+
ics.size.should == 2
|
129
|
+
ic1 = ics.first
|
130
|
+
ic1.id.should == 'IC1'
|
131
|
+
|
132
|
+
# grabbing a referenceable param!
|
133
|
+
ic1.fetch_by_acc('MS:1000449').should be_true
|
134
|
+
ic1.fetch_by_acc('MS:1000529').should be_true
|
135
|
+
|
136
|
+
%w{Source Analyzer Detector}.zip(
|
137
|
+
[["MS:1000398", "MS:1000485"], ["MS:1000484"], ["MS:1000624"]],
|
138
|
+
ic1.components
|
139
|
+
).each do |klass,accs,component|
|
140
|
+
component_is_correct(component, klass, accs)
|
141
|
+
end
|
142
|
+
|
143
|
+
ic2 = ics.last
|
144
|
+
|
145
|
+
%w{Source Analyzer Detector}.zip(
|
146
|
+
[["MS:1000398", "MS:1000485"], ["MS:1000083"], ["MS:1000253"]],
|
147
|
+
ic2.components
|
148
|
+
).each do |klass,accs,component|
|
149
|
+
component_is_correct(component, klass, accs)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'reads the dataProcessingList' do
|
154
|
+
dpl = @mzml.data_processing_list
|
155
|
+
dpl.size.should == 1
|
156
|
+
dp = dpl.first
|
157
|
+
|
158
|
+
dp.id.should == 'pwiz_Reader_Thermo_conversion'
|
159
|
+
pms = dp.processing_methods
|
160
|
+
pms.size.should == 1
|
161
|
+
pm = pms.first
|
162
|
+
pm.should be_a(Mspire::Mzml::ProcessingMethod)
|
163
|
+
|
164
|
+
# the order is not instrinsic to the object but to the container
|
165
|
+
# (i.e., it is an index)
|
166
|
+
dp.order(pm).should == 0
|
167
|
+
pm.software.should be_a(Mspire::Mzml::Software)
|
168
|
+
pm.params.first.to_a.should == ["MS", "MS:1000544", "Conversion to mzML", nil, nil]
|
169
|
+
end
|
170
|
+
|
171
|
+
it 'reads the run' do
|
172
|
+
run = @mzml.run
|
173
|
+
run.id.should == 'j24'
|
174
|
+
|
175
|
+
ic = run.default_instrument_configuration
|
176
|
+
ic.should be_a(Mspire::Mzml::InstrumentConfiguration)
|
177
|
+
ic.fetch_by_acc('MS:1000449').should be_true
|
178
|
+
|
179
|
+
run.start_time_stamp.should == "2010-07-08T11:34:52Z"
|
180
|
+
sf = run.default_source_file
|
181
|
+
sf.should be_a(Mspire::Mzml::SourceFile)
|
182
|
+
sf.id.should == 'RAW1'
|
183
|
+
|
184
|
+
run.sample.should be_nil # no sample
|
185
|
+
end
|
186
|
+
|
187
|
+
describe Mspire::Mzml::Run do
|
188
|
+
|
189
|
+
specify '#spectrum_list' do
|
190
|
+
sl = @mzml.run.spectrum_list
|
191
|
+
sl.should be_a(Mspire::Mzml::SpectrumList)
|
192
|
+
sl.default_data_processing.should be_a(Mspire::Mzml::DataProcessing)
|
193
|
+
sl.default_data_processing.id.should == 'pwiz_Reader_Thermo_conversion'
|
194
|
+
sl.size.should == 3
|
195
|
+
|
196
|
+
sl.each do |spec|
|
197
|
+
spec.should be_a(Mspire::Mzml::Spectrum)
|
198
|
+
spec.params.size.should == 9
|
199
|
+
scan_list = spec.scan_list
|
200
|
+
scan_list.size.should == 1
|
201
|
+
scan_list.params.size.should == 1
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
205
|
+
specify '#chromatogram_list' do
|
206
|
+
cl = @mzml.run.chromatogram_list
|
207
|
+
cl.should be_a(Mspire::Mzml::ChromatogramList)
|
208
|
+
cl.size.should == 1
|
209
|
+
cl.default_data_processing.should be_a(Mspire::Mzml::DataProcessing)
|
210
|
+
cl.default_data_processing.id.should == 'pwiz_Reader_Thermo_conversion'
|
211
|
+
|
212
|
+
cl.each do |chrom|
|
213
|
+
chrom.should be_a(Mspire::Mzml::Chromatogram)
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
describe 'reading a spectrum' do
|
11
220
|
before do
|
12
221
|
@file = TESTFILES + "/mspire/mzml/j24z.idx_comp.3.mzML"
|
13
222
|
@io = File.open(@file)
|
@@ -17,7 +226,7 @@ describe Mspire::Mzml do
|
|
17
226
|
@io.close
|
18
227
|
end
|
19
228
|
|
20
|
-
|
229
|
+
specify '#spectrum (or #[]) returns a spectrum when queried by index (Integer)' do
|
21
230
|
spectrum = @mzml.spectrum(1) # getting the second spectrum
|
22
231
|
spectrum1 = @mzml[1] # can get with brackets
|
23
232
|
spectrum.ms_level.should == 2
|
@@ -25,12 +234,19 @@ describe Mspire::Mzml do
|
|
25
234
|
spectrum.should be_a(Mspire::Mzml::Spectrum)
|
26
235
|
spectrum.should respond_to(:mzs)
|
27
236
|
spectrum.should respond_to(:intensities)
|
237
|
+
|
238
|
+
spectrum.params.size.should == 9
|
239
|
+
|
28
240
|
spectrum.mzs.size.should == 315
|
29
241
|
spectrum.intensities.size.should == 315
|
30
242
|
spectrum.mzs[2].should be_within(1e-10).of(164.32693481445312)
|
31
243
|
end
|
32
244
|
|
33
|
-
|
245
|
+
specify '#spectrum always returns spectrum with data_processing object (uses default if none given)' do
|
246
|
+
@mzml.spectrum(1).data_processing.should be_a(Mspire::Mzml::DataProcessing)
|
247
|
+
end
|
248
|
+
|
249
|
+
specify '#spectrum (or #[]) returns a spectrum when queried by id (String)' do
|
34
250
|
spectrum = @mzml.spectrum("controllerType=0 controllerNumber=1 scan=2")
|
35
251
|
spectrum1 = @mzml["controllerType=0 controllerNumber=1 scan=2"]
|
36
252
|
spectrum.ms_level.should == 2
|
@@ -38,7 +254,7 @@ describe Mspire::Mzml do
|
|
38
254
|
spectrum.should be_a(Mspire::Mzml::Spectrum)
|
39
255
|
end
|
40
256
|
|
41
|
-
|
257
|
+
specify '#each or #each_spectrum goes through each spectrum' do
|
42
258
|
mz_sizes = [20168, 315, 634]
|
43
259
|
centroided_list = [false, true, true]
|
44
260
|
@mzml.each do |spec|
|
@@ -62,19 +278,24 @@ describe Mspire::Mzml do
|
|
62
278
|
lambda {iter.next}.should raise_error
|
63
279
|
end
|
64
280
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
281
|
+
it 'contains scans linked to their instrument config objects' do
|
282
|
+
# this is tricky because we need to use the default instrument config
|
283
|
+
# from the run for the first scan and an element ref for the second...
|
284
|
+
[0,1].each do |i|
|
285
|
+
@mzml[i].scan_list.first.instrument_configuration.should be_a(Mspire::Mzml::InstrumentConfiguration)
|
286
|
+
end
|
287
|
+
instr_config_first = @mzml.instrument_configurations[0]
|
288
|
+
instr_config_last = @mzml.instrument_configurations[1]
|
289
|
+
|
69
290
|
@mzml[0].scan_list.first.instrument_configuration.should == instr_config_first
|
70
291
|
@mzml[1].scan_list.first.instrument_configuration.should == instr_config_last
|
71
292
|
end
|
72
293
|
|
73
294
|
it 'can gracefully determine the m/z with highest peak in select scans' do
|
74
295
|
highest_mzs = Mspire::Mzml.foreach(@file).select {|v| v.ms_level > 1 }.map do |spec|
|
75
|
-
spec.peaks.
|
296
|
+
spec.peaks.max_by(&:last)[0]
|
76
297
|
end
|
77
|
-
highest_mzs.map(&:round).should == [
|
298
|
+
highest_mzs.map(&:round).should == [746, 644]
|
78
299
|
end
|
79
300
|
end
|
80
301
|
end
|
@@ -86,8 +307,9 @@ describe Mspire::Mzml do
|
|
86
307
|
end
|
87
308
|
|
88
309
|
it 'writes MS1 and MS2 spectra' do
|
89
|
-
|
90
|
-
|
310
|
+
spec1 = Mspire::Mzml::Spectrum.new('scan=1') do |spec|
|
311
|
+
# profile and ms_level 1
|
312
|
+
spec.describe_many!(['MS:1000128', ['MS:1000511', 1]])
|
91
313
|
spec.data_arrays = [[1,2,3], [4,5,6]]
|
92
314
|
spec.scan_list = Mspire::Mzml::ScanList.new do |sl|
|
93
315
|
scan = Mspire::Mzml::Scan.new do |scan|
|
@@ -98,10 +320,9 @@ describe Mspire::Mzml do
|
|
98
320
|
end
|
99
321
|
end
|
100
322
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
spec2 = Mspire::Mzml::Spectrum.new('scan=2', params: spec_params) do |spec|
|
323
|
+
spec2 = Mspire::Mzml::Spectrum.new('scan=2') do |spec|
|
324
|
+
# centroid, ms_level 2, MSn spectrum,
|
325
|
+
spec.describe_many!(['MS:1000127', ['MS:1000511', 2], "MS:1000580"])
|
105
326
|
spec.data_arrays = [[1,2,3.5], [5,6,5]]
|
106
327
|
spec.scan_list = Mspire::Mzml::ScanList.new do |sl|
|
107
328
|
scan = Mspire::Mzml::Scan.new do |scan|
|
@@ -110,7 +331,7 @@ describe Mspire::Mzml do
|
|
110
331
|
end
|
111
332
|
sl << scan
|
112
333
|
end
|
113
|
-
precursor = Mspire::Mzml::Precursor.new( spec1 )
|
334
|
+
precursor = Mspire::Mzml::Precursor.new( spec1.id )
|
114
335
|
si = Mspire::Mzml::SelectedIon.new
|
115
336
|
# the selected ion m/z:
|
116
337
|
si.describe! "MS:1000744", 2.0
|
@@ -129,15 +350,14 @@ describe Mspire::Mzml do
|
|
129
350
|
fd.file_content = Mspire::Mzml::FileContent.new
|
130
351
|
fd.source_files << Mspire::Mzml::SourceFile.new
|
131
352
|
end
|
132
|
-
default_instrument_config = Mspire::Mzml::InstrumentConfiguration.new("IC"
|
353
|
+
default_instrument_config = Mspire::Mzml::InstrumentConfiguration.new("IC").describe!('MS:1000031')
|
133
354
|
mzml.instrument_configurations << default_instrument_config
|
134
355
|
software = Mspire::Mzml::Software.new
|
135
356
|
mzml.software_list << software
|
136
357
|
default_data_processing = Mspire::Mzml::DataProcessing.new("did_nothing")
|
137
358
|
mzml.data_processing_list << default_data_processing
|
138
359
|
mzml.run = Mspire::Mzml::Run.new("little_run", default_instrument_config) do |run|
|
139
|
-
spectrum_list = Mspire::Mzml::SpectrumList.new(default_data_processing)
|
140
|
-
spectrum_list.push(spec1, spec2)
|
360
|
+
spectrum_list = Mspire::Mzml::SpectrumList.new(default_data_processing, [spec1, spec2])
|
141
361
|
run.spectrum_list = spectrum_list
|
142
362
|
end
|
143
363
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -11,6 +11,7 @@ TESTFILES = File.dirname(__FILE__) + '/testfiles'
|
|
11
11
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
12
12
|
|
13
13
|
RSpec.configure do |config|
|
14
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
14
15
|
config.color_enabled = true
|
15
16
|
config.tty = true
|
16
17
|
config.formatter = :documentation # :progress, :html, :textmate
|
@@ -0,0 +1,103 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.1_idx.xsd">
|
3
|
+
<mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="1 BB7 SIM 478.5" version="1.1.0">
|
4
|
+
<cvList count="2">
|
5
|
+
<cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="3.7.3" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>
|
6
|
+
<cv id="UO" fullName="Unit Ontology" version="18:03:2011" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo"/>
|
7
|
+
</cvList>
|
8
|
+
<fileDescription>
|
9
|
+
<fileContent>
|
10
|
+
<cvParam cvRef="MS" accession="MS:1001472" name="selected ion monitoring chromatogram" value=""/>
|
11
|
+
</fileContent>
|
12
|
+
<sourceFileList count="1">
|
13
|
+
<sourceFile id="RAW1" name="1 BB7 SIM 478.5.RAW" location="file://D:/Manan Data/25 MARCH/25 MARCH 80 20 M W">
|
14
|
+
<cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value=""/>
|
15
|
+
<cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW file" value=""/>
|
16
|
+
<cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="eeaed7c644ebec89cbf80582e0829dcf40632b6f"/>
|
17
|
+
</sourceFile>
|
18
|
+
</sourceFileList>
|
19
|
+
</fileDescription>
|
20
|
+
<referenceableParamGroupList count="1">
|
21
|
+
<referenceableParamGroup id="CommonInstrumentParams">
|
22
|
+
<cvParam cvRef="MS" accession="MS:1000492" name="Thermo Electron instrument model" value=""/>
|
23
|
+
<cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="LC000249"/>
|
24
|
+
<userParam name="instrument model" value="LCQ"/>
|
25
|
+
</referenceableParamGroup>
|
26
|
+
</referenceableParamGroupList>
|
27
|
+
<softwareList count="2">
|
28
|
+
<software id="Xcalibur" version="2.0">
|
29
|
+
<cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>
|
30
|
+
</software>
|
31
|
+
<software id="pwiz" version="2.2.2954">
|
32
|
+
<cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard" value=""/>
|
33
|
+
</software>
|
34
|
+
</softwareList>
|
35
|
+
<instrumentConfigurationList count="1">
|
36
|
+
<instrumentConfiguration id="IC">
|
37
|
+
<cvParam cvRef="MS" accession="MS:1000031" name="instrument model" value=""/>
|
38
|
+
</instrumentConfiguration>
|
39
|
+
</instrumentConfigurationList>
|
40
|
+
<dataProcessingList count="1">
|
41
|
+
<dataProcessing id="pwiz_Reader_Thermo_conversion">
|
42
|
+
<processingMethod order="0" softwareRef="pwiz">
|
43
|
+
<cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML" value=""/>
|
44
|
+
</processingMethod>
|
45
|
+
</dataProcessing>
|
46
|
+
</dataProcessingList>
|
47
|
+
<run id="_x0031__x0020_BB7_x0020_SIM_x0020_478.5" defaultInstrumentConfigurationRef="IC" startTimeStamp="2012-03-26T17:07:56Z" defaultSourceFileRef="RAW1">
|
48
|
+
<chromatogramList count="2" defaultDataProcessingRef="pwiz_Reader_Thermo_conversion">
|
49
|
+
<chromatogram index="0" id="TIC" defaultArrayLength="72">
|
50
|
+
<cvParam cvRef="MS" accession="MS:1000235" name="total ion current chromatogram" value=""/>
|
51
|
+
<binaryDataArrayList count="2">
|
52
|
+
<binaryDataArray encodedLength="728">
|
53
|
+
<cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
|
54
|
+
<cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value=""/>
|
55
|
+
<cvParam cvRef="MS" accession="MS:1000595" name="time array" value="" unitCvRef="UO" unitAccession="UO:0000031" unitName="minute"/>
|
56
|
+
<binary>eJzTyy71+ZDQZ/9XemHPvWlL7dUqDPyv7N9ovz/iU7fq/h32z50uTenavN/+gOCpF7mRh+2vsFnlLrh8zF7h+yxuz+BT9iZvuCZUnz1rv6TAluv64gv2IFWrky/Zf0iYt6Je+Yp9VfS1VzMeXLVnCePT3TT3ur3WObuattib9ltOlO2bL3Xb/pbDct6SW3fsU6zv+/dOv2d/9Gb7+Q3aD+yBhgFNfGgvK2wzQ/3VQ/skgQjLLSce2YNcO2/FY/tdnjxM2u1P7M+2LtEUTX9qL9R84NRC12f24Q13svVUnttn7SmZLMHywr7uB89upicv7A9/1YjpP/TSnv2zC9Crr+yl9e+qsDW+tk/Q+Xl0Uvwb++KMiW9r7N/a70hd28cp987+9ELXbZ//vrMXmJ8INPK9PUjWNO4D1L8f7G3BDvxo/4Aj9cu2NR/tX6oZcqyR+WTfowoKuU/2U527c57//mRv4SS5Vzf7s71TwtMLSrc/2z+JK1bM9Ppi3xbLWLR+5xd7oGFAH3y1NwIH1Fd7kG/vc3yzX3vV8GBz5Td7YGQAQ/6bfSQoOiK+Q8Phuz0r/7POX+Y/7EGh57D8h/1GbYd3puI/7YPBAfzTPtZjVlDht5/2/900Fm9P/WXPCXLm1V/QcPptLwOK7q2/7YGRAAyJP/aJoOia8gcabn/tS8AR89de/Oa578GP/9rvvB4DNPEfNBz/2YONM/xvDwCMmSix</binary>
|
57
|
+
</binaryDataArray>
|
58
|
+
<binaryDataArray encodedLength="288">
|
59
|
+
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" value=""/>
|
60
|
+
<cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value=""/>
|
61
|
+
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
|
62
|
+
<binary>eJxjYMABHIxdGVoc3RhmcLkzXKlxZ1gu4c5w7KwbQ4WWG8OH6a4MDS9cGComuTGIlrkzpFx1YxB0cGeQfOPOUMDt0bD8qHvDpknuDD+uuTE4THBlqHjiCjc3JdWNweSoW0NUlzvDqiJ3hjMX3Bgsdrgx1Fi6MRz47YJwwBwXhoYpLgw1rUC5aW4MpRbuDN/+uTEU/HFlEOhwY2goRJj5ocGVQUHXlaFE343BSce9ganXncExxJ1hylc3hgxvN4YFvG4MChNdGAzYIHoebEGyBz8AACv9PyU=</binary>
|
63
|
+
</binaryDataArray>
|
64
|
+
</binaryDataArrayList>
|
65
|
+
</chromatogram>
|
66
|
+
<chromatogram index="1" id="SIM SIC 478.5" defaultArrayLength="72">
|
67
|
+
<cvParam cvRef="MS" accession="MS:1001472" name="selected ion monitoring chromatogram" value=""/>
|
68
|
+
<precursor>
|
69
|
+
<isolationWindow>
|
70
|
+
<cvParam cvRef="MS" accession="MS:1000827" name="isolation window target m/z" value="478.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
71
|
+
<cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
72
|
+
<cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
73
|
+
</isolationWindow>
|
74
|
+
<activation>
|
75
|
+
</activation>
|
76
|
+
</precursor>
|
77
|
+
<binaryDataArrayList count="2">
|
78
|
+
<binaryDataArray encodedLength="728">
|
79
|
+
<cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
|
80
|
+
<cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value=""/>
|
81
|
+
<cvParam cvRef="MS" accession="MS:1000595" name="time array" value="" unitCvRef="UO" unitAccession="UO:0000031" unitName="minute"/>
|
82
|
+
<binary>eJzTyy71+ZDQZ/9XemHPvWlL7dUqDPyv7N9ovz/iU7fq/h32z50uTenavN/+gOCpF7mRh+2vsFnlLrh8zF7h+yxuz+BT9iZvuCZUnz1rv6TAluv64gv2IFWrky/Zf0iYt6Je+Yp9VfS1VzMeXLVnCePT3TT3ur3WObuattib9ltOlO2bL3Xb/pbDct6SW3fsU6zv+/dOv2d/9Gb7+Q3aD+yBhgFNfGgvK2wzQ/3VQ/skgQjLLSce2YNcO2/FY/tdnjxM2u1P7M+2LtEUTX9qL9R84NRC12f24Q13svVUnttn7SmZLMHywr7uB89upicv7A9/1YjpP/TSnv2zC9Crr+yl9e+qsDW+tk/Q+Xl0Uvwb++KMiW9r7N/a70hd28cp987+9ELXbZ//vrMXmJ8INPK9PUjWNO4D1L8f7G3BDvxo/4Aj9cu2NR/tX6oZcqyR+WTfowoKuU/2U527c57//mRv4SS5Vzf7s71TwtMLSrc/2z+JK1bM9Ppi3xbLWLR+5xd7oGFAH3y1NwIH1Fd7kG/vc3yzX3vV8GBz5Td7YGQAQ/6bfSQoOiK+Q8Phuz0r/7POX+Y/7EGh57D8h/1GbYd3puI/7YPBAfzTPtZjVlDht5/2/900Fm9P/WXPCXLm1V/QcPptLwOK7q2/7YGRAAyJP/aJoOia8gcabn/tS8AR89de/Oa578GP/9rvvB4DNPEfNBz/2YONM/xvDwCMmSix</binary>
|
83
|
+
</binaryDataArray>
|
84
|
+
<binaryDataArray encodedLength="288">
|
85
|
+
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" value=""/>
|
86
|
+
<cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value=""/>
|
87
|
+
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
|
88
|
+
<binary>eJxjYMABHIxdGVoc3RhmcLkzXKlxZ1gu4c5w7KwbQ4WWG8OH6a4MDS9cGComuTGIlrkzpFx1YxB0cGeQfOPOUMDt0bD8qHvDpknuDD+uuTE4THBlqHjiCjc3JdWNweSoW0NUlzvDqiJ3hjMX3Bgsdrgx1Fi6MRz47YJwwBwXhoYpLgw1rUC5aW4MpRbuDN/+uTEU/HFlEOhwY2goRJj5ocGVQUHXlaFE343BSce9ganXncExxJ1hylc3hgxvN4YFvG4MChNdGAzYIHoebEGyBz8AACv9PyU=</binary>
|
89
|
+
</binaryDataArray>
|
90
|
+
</binaryDataArrayList>
|
91
|
+
</chromatogram>
|
92
|
+
</chromatogramList>
|
93
|
+
</run>
|
94
|
+
</mzML>
|
95
|
+
<indexList count="2">
|
96
|
+
<index name="chromatogram">
|
97
|
+
<offset idRef="TIC">3158</offset>
|
98
|
+
<offset idRef="SIM SIC 478.5">5334</offset>
|
99
|
+
</index>
|
100
|
+
</indexList>
|
101
|
+
<indexListOffset>8219</indexListOffset>
|
102
|
+
<fileChecksum>80aaa01cefde0abbd6178089a0187e7ae742ae95</fileChecksum>
|
103
|
+
</indexedmzML>
|
@@ -74,7 +74,7 @@
|
|
74
74
|
</dataProcessing>
|
75
75
|
</dataProcessingList>
|
76
76
|
<run id="j24" defaultInstrumentConfigurationRef="IC1" startTimeStamp="2010-07-08T11:34:52Z" defaultSourceFileRef="RAW1">
|
77
|
-
<spectrumList count="
|
77
|
+
<spectrumList count="3" defaultDataProcessingRef="pwiz_Reader_Thermo_conversion">
|
78
78
|
<spectrum index="0" id="controllerType=0 controllerNumber=1 scan=1" defaultArrayLength="20168">
|
79
79
|
<cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="1"/>
|
80
80
|
<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/>
|
@@ -258,14 +258,14 @@
|
|
258
258
|
</mzML>
|
259
259
|
<indexList count="2">
|
260
260
|
<index name="spectrum">
|
261
|
-
<offset idRef="controllerType=0 controllerNumber=1 scan=1">
|
262
|
-
<offset idRef="controllerType=0 controllerNumber=1 scan=2">
|
263
|
-
<offset idRef="controllerType=0 controllerNumber=1 scan=3">
|
261
|
+
<offset idRef="controllerType=0 controllerNumber=1 scan=1">4397</offset>
|
262
|
+
<offset idRef="controllerType=0 controllerNumber=1 scan=2">219666</offset>
|
263
|
+
<offset idRef="controllerType=0 controllerNumber=1 scan=3">227894</offset>
|
264
264
|
</index>
|
265
265
|
<index name="chromatogram">
|
266
|
-
<offset idRef="TIC">
|
266
|
+
<offset idRef="TIC">239183</offset>
|
267
267
|
</index>
|
268
268
|
</indexList>
|
269
|
-
<indexListOffset>
|
269
|
+
<indexListOffset>240800</indexListOffset>
|
270
270
|
<fileChecksum>4204d7e91808d1976df85df5c97f239ff085090d</fileChecksum>
|
271
271
|
</indexedmzML>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mspire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-07-
|
13
|
+
date: 2012-07-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
@@ -192,7 +192,7 @@ description: mass spectrometry proteomics, lipidomics, and tools, a rewrite of m
|
|
192
192
|
merging of ms-* gems
|
193
193
|
email: jtprince@gmail.com
|
194
194
|
executables:
|
195
|
-
-
|
195
|
+
- mspire
|
196
196
|
extensions: []
|
197
197
|
extra_rdoc_files:
|
198
198
|
- LICENSE
|
@@ -202,8 +202,9 @@ files:
|
|
202
202
|
- README.rdoc
|
203
203
|
- Rakefile
|
204
204
|
- VERSION
|
205
|
-
- bin/
|
205
|
+
- bin/mspire
|
206
206
|
- lib/core_ext/array/in_groups.rb
|
207
|
+
- lib/core_ext/enumerable.rb
|
207
208
|
- lib/cv.rb
|
208
209
|
- lib/cv/param.rb
|
209
210
|
- lib/cv/referenceable_param_group_ref.rb
|
@@ -211,6 +212,7 @@ files:
|
|
211
212
|
- lib/merge.rb
|
212
213
|
- lib/mspire.rb
|
213
214
|
- lib/mspire/bin.rb
|
215
|
+
- lib/mspire/commandline.rb
|
214
216
|
- lib/mspire/cv/obo.rb
|
215
217
|
- lib/mspire/cv/param.rb
|
216
218
|
- lib/mspire/cv/paramable.rb
|
@@ -260,14 +262,19 @@ files:
|
|
260
262
|
- lib/mspire/mzml/data_processing.rb
|
261
263
|
- lib/mspire/mzml/file_content.rb
|
262
264
|
- lib/mspire/mzml/file_description.rb
|
265
|
+
- lib/mspire/mzml/index.rb
|
263
266
|
- lib/mspire/mzml/index_list.rb
|
264
267
|
- lib/mspire/mzml/instrument_configuration.rb
|
268
|
+
- lib/mspire/mzml/io_index.rb
|
269
|
+
- lib/mspire/mzml/io_indexable_list.rb
|
265
270
|
- lib/mspire/mzml/isolation_window.rb
|
266
271
|
- lib/mspire/mzml/list.rb
|
272
|
+
- lib/mspire/mzml/parser.rb
|
267
273
|
- lib/mspire/mzml/plms1.rb
|
268
274
|
- lib/mspire/mzml/precursor.rb
|
269
275
|
- lib/mspire/mzml/processing_method.rb
|
270
276
|
- lib/mspire/mzml/product.rb
|
277
|
+
- lib/mspire/mzml/reader.rb
|
271
278
|
- lib/mspire/mzml/referenceable_param_group.rb
|
272
279
|
- lib/mspire/mzml/run.rb
|
273
280
|
- lib/mspire/mzml/sample.rb
|
@@ -325,11 +332,11 @@ files:
|
|
325
332
|
- spec/mspire/mzml/cv_spec.rb
|
326
333
|
- spec/mspire/mzml/data_array_spec.rb
|
327
334
|
- spec/mspire/mzml/file_content_spec.rb
|
328
|
-
- spec/mspire/mzml/file_description_spec.rb
|
329
335
|
- spec/mspire/mzml/index_list_spec.rb
|
330
336
|
- spec/mspire/mzml/plms1_spec.rb
|
331
337
|
- spec/mspire/mzml/referenceable_param_group_spec.rb
|
332
338
|
- spec/mspire/mzml/source_file_spec.rb
|
339
|
+
- spec/mspire/mzml/spectrum_list_spec.rb
|
333
340
|
- spec/mspire/mzml/spectrum_spec.rb
|
334
341
|
- spec/mspire/mzml_spec.rb
|
335
342
|
- spec/mspire/peaklist_spec.rb
|
@@ -345,6 +352,7 @@ files:
|
|
345
352
|
- spec/testfiles/mspire/ident/peptide/db/uni_11_sp_tr.msd_clvg2.min_aaseq4.yml
|
346
353
|
- spec/testfiles/mspire/imzml/continuous_binary_check.ibd
|
347
354
|
- spec/testfiles/mspire/imzml/processed_binary_check.ibd
|
355
|
+
- spec/testfiles/mspire/mzml/1_BB7_SIM_478.5.mzML
|
348
356
|
- spec/testfiles/mspire/mzml/j24z.idx_comp.3.mzML
|
349
357
|
- spec/testfiles/mspire/mzml/mspire_simulated.MSn.check.mzML
|
350
358
|
- spec/testfiles/mspire/mzml/openms.noidx_nocomp.12.mzML
|
@@ -390,7 +398,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
390
398
|
version: '0'
|
391
399
|
requirements: []
|
392
400
|
rubyforge_project:
|
393
|
-
rubygems_version: 1.8.
|
401
|
+
rubygems_version: 1.8.24
|
394
402
|
signing_key:
|
395
403
|
specification_version: 3
|
396
404
|
summary: mass spectrometry proteomics, lipidomics, and tools
|
data/bin/mzml_to_imzml
DELETED