mascot-mgf 0.2.0

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