mspire 0.7.18 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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