mascot-mgf 0.2.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/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+ *.idx
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in mascot-mgf.gemspec
4
+ gemspec
data/README.rdoc ADDED
@@ -0,0 +1,51 @@
1
+ = Mascot::MGF
2
+
3
+ A parser for Mascot Generic Format (MGF) files.
4
+
5
+ == MGF Format
6
+
7
+ The Mascot::MGF object represents a file of MSMS spectra. See http://www.matrixscience.com/help/data_file_help.html#GEN for more
8
+ information on this file format.
9
+
10
+
11
+ == Mascot::MGF
12
+
13
+ A subclass of File, opens an MGF flat file to read entries using Enumerable syntax.
14
+
15
+ == Mascot::MGF::Query
16
+
17
+ A simple object that represents individual MS/MS spectrum objects in an MGF file. I use "Query" instead of "Spectrum" to remain consistent with Mascot''s terminology.
18
+
19
+ == Simple Usage Examples
20
+
21
+ === Reading
22
+
23
+ require 'mascot/mgf'
24
+
25
+ # This opens a MGF file and builds an index of the query
26
+ # positions. The index is cached to the filesystem.
27
+ mgf = Mascot::MGF.open("some/file/path.mgf")
28
+
29
+ # Same thing as above, but does not cache the index to filesystem
30
+ mgf = Mascot::MGF.open("some/file/path.mgf",false)
31
+
32
+ # How many queries are in this file?
33
+ mgf.query_count
34
+ # Reads the next query from the read cursor position
35
+ query_string = mgf.readquery()
36
+
37
+ # Create a Mascot::MGF::Query from the query string
38
+ query = Mascot::Query.new(query_string)
39
+ puts query.title
40
+
41
+ # Read the next query as a Mascot::MGF::Query object
42
+ query = mgf.query()
43
+ puts query.title
44
+
45
+ # puts cursor at begining of MGF file
46
+ mgf.rewind
47
+ mgf.each_query do |query_object|
48
+ # do something with query...
49
+ end
50
+
51
+
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rake/testtask'
5
+ Rake::TestTask.new do |t|
6
+ t.libs << "test"
7
+ t.test_files = FileList['test/test*.rb']
8
+ t.verbose = true
9
+ end
data/lib/mascot/mgf.rb ADDED
@@ -0,0 +1,86 @@
1
+ module Mascot
2
+ class MGF < File
3
+ require 'mascot/mgf/query'
4
+ attr_reader :idx, :full_path, :curr_index
5
+ def initialize(mgf_file_path,cache_index=true,open_mode="r")
6
+ super(mgf_file_path, open_mode)
7
+ @full_path = File.expand_path(mgf_file_path)
8
+ @cache_index = cache_index
9
+ @curr_index = 0
10
+ @idx = {}
11
+ parse_index()
12
+ end
13
+
14
+ def rewind
15
+ super
16
+ @curr_index = 0
17
+ end
18
+
19
+ def readquery(n=nil)
20
+ if n
21
+ @curr_index = n
22
+ end
23
+ self.pos = @idx[@curr_index][0]
24
+ bytelength = @idx[@curr_index][1] - @idx[@curr_index][0]
25
+ @curr_index += 1
26
+ self.read(bytelength)
27
+ end
28
+
29
+ def each_query
30
+ while !self.eof?
31
+ yield self.query() if block_given?
32
+ end
33
+ end
34
+
35
+ # alias_method :io_each, :each
36
+ # def each
37
+ # while !self.eof?
38
+ # yield self.readquery if block_given?
39
+ # end
40
+ # end
41
+
42
+ def query(n=nil)
43
+ Mascot::MGF::Query.new(self.readquery(n))
44
+ end
45
+
46
+ # reports how many queries are in this MGF file
47
+ def query_count()
48
+ return @idx.length
49
+ end
50
+
51
+ private
52
+
53
+ def parse_index()
54
+ if File.exists?(@full_path + ".idx")
55
+ # read the index from file
56
+ idx_file = File.open(@full_path + ".idx",'rb')
57
+ @idx = ::Marshal.load(idx_file)
58
+ idx_file.close
59
+ else
60
+ create_index()
61
+ end
62
+ end
63
+
64
+ def create_index()
65
+ @idx = []
66
+ # state tracker, 0 => not in a ions boundary, 1 => in a query
67
+ ion_boundary_state = 0
68
+ self.rewind
69
+ self.grep(/^(\w+) IONS$/) do |l|
70
+ case $1
71
+ when "BEGIN"
72
+ @idx << [self.pos - l.length, nil]
73
+ when "END"
74
+ @idx[-1][1] = self.pos
75
+ end
76
+ end
77
+ if @cache_index
78
+ idx_file = File.open(@full_path + ".idx",'wb')
79
+ idx_file.print(::Marshal.dump(@idx))
80
+ idx_file.close
81
+ end
82
+ # place cursor at beginning of file again
83
+ self.rewind
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,68 @@
1
+ module Mascot
2
+ class MGF
3
+ class Query
4
+
5
+ attr_accessor :ions, :title, :pepmass, :entry, :charge
6
+
7
+ # Initializes a spectrum entry from a MGF formatted string or from an Array
8
+ # that is the newline split of MGF 'BEGIN IONS\n...\nEND IONS'
9
+ def initialize(entry=nil)
10
+ if entry.kind_of? String
11
+ entry = entry.split(/\n/)
12
+ end
13
+ @title = 'id=1'
14
+ @pepmass = []
15
+ @atts = {}
16
+ @ions = []
17
+ @charge = nil
18
+ parse(entry)
19
+ end
20
+
21
+ # Returns the formatted MGF entry string
22
+ def to_s
23
+ tmp = "BEGIN IONS\nTITLE=#{@title}\n"
24
+ tmp += "PEPMASS=#{@pepmass.join(' ')}\n" if @pepmass.length > 0
25
+ tmp += "CHARGE=#{@charge}+\n" if @charge
26
+ @atts.each_pair do |k,v|
27
+ tmp += "#{k.to_s.upcase}=#{v}\n"
28
+ end
29
+ tmp += @ions.collect { |i| i.join(" ")}.join("\n")
30
+ tmp += "\nqEND IONS\n"
31
+ return tmp
32
+ end
33
+
34
+ def method_missing(m)
35
+ if @atts.has_key? m.to_sym
36
+ return @atts[m.to_sym]
37
+ else
38
+ return nil
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def parse(entry)
45
+ return nil if entry.nil?
46
+ entry.each do |ln|
47
+ if ln =~ /(\w+)=(.+)/
48
+ case $1
49
+ when "PEPMASS"
50
+ @pepmass = $2.split(/\s/).collect {|e| e.to_f }
51
+ when "TITLE"
52
+ @title = $2
53
+ when "CHARGE"
54
+ @charge = $2.to_i
55
+ else
56
+ @atts[$1.downcase.to_sym] = $2
57
+ end
58
+ elsif ln =~ /^\d+/
59
+ tmp = ln.split(/\s+/).map {|e| e.to_f }
60
+ @ions << tmp
61
+ else
62
+ next
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,5 @@
1
+ module Mascot
2
+ class MGF
3
+ VERSION = "0.2.0"
4
+ end
5
+ end
@@ -0,0 +1,19 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "mascot/mgf/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "mascot-mgf"
7
+ s.version = Mascot::MGF::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Angel Pizarro"]
10
+ s.email = ["delagoya@gmail.com"]
11
+ s.homepage = "https://github.com/delagoya/mascot-mgf"
12
+ s.summary = %q{A parser for Mascot Generic Format (MGF) files}
13
+ s.description = s.summary
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ s.require_paths = ["lib"]
19
+ end
@@ -0,0 +1,749 @@
1
+ BEGIN IONS
2
+ TITLE=example.9.9.2
3
+ RTINSECONDS=318.0218
4
+ PEPMASS=1019.0322875976562 563.95965576171875
5
+ CHARGE=2
6
+ 484.3849487 0.5770078897
7
+ 572.6119385 0.5543299913
8
+ 603.659668 0.7869901657
9
+ 612.3583984 0.7114390135
10
+ 740.4682617 1.021142125
11
+ 796.2832031 1.051657796
12
+ 832.2305908 0.519821763
13
+ 843.5834961 0.514819622
14
+ 865.2956543 1.33468771
15
+ 883.6113281 0.9751986265
16
+ 913.4781494 0.4968527555
17
+ 946.2431641 0.4950940609
18
+ 956.1906738 0.4559304714
19
+ 966.5097656 2.257080078
20
+ 982.8709717 1.082980752
21
+ 1058.980347 1.822528481
22
+ 1070.601807 0.9599312544
23
+ 1110.454956 0.5712217093
24
+ 1171.136475 1.172691107
25
+ END IONS
26
+ BEGIN IONS
27
+ TITLE=example.10.10.2
28
+ RTINSECONDS=319.7966
29
+ PEPMASS=1018.52 563.95965576171875
30
+ CHARGE=2
31
+ 399.3823242 1.123714209
32
+ 476.3341064 0.4474678636
33
+ 521.3306274 0.9501408339
34
+ 599.229126 0.3707848191
35
+ 626.4042358 0.4348319769
36
+ 690.3245239 2.368940592
37
+ 704.0707397 0.6478887796
38
+ 799.6512451 0.9869466424
39
+ 943.0922852 3.191905737
40
+ 966.4614258 1.56655407
41
+ 971.6225586 1.272783637
42
+ 972.3641357 1.25383842
43
+ 973.3752441 1.155608416
44
+ 990.0325928 0.5406177044
45
+ 996.6890869 2.841355324
46
+ 1025.932861 2.396373272
47
+ END IONS
48
+ BEGIN IONS
49
+ TITLE=example.11.11.3
50
+ RTINSECONDS=321.5638
51
+ PEPMASS=561.320068359375 889.25
52
+ CHARGE=3
53
+ 214.2124634 0.5079492331
54
+ 217.1179047 1.53825736
55
+ 218.1861572 1.147884011
56
+ 235.3002625 0.5769481659
57
+ 240.8459167 0.32840994
58
+ 249.1792603 1.112214565
59
+ 253.3727722 0.55133605
60
+ 261.0857239 1.346872807
61
+ 263.2940063 0.348692894
62
+ 266.8895569 0.6876446009
63
+ 285.3161011 0.8915984631
64
+ 291.1618042 0.5775989294
65
+ 295.2507324 0.619767487
66
+ 297.4539185 0.7237651348
67
+ 299.3981934 1.084875226
68
+ 301.0055542 0.4989162982
69
+ 317.0911865 0.4514015317
70
+ 337.8687134 0.5078052878
71
+ 339.0962524 0.9045185447
72
+ 349.2678833 0.8393568993
73
+ 350.2177124 0.7023636103
74
+ 355.7720337 1.949855089
75
+ 365.1151733 0.4981802702
76
+ 367.9235229 2.96247673
77
+ 371.28125 0.7534642816
78
+ 387.3262939 1.295881391
79
+ 391.2098389 0.5513612032
80
+ 401.7608643 2.359985828
81
+ 403.2973633 0.9201031923
82
+ 404.1921387 1.825674176
83
+ 409.5377808 2.510149956
84
+ 427.2265625 1.433308125
85
+ 429.1347656 0.8890227079
86
+ 433.3051758 0.5209444165
87
+ 446.0682373 0.6688643694
88
+ 459.3013306 1.733651042
89
+ 479.6262817 2.05108285
90
+ 484.5802002 2.986616135
91
+ 486.8084106 3.153401375
92
+ 493.5549316 3.38057518
93
+ 498.4393921 2.279510975
94
+ 512.9178467 3.455153465
95
+ 516.6897583 3.230442762
96
+ 519.3769531 4.618147373
97
+ 530.1373901 3.483972073
98
+ 538.166748 6.373056412
99
+ 543.1551514 23.32797432
100
+ 544.2229614 3.580401421
101
+ 549.0419312 3.72022891
102
+ 553.1619873 3.092124939
103
+ 560.75354 2.558490753
104
+ 571.3545532 1.563783884
105
+ 579.7411499 0.5337645411
106
+ 594.6777954 0.5342989564
107
+ 653.4069824 1.811122656
108
+ 669.3024902 1.209888816
109
+ 676.6295776 0.6350377798
110
+ 708.0923462 0.5996209383
111
+ 840.3482056 1.975260258
112
+ 842.0618286 1.072056055
113
+ 843.7404785 1.214952946
114
+ 874.3738403 0.4028888345
115
+ 984.4448242 0.3285174966
116
+ 989.6129761 0.8752188087
117
+ END IONS
118
+ BEGIN IONS
119
+ TITLE=example.12.12.2
120
+ RTINSECONDS=323.2491
121
+ PEPMASS=842.48000000000002 607.7696533203125
122
+ CHARGE=2
123
+ 482.3001709 0.4324373305
124
+ 502.211853 0.7618098259
125
+ 612.2669067 0.9459207654
126
+ 634.7554321 0.5175284743
127
+ 689.890564 2.040230751
128
+ 697.5040283 0.6258113384
129
+ 700.604187 0.3491969705
130
+ 772.8255615 3.464332581
131
+ 778.7335815 2.351529837
132
+ 782.6358643 0.3362905383
133
+ 796.192688 1.408040762
134
+ 801.0006104 0.8809376359
135
+ 813.2214355 1.871575356
136
+ 814.1947632 3.03738308
137
+ 824.6907959 1.210402131
138
+ 829.2165527 2.137371302
139
+ 831.3239136 3.738498449
140
+ 833.0012817 0.492280215
141
+ 1036.34082 2.415784836
142
+ 1459.637329 2.134315252
143
+ END IONS
144
+ BEGIN IONS
145
+ TITLE=example.13.13.3
146
+ RTINSECONDS=324.9394
147
+ PEPMASS=794.401123046875 720.65789794921875
148
+ CHARGE=3
149
+ 248.2271423 0.6093941331
150
+ 279.0594482 0.4884580374
151
+ 286.3009644 0.5600289702
152
+ 292.0404663 0.5826399922
153
+ 329.2764893 0.9389218688
154
+ 363.1159668 0.5527257323
155
+ 377.2107544 1.123433471
156
+ 478.7575073 0.3493327796
157
+ 515.2532349 1.673222423
158
+ 516.1997681 0.5535542965
159
+ 543.8418579 0.861541152
160
+ 555.5355225 2.133845329
161
+ 570.8788452 0.305508256
162
+ 578.4232788 0.6268971562
163
+ 582.0060425 1.058025122
164
+ 605.5252075 2.393218994
165
+ 634.1067505 0.8179352283
166
+ 643.7689209 0.3608101308
167
+ 644.5855713 0.5603032112
168
+ 658.4233398 1.166158795
169
+ 668.3064575 0.6220275164
170
+ 676.6555176 1.00002265
171
+ 680.491272 3.234024286
172
+ 740.7355957 1.787957668
173
+ 746.1824341 1.302459598
174
+ 747.9275513 1.873590469
175
+ 749.4466553 3.807280064
176
+ 751.6921997 1.488516808
177
+ 761.9030151 1.567736506
178
+ 775.77948 1.261268139
179
+ 806.8104858 2.397683144
180
+ 836.4013672 1.467211604
181
+ 869.5907593 1.925979972
182
+ 871.5454712 1.997768044
183
+ 873.4783325 0.4221996665
184
+ 878.0060425 3.006604195
185
+ 896.0184937 0.6171434522
186
+ 914.4851685 1.818511605
187
+ 981.3081055 0.6618193984
188
+ 1139.340698 0.5151043534
189
+ 1145.526489 1.319654346
190
+ END IONS
191
+ BEGIN IONS
192
+ TITLE=example.85.85.2
193
+ RTINSECONDS=616.3159
194
+ PEPMASS=523.7305908203125 379.34524536132812
195
+ CHARGE=2
196
+ 211.1389465 0.5329607725
197
+ 216.9493866 0.5554800034
198
+ 222.393219 0.7692236304
199
+ 244.1996155 13.30757523
200
+ 263.0023193 0.7526861429
201
+ 294.3844299 0.5845840573
202
+ 306.173584 0.9328426719
203
+ 311.8807983 1.04430604
204
+ 313.6195679 0.3637860715
205
+ 339.6980591 1.145601749
206
+ 341.0322876 0.7087330818
207
+ 344.1508179 0.3748705387
208
+ 359.3416138 5.005568981
209
+ 365.1758423 1.924568653
210
+ 368.8477783 1.91349721
211
+ 396.1181641 0.6178082824
212
+ 400.7767334 2.472245455
213
+ 410.2971191 0.5597035885
214
+ 411.0403442 0.9606666565
215
+ 423.4848633 1.174168825
216
+ 426.0943604 0.5629777908
217
+ 435.8413696 1.199322104
218
+ 444.425354 0.7186738253
219
+ 445.6154175 0.8069694638
220
+ 453.8773804 2.756167412
221
+ 460.3662109 2.383045912
222
+ 463.2780151 0.6105921865
223
+ 472.8972778 3.056671619
224
+ 487.0824585 6.437373161
225
+ 488.270813 3.689417839
226
+ 497.1900635 4.197246552
227
+ 506.0082397 47.92982483
228
+ 508.2248535 5.090812683
229
+ 514.5447388 11.21437931
230
+ 524.5882568 4.408984184
231
+ 539.1693115 0.7553642392
232
+ 541.2042847 2.146279335
233
+ 541.9349976 1.277698278
234
+ 560.9442139 0.9594900012
235
+ 575.062439 7.48883009
236
+ 575.9729614 0.474064678
237
+ 584.6605225 2.114267588
238
+ 635.1540527 1.268718719
239
+ 652.2153931 0.873947978
240
+ 670.3409424 1.579822183
241
+ 671.5664673 2.129349232
242
+ 672.5481567 0.7239427567
243
+ 689.2544556 4.602526188
244
+ 751.1819458 1.073459387
245
+ 767.7461548 5.723561764
246
+ 769.2626343 0.5417875648
247
+ 777.1691284 0.3122755289
248
+ 785.2286377 1.25833118
249
+ 786.3475952 3.345280886
250
+ 788.425415 0.5875461102
251
+ 803.3521118 8.549671173
252
+ 804.324646 1.158222318
253
+ 818.4797363 2.09934926
254
+ 819.2992554 0.5335377455
255
+ 883.4719849 1.431419611
256
+ END IONS
257
+ BEGIN IONS
258
+ TITLE=example.117.117.2
259
+ RTINSECONDS=743.714
260
+ PEPMASS=335.1502685546875 328.1790771484375
261
+ CHARGE=2
262
+ 121.4850464 0.7043766975
263
+ 123.3002853 0.4451380074
264
+ 127.4433823 0.3581010997
265
+ 129.2689819 1.465785027
266
+ 145.1014709 2.099927187
267
+ 147.1472168 3.6386199
268
+ 154.2115326 0.5060045123
269
+ 159.1264038 1.137701631
270
+ 166.1483002 0.4432554245
271
+ 169.2284241 2.722631931
272
+ 177.1769409 0.8761234283
273
+ 183.1376038 1.745612025
274
+ 186.3777161 1.902774453
275
+ 193.3776855 0.7951247096
276
+ 217.3624878 2.381692648
277
+ 223.2224121 2.358162165
278
+ 241.1680603 3.17774272
279
+ 244.2688904 13.56351757
280
+ 257.213501 3.455976248
281
+ 258.701416 3.045774937
282
+ 263.2269897 7.469710827
283
+ 271.821228 10.22790146
284
+ 280.614563 22.81719208
285
+ 288.9161072 15.17269611
286
+ 303.1882935 116.6303406
287
+ 303.7946777 29.52709198
288
+ 304.9029846 15.01620865
289
+ 316.9482422 20.49264526
290
+ 326.1323242 43.1463623
291
+ 326.9099731 39.4330368
292
+ 343.4151306 1.137889028
293
+ 344.0830383 0.6612927318
294
+ 351.7218018 0.313057512
295
+ 363.2738037 1.359792471
296
+ 370.6615295 1.125272036
297
+ 379.2424622 1.501172662
298
+ 389.0871277 1.557669401
299
+ 407.1244507 6.267323971
300
+ 408.3694763 7.768602848
301
+ 409.8353882 1.998701811
302
+ 425.8818665 3.560530424
303
+ 426.6386108 2.307590008
304
+ 430.328949 2.524950504
305
+ 440.7459412 1.921240926
306
+ 445.6057434 0.9093453288
307
+ 456.749054 1.176372528
308
+ 458.0511169 1.027346253
309
+ 459.2313538 1.425459743
310
+ 467.3235168 0.8507453799
311
+ 481.062439 0.6090244651
312
+ 499.1841125 0.3935277462
313
+ 504.4784241 1.060359001
314
+ 522.3110962 1.911382318
315
+ 523.0993042 0.9257962704
316
+ 541.1361694 0.2956523001
317
+ 542.1084595 0.6177220941
318
+ 551.4298706 2.98583889
319
+ 560.0750732 2.249616146
320
+ 561.496521 1.840927005
321
+ 574.4428101 0.924669385
322
+ 576.8121948 1.474801064
323
+ 587.1000977 0.6729650497
324
+ END IONS
325
+ BEGIN IONS
326
+ TITLE=example.118.118.2
327
+ RTINSECONDS=745.2306
328
+ PEPMASS=466.71701049804687 432.5018310546875
329
+ CHARGE=2
330
+ 147.1004639 0.3176232576
331
+ 172.1444397 0.9404997826
332
+ 174.2100372 0.9621620178
333
+ 187.351532 0.9264004827
334
+ 214.447937 0.796515584
335
+ 216.1173706 1.803447247
336
+ 217.8689575 0.9655352235
337
+ 234.2340698 2.66141367
338
+ 235.2006683 1.297281265
339
+ 242.9232941 0.4863547981
340
+ 245.2593689 0.7697398663
341
+ 261.7142944 0.7534945607
342
+ 262.3843079 0.4260020852
343
+ 266.1951599 0.3372295201
344
+ 268.079071 0.8340091705
345
+ 273.1517944 0.6477704644
346
+ 285.4802246 0.8051217794
347
+ 292.3832703 1.320146918
348
+ 305.5692139 0.7129622102
349
+ 312.9916382 5.151666164
350
+ 317.0382996 1.07352376
351
+ 322.0133362 1.089406371
352
+ 325.3605957 0.8190016747
353
+ 337.0226135 1.006708503
354
+ 338.3357849 1.350593686
355
+ 345.3520508 1.199983358
356
+ 348.1665649 2.884394169
357
+ 352.306366 0.7067697644
358
+ 369.6199951 1.587279677
359
+ 370.2646484 2.077759266
360
+ 394.1159973 3.220893621
361
+ 409.6889343 7.372065544
362
+ 414.9433289 11.14296436
363
+ 420.8303223 4.326873779
364
+ 448.9916687 21.64066315
365
+ 454.6728821 8.091458321
366
+ 457.4909363 18.7855854
367
+ 458.2206421 34.18597794
368
+ 458.8277283 14.98420906
369
+ 460.5778198 10.3732338
370
+ 526.9248657 0.9062876105
371
+ 529.6349487 2.743445158
372
+ 533.4152222 1.021852493
373
+ 542.3811035 6.242788315
374
+ 543.3536987 1.516145229
375
+ 556.630188 1.139309764
376
+ 569.2957764 0.6444801092
377
+ 573.1643677 2.321824551
378
+ 618.3081665 0.7936395407
379
+ 628.4851685 0.8880788684
380
+ 637.7532349 1.166421771
381
+ 640.826355 0.9047894478
382
+ 642.3590088 4.026949883
383
+ 647.3378906 0.8252022862
384
+ 653.3931274 1.372966886
385
+ 664.4226685 0.9331865311
386
+ 671.366394 12.11707878
387
+ 672.4063721 4.272506237
388
+ 689.8990479 0.5284511447
389
+ 729.3259888 1.085558891
390
+ 788.1700439 0.3972739577
391
+ 828.6289063 0.7840144634
392
+ END IONS
393
+ BEGIN IONS
394
+ TITLE=example.119.119.3
395
+ RTINSECONDS=746.8091
396
+ PEPMASS=366.81558227539062 377.08847045898437
397
+ CHARGE=3
398
+ 124.2394257 0.3644512594
399
+ 126.0281601 0.464697212
400
+ 135.306427 0.4237847924
401
+ 138.0756683 0.6088783741
402
+ 159.3502502 0.3765163124
403
+ 169.2841187 0.7812672853
404
+ 175.191803 1.258206844
405
+ 187.0795746 3.140595436
406
+ 197.3241119 0.9977964163
407
+ 198.5385742 1.462326765
408
+ 199.4194946 1.518436074
409
+ 211.1928253 0.7628964186
410
+ 219.8278809 0.7658955455
411
+ 227.1218872 1.447153449
412
+ 231.2701721 2.074303627
413
+ 234.2200317 0.9426335692
414
+ 261.0070496 3.610482931
415
+ 265.221344 4.269361973
416
+ 270.0444336 8.444952965
417
+ 283.209198 2.617609978
418
+ 284.4144287 4.593202114
419
+ 288.9686584 2.063455582
420
+ 320.7331238 14.90033627
421
+ 323.1882629 8.816944122
422
+ 323.987854 65.67341614
423
+ 325.74823 10.4129734
424
+ 348.8435974 22.1242981
425
+ 355.3540344 18.61539078
426
+ 356.329071 10.17416573
427
+ 357.592804 14.06931496
428
+ 358.3609009 17.94714737
429
+ 361.1109314 139.4992218
430
+ 385.0263062 1.055312514
431
+ 390.7917786 1.479021311
432
+ 392.1755066 1.34651041
433
+ 393.0149841 3.647336245
434
+ 401.4912415 2.29176569
435
+ 407.7203674 2.78202939
436
+ 434.2487488 1.477133512
437
+ 452.7853699 1.127388358
438
+ 454.7099915 3.944121838
439
+ 455.633728 1.143464684
440
+ 463.1813354 14.16973877
441
+ 464.178894 3.559753895
442
+ 474.6008606 1.086751223
443
+ 488.0162964 1.277331233
444
+ 496.2842102 1.526335001
445
+ 507.7646179 0.6557703614
446
+ 517.5563354 1.903177142
447
+ 519.8730469 1.945764661
448
+ 531.5859985 0.7146195173
449
+ 533.1929321 1.547961116
450
+ 536.9025269 1.03994453
451
+ 542.2319336 1.605881333
452
+ 571.1682739 0.3525907993
453
+ 572.1963501 0.6135186553
454
+ 604.5285034 0.4166573286
455
+ 609.0454712 1.1595999
456
+ 617.9478149 0.4435214698
457
+ 661.8865356 0.633946538
458
+ END IONS
459
+ BEGIN IONS
460
+ TITLE=example.123.123.2
461
+ RTINSECONDS=760.3257
462
+ PEPMASS=643.77874755859375 367.44775390625
463
+ CHARGE=2
464
+ 204.1934662 0.3099613488
465
+ 235.2019653 0.4793479741
466
+ 248.3677521 0.4875406027
467
+ 251.4273224 0.402664721
468
+ 297.9095764 0.4868501127
469
+ 300.2021484 0.7783754468
470
+ 317.295105 0.731495142
471
+ 335.2920532 3.548005104
472
+ 350.3925781 0.7214078903
473
+ 351.4008179 3.616320133
474
+ 361.6112061 0.6500922441
475
+ 364.133728 0.5064708591
476
+ 378.9005737 1.1146245
477
+ 380.0726929 0.3422047198
478
+ 393.4492798 1.267464519
479
+ 396.8143921 0.6773587465
480
+ 449.2791138 0.8207460046
481
+ 466.0864258 0.3158499002
482
+ 494.2919922 1.477075934
483
+ 514.2409058 1.004796743
484
+ 515.0595703 0.824157536
485
+ 523.3735962 37.12373352
486
+ 524.1757813 0.3900686204
487
+ 530.6038818 0.9918057323
488
+ 536.8392334 1.071269751
489
+ 550.220459 2.406357765
490
+ 562.3978882 2.881337404
491
+ 580.0493164 9.233633041
492
+ 594.1826782 2.34461689
493
+ 597.1660156 2.822260141
494
+ 598.0565796 4.129444122
495
+ 600.7987671 5.291126251
496
+ 623.0303955 9.280637741
497
+ 626.4929199 17.93247604
498
+ 627.411377 3.229156256
499
+ 628.0245972 3.611977577
500
+ 635.0911865 41.05373001
501
+ 635.8816528 2.158626556
502
+ 664.3237305 10.05739021
503
+ 665.1672974 2.51744628
504
+ 698.0463257 1.010904312
505
+ 700.3342896 1.32798183
506
+ 720.1690063 0.3055796623
507
+ 737.3776245 0.3169064522
508
+ 775.2865601 0.8430162668
509
+ 776.4955444 2.401475191
510
+ 777.3430786 2.474082232
511
+ 793.3399658 9.665387154
512
+ 794.526062 4.941495895
513
+ 829.0914917 3.817634344
514
+ 838.6431274 0.6150822043
515
+ 890.3996582 1.344823003
516
+ 891.2360229 0.5959556103
517
+ 908.4865723 19.79375267
518
+ 909.5143433 4.495629311
519
+ 914.579895 0.5719686747
520
+ 980.2192993 0.5954352617
521
+ 984.6100464 2.241286516
522
+ 998.4255981 0.4225635529
523
+ 1019.344788 0.8503171802
524
+ 1045.709961 2.47451067
525
+ 1077.540527 0.7145707607
526
+ 1112.392578 3.36598897
527
+ 1113.567017 1.432507992
528
+ END IONS
529
+ BEGIN IONS
530
+ TITLE=example.124.124.3
531
+ RTINSECONDS=761.9687
532
+ PEPMASS=450.54281616210937 301.92977905273437
533
+ CHARGE=3
534
+ 130.150177 1.353898287
535
+ 136.2003632 0.9213038683
536
+ 148.9430084 1.250568509
537
+ 152.1879578 1.504730701
538
+ 175.3857117 1.379101753
539
+ 176.3272705 1.010228872
540
+ 185.2557068 0.3180523515
541
+ 201.2341919 0.7862251997
542
+ 203.2919617 0.6282191873
543
+ 208.0615234 0.3398271203
544
+ 215.1289673 0.3030083179
545
+ 216.3031158 0.4991447628
546
+ 227.5653687 2.551970959
547
+ 251.2754211 1.008171916
548
+ 259.7240906 0.7640866637
549
+ 262.3380127 7.018939018
550
+ 269.3258057 0.9242195487
551
+ 273.0804443 1.719482899
552
+ 275.5563049 0.9298775196
553
+ 289.6549377 3.034803391
554
+ 290.8163147 0.9284601808
555
+ 297.9415894 2.097732544
556
+ 303.1020508 4.468344688
557
+ 306.0115356 0.3602489233
558
+ 336.2828369 1.553430676
559
+ 337.0583801 1.997839689
560
+ 341.4632568 3.274730921
561
+ 343.1642456 1.611222982
562
+ 358.9762878 1.949465036
563
+ 363.1157837 6.644550323
564
+ 372.9909363 13.68294334
565
+ 373.7922058 2.70223403
566
+ 379.2102966 2.563753605
567
+ 413.313446 9.198595047
568
+ 416.7696838 21.91241837
569
+ 432.2397156 11.3590641
570
+ 433.1670837 10.83312321
571
+ 435.2596436 12.3745575
572
+ 441.4356384 20.46281052
573
+ 444.1995544 6.768380642
574
+ 451.5101013 3.139634609
575
+ 467.8937683 0.5299856663
576
+ 476.0483093 2.098807573
577
+ 487.1576538 1.393300295
578
+ 489.6482239 1.566720843
579
+ 499.0124817 1.103459001
580
+ 507.5467224 2.130732298
581
+ 518.4193115 13.69628716
582
+ 528.3355103 1.923753977
583
+ 535.5508423 2.299435616
584
+ 537.2503662 5.072912216
585
+ 542.4772339 2.706677914
586
+ 544.0179443 28.63053894
587
+ 559.6958618 0.4236460924
588
+ 561.2193604 1.649345398
589
+ 588.5553589 3.517957211
590
+ 595.519104 7.675468445
591
+ 604.2358398 3.861084461
592
+ 604.8798218 3.434828043
593
+ 606.3394165 7.184119225
594
+ 615.597168 2.918164492
595
+ 631.2797241 1.166783333
596
+ 640.506897 0.6951551437
597
+ 641.2473755 0.9134896994
598
+ 647.4660034 1.307563066
599
+ 656.6216431 0.5717682242
600
+ 657.5128784 0.4456765652
601
+ 672.5267334 0.3385538459
602
+ 693.4649048 0.6920984983
603
+ 697.4307251 0.8137056231
604
+ 744.3275146 1.462242842
605
+ 762.3870239 0.5213711262
606
+ 784.0870361 1.845988393
607
+ 806.6808472 0.8108986616
608
+ 832.590271 3.143787622
609
+ 835.2294922 1.197187662
610
+ 836.2270508 1.982402563
611
+ 837.6040649 0.4390450418
612
+ 847.6497192 0.8685331345
613
+ 912.1357422 0.4922168255
614
+ 1046.722412 0.6711268425
615
+ 1048.302979 0.3388501406
616
+ END IONS
617
+ BEGIN IONS
618
+ TITLE=example.160.160.2
619
+ RTINSECONDS=904.0995
620
+ PEPMASS=498.24166870117187 337.83950805664062
621
+ CHARGE=2
622
+ 158.2571716 1.181549191
623
+ 175.2576294 13.00416183
624
+ 183.9486084 0.2952048779
625
+ 212.5180054 0.3859809637
626
+ 222.0758667 0.7038273811
627
+ 240.0981903 1.002680302
628
+ 252.1578369 0.6228836179
629
+ 253.4235229 0.3244725168
630
+ 255.1199036 1.423395157
631
+ 274.3868408 0.2983953953
632
+ 277.3662415 1.93605113
633
+ 288.3440552 3.279913425
634
+ 290.4890137 0.7421078682
635
+ 312.3843994 2.749377251
636
+ 323.1971741 1.617321014
637
+ 324.0717468 1.729037762
638
+ 324.953064 0.9763746858
639
+ 328.3170166 1.81726861
640
+ 334.4033203 1.860382795
641
+ 344.7340088 5.214437485
642
+ 359.1506348 1.282376051
643
+ 369.2701721 37.45244598
644
+ 370.5374146 1.249641538
645
+ 375.197876 1.165652871
646
+ 377.5584106 1.336869955
647
+ 378.6039429 6.284780502
648
+ 391.6844788 1.307408214
649
+ 401.9541321 1.467359066
650
+ 405.990509 0.7125128508
651
+ 410.1462708 1.722066641
652
+ 420.4154358 10.81624603
653
+ 425.3343811 4.460582733
654
+ 426.4467163 2.316170692
655
+ 445.21698 1.462180495
656
+ 480.216095 51.5591011
657
+ 481.1387634 8.240076065
658
+ 483.2174683 4.014288902
659
+ 484.257843 3.661917925
660
+ 489.0790405 20.18770409
661
+ 489.8321838 9.65420723
662
+ 535.3207397 0.3415947556
663
+ 536.2245483 0.9557409286
664
+ 554.3920288 2.730536938
665
+ 558.3983765 2.315651417
666
+ 570.5670776 2.493784428
667
+ 581.9612427 1.9944731
668
+ 594.8730469 0.4007690251
669
+ 625.3535767 1.940721273
670
+ 631.7893677 1.061133146
671
+ 633.3522949 3.01219368
672
+ 675.1238403 2.293303728
673
+ 707.3143921 7.530871391
674
+ 708.1558838 1.245190859
675
+ 755.4865112 1.392763257
676
+ 783.3834229 0.4422880113
677
+ 820.4390259 2.963512421
678
+ 821.2556763 1.229712248
679
+ 867.5309448 0.8704373837
680
+ 877.7377319 1.624512792
681
+ END IONS
682
+ BEGIN IONS
683
+ TITLE=example.165.165.2
684
+ RTINSECONDS=921.5919
685
+ PEPMASS=350.20550537109375 310.65103149414062
686
+ CHARGE=2
687
+ 110.4049759 0.3423719108
688
+ 115.2346954 0.5352405906
689
+ 123.1031342 1.701088428
690
+ 135.224411 0.5741789937
691
+ 148.2532196 0.3858803511
692
+ 158.1446075 5.067839146
693
+ 162.0641174 0.9959078431
694
+ 166.130188 0.4852412641
695
+ 175.102478 2.695125103
696
+ 177.2949219 0.8756633997
697
+ 190.1999817 1.645314097
698
+ 196.0646973 0.787514627
699
+ 199.1502075 1.54019618
700
+ 210.0249023 1.465703487
701
+ 213.302948 1.635559201
702
+ 216.0358582 0.9546015859
703
+ 226.6117859 3.151038885
704
+ 227.2889709 15.8714695
705
+ 234.0779114 0.8758836389
706
+ 244.2107239 32.09620285
707
+ 260.3240356 2.850418091
708
+ 261.2212524 21.87549782
709
+ 271.852417 4.522639275
710
+ 273.7446899 1.814062834
711
+ 279.2216187 5.339025021
712
+ 304.0299683 6.522532463
713
+ 305.2251892 7.935997009
714
+ 308.6367188 9.984079361
715
+ 327.3307495 12.24230289
716
+ 332.0187073 28.54555321
717
+ 333.1095581 7.363337517
718
+ 339.2294312 11.41199493
719
+ 340.9490051 33.20514297
720
+ 344.3543396 7.12233305
721
+ 364.9886169 2.996938229
722
+ 385.2069092 0.4222034514
723
+ 395.5961609 1.266830087
724
+ 405.1309509 0.3563401997
725
+ 411.6442566 1.579127789
726
+ 420.9745789 1.394380927
727
+ 423.9377747 2.706622124
728
+ 428.5565796 3.340671062
729
+ 433.0173645 1.032238126
730
+ 438.2218933 1.230105996
731
+ 456.2699585 23.74326897
732
+ 457.3437195 1.493514776
733
+ 461.687439 1.865908623
734
+ 469.7778625 1.844955564
735
+ 473.1727905 38.56890488
736
+ 474.1725464 3.107944727
737
+ 488.5446167 1.169016123
738
+ 515.3389893 0.4492459297
739
+ 523.8892212 0.9979084134
740
+ 526.2596436 0.8826228976
741
+ 530.3583374 0.4055977166
742
+ 536.2826538 0.7627258897
743
+ 551.3588257 0.9966701865
744
+ 553.4049683 1.130127072
745
+ 572.4677124 0.5476210117
746
+ 577.9352417 0.8109149933
747
+ 585.4035034 0.8806420565
748
+ 586.5064087 1.980393887
749
+ END IONS
@@ -0,0 +1,25 @@
1
+ BEGIN IONS
2
+ TITLE=example.9.9.2
3
+ RTINSECONDS=318.0218
4
+ PEPMASS=1019.0322875976562 563.95965576171875
5
+ CHARGE=2
6
+ 484.3849487 0.5770078897
7
+ 572.6119385 0.5543299913
8
+ 603.659668 0.7869901657
9
+ 612.3583984 0.7114390135
10
+ 740.4682617 1.021142125
11
+ 796.2832031 1.051657796
12
+ 832.2305908 0.519821763
13
+ 843.5834961 0.514819622
14
+ 865.2956543 1.33468771
15
+ 883.6113281 0.9751986265
16
+ 913.4781494 0.4968527555
17
+ 946.2431641 0.4950940609
18
+ 956.1906738 0.4559304714
19
+ 966.5097656 2.257080078
20
+ 982.8709717 1.082980752
21
+ 1058.980347 1.822528481
22
+ 1070.601807 0.9599312544
23
+ 1110.454956 0.5712217093
24
+ 1171.136475 1.172691107
25
+ END IONS
@@ -0,0 +1,22 @@
1
+ BEGIN IONS
2
+ TITLE=example.10.10.2
3
+ RTINSECONDS=319.7966
4
+ PEPMASS=1018.52 563.95965576171875
5
+ CHARGE=2
6
+ 399.3823242 1.123714209
7
+ 476.3341064 0.4474678636
8
+ 521.3306274 0.9501408339
9
+ 599.229126 0.3707848191
10
+ 626.4042358 0.4348319769
11
+ 690.3245239 2.368940592
12
+ 704.0707397 0.6478887796
13
+ 799.6512451 0.9869466424
14
+ 943.0922852 3.191905737
15
+ 966.4614258 1.56655407
16
+ 971.6225586 1.272783637
17
+ 972.3641357 1.25383842
18
+ 973.3752441 1.155608416
19
+ 990.0325928 0.5406177044
20
+ 996.6890869 2.841355324
21
+ 1025.932861 2.396373272
22
+ END IONS
@@ -0,0 +1,70 @@
1
+ BEGIN IONS
2
+ TITLE=example.123.123.2
3
+ RTINSECONDS=760.3257
4
+ PEPMASS=643.77874755859375 367.44775390625
5
+ CHARGE=2
6
+ 204.1934662 0.3099613488
7
+ 235.2019653 0.4793479741
8
+ 248.3677521 0.4875406027
9
+ 251.4273224 0.402664721
10
+ 297.9095764 0.4868501127
11
+ 300.2021484 0.7783754468
12
+ 317.295105 0.731495142
13
+ 335.2920532 3.548005104
14
+ 350.3925781 0.7214078903
15
+ 351.4008179 3.616320133
16
+ 361.6112061 0.6500922441
17
+ 364.133728 0.5064708591
18
+ 378.9005737 1.1146245
19
+ 380.0726929 0.3422047198
20
+ 393.4492798 1.267464519
21
+ 396.8143921 0.6773587465
22
+ 449.2791138 0.8207460046
23
+ 466.0864258 0.3158499002
24
+ 494.2919922 1.477075934
25
+ 514.2409058 1.004796743
26
+ 515.0595703 0.824157536
27
+ 523.3735962 37.12373352
28
+ 524.1757813 0.3900686204
29
+ 530.6038818 0.9918057323
30
+ 536.8392334 1.071269751
31
+ 550.220459 2.406357765
32
+ 562.3978882 2.881337404
33
+ 580.0493164 9.233633041
34
+ 594.1826782 2.34461689
35
+ 597.1660156 2.822260141
36
+ 598.0565796 4.129444122
37
+ 600.7987671 5.291126251
38
+ 623.0303955 9.280637741
39
+ 626.4929199 17.93247604
40
+ 627.411377 3.229156256
41
+ 628.0245972 3.611977577
42
+ 635.0911865 41.05373001
43
+ 635.8816528 2.158626556
44
+ 664.3237305 10.05739021
45
+ 665.1672974 2.51744628
46
+ 698.0463257 1.010904312
47
+ 700.3342896 1.32798183
48
+ 720.1690063 0.3055796623
49
+ 737.3776245 0.3169064522
50
+ 775.2865601 0.8430162668
51
+ 776.4955444 2.401475191
52
+ 777.3430786 2.474082232
53
+ 793.3399658 9.665387154
54
+ 794.526062 4.941495895
55
+ 829.0914917 3.817634344
56
+ 838.6431274 0.6150822043
57
+ 890.3996582 1.344823003
58
+ 891.2360229 0.5959556103
59
+ 908.4865723 19.79375267
60
+ 909.5143433 4.495629311
61
+ 914.579895 0.5719686747
62
+ 980.2192993 0.5954352617
63
+ 984.6100464 2.241286516
64
+ 998.4255981 0.4225635529
65
+ 1019.344788 0.8503171802
66
+ 1045.709961 2.47451067
67
+ 1077.540527 0.7145707607
68
+ 1112.392578 3.36598897
69
+ 1113.567017 1.432507992
70
+ END IONS
@@ -0,0 +1,14 @@
1
+ ---
2
+ - example.9.9.2
3
+ - example.10.10.2
4
+ - example.11.11.3
5
+ - example.12.12.2
6
+ - example.13.13.3
7
+ - example.85.85.2
8
+ - example.117.117.2
9
+ - example.118.118.2
10
+ - example.119.119.3
11
+ - example.123.123.2
12
+ - example.124.124.3
13
+ - example.160.160.2
14
+ - example.165.165.2
@@ -0,0 +1,82 @@
1
+ require 'test/unit'
2
+ require 'mascot/mgf'
3
+ class TestMascotMgf < Test::Unit::TestCase
4
+ def setup
5
+ @mgf_file = File.open(File.expand_path("test/fixtures/example.mgf"))
6
+ end
7
+
8
+ def test_canary
9
+ assert true, "The canary does not sing"
10
+ end
11
+
12
+ def test_open_file
13
+ mgf = Mascot::MGF.open(@mgf_file)
14
+ assert_not_nil mgf
15
+ end
16
+
17
+ def test_get_first_and_second_query_string
18
+ mgf = Mascot::MGF.open(@mgf_file)
19
+ assert_not_nil mgf
20
+ first_query =File.read("test/fixtures/first_query.mgf")
21
+ # first_query = first_query.strip.chomp
22
+ assert_equal(first_query,mgf.readquery())
23
+ second_query =File.read("test/fixtures/second_query.mgf")
24
+ # second_query = second_query.strip.chomp
25
+ assert_equal( second_query,mgf.readquery())
26
+ end
27
+
28
+ def test_get_tenth_query_string
29
+ mgf = Mascot::MGF.open(@mgf_file)
30
+ assert_not_nil mgf
31
+ tenth_query =File.read("test/fixtures/tenth_query.mgf")
32
+ # move cursor to tenth query
33
+ assert_equal(tenth_query,mgf.readquery(9))
34
+ end
35
+
36
+ def test_get_tenth_query_object
37
+ mgf = Mascot::MGF.open(@mgf_file)
38
+ assert_not_nil mgf
39
+ # BEGIN IONS
40
+ # TITLE=example.123.123.2
41
+ # RTINSECONDS=760.3257
42
+ # PEPMASS=643.77874755859375 367.44775390625
43
+ # CHARGE=2
44
+ tenth_query_title = 'example.123.123.2'
45
+ tenth_query_rtinseconds = 760.3257
46
+ tenth_query_pepmass = [643.77874755859375, 367.44775390625]
47
+ tenth_query_charge = 2
48
+ # move cursor to tenth query
49
+ tenth_query = mgf.query(9)
50
+ assert_equal(tenth_query_title, tenth_query.title)
51
+ assert_equal(tenth_query_rtinseconds, tenth_query_rtinseconds)
52
+ assert_equal(tenth_query_charge, tenth_query.charge)
53
+ assert_equal(tenth_query_pepmass[0], tenth_query.pepmass[0])
54
+ assert_equal(tenth_query_pepmass[1], tenth_query.pepmass[1])
55
+ end
56
+
57
+ def test_query_count
58
+ mgf = Mascot::MGF.open(@mgf_file)
59
+ assert_equal(13, mgf.query_count)
60
+ end
61
+
62
+ def test_create_cached_index
63
+ mgf = Mascot::MGF.open(@mgf_file)
64
+ assert(File.exists?(mgf.full_path + ".idx"))
65
+ end
66
+ def test_skip_cached_index
67
+ # delete the index if it exists
68
+ File.unlink(@mgf_file.path + ".idx")
69
+ mgf = Mascot::MGF.open(@mgf_file,false)
70
+ assert(!File.exists?(mgf.full_path + ".idx"))
71
+ end
72
+ def test_rewind_override
73
+ mgf = Mascot::MGF.open(@mgf_file,false)
74
+ first_query = mgf.query()
75
+ second_query = mgf.query()
76
+ mgf.rewind
77
+ assert_equal(0,mgf.curr_index)
78
+ assert_equal(first_query.title, mgf.query().title)
79
+ assert_equal(1,mgf.curr_index)
80
+ assert_equal(second_query.title, mgf.query().title)
81
+ end
82
+ end
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mascot-mgf
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
10
+ platform: ruby
11
+ authors:
12
+ - Angel Pizarro
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-01-10 00:00:00 -05:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: A parser for Mascot Generic Format (MGF) files
22
+ email:
23
+ - delagoya@gmail.com
24
+ executables: []
25
+
26
+ extensions: []
27
+
28
+ extra_rdoc_files: []
29
+
30
+ files:
31
+ - .gitignore
32
+ - Gemfile
33
+ - README.rdoc
34
+ - Rakefile
35
+ - lib/mascot/mgf.rb
36
+ - lib/mascot/mgf/query.rb
37
+ - lib/mascot/mgf/version.rb
38
+ - mascot-mgf.gemspec
39
+ - test/fixtures/example.mgf
40
+ - test/fixtures/first_query.mgf
41
+ - test/fixtures/second_query.mgf
42
+ - test/fixtures/tenth_query.mgf
43
+ - test/fixtures/titles.yml
44
+ - test/test_mascot-mgf.rb
45
+ has_rdoc: true
46
+ homepage: https://github.com/delagoya/mascot-mgf
47
+ licenses: []
48
+
49
+ post_install_message:
50
+ rdoc_options: []
51
+
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ version: "0"
70
+ requirements: []
71
+
72
+ rubyforge_project:
73
+ rubygems_version: 1.3.7
74
+ signing_key:
75
+ specification_version: 3
76
+ summary: A parser for Mascot Generic Format (MGF) files
77
+ test_files:
78
+ - test/fixtures/example.mgf
79
+ - test/fixtures/first_query.mgf
80
+ - test/fixtures/second_query.mgf
81
+ - test/fixtures/tenth_query.mgf
82
+ - test/fixtures/titles.yml
83
+ - test/test_mascot-mgf.rb