mzid 0.0.1
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/bin/convert_mzid_to_csv +53 -0
- data/bin/load_helper.rb +2 -0
- data/lib/mzid.rb +14 -0
- data/lib/mzid/base_parser.rb +45 -0
- data/lib/mzid/batch_parser.rb +148 -0
- data/lib/mzid/filtered_streaming_parser.rb +257 -0
- data/lib/mzid/parser_sax.rb +292 -0
- data/lib/mzid/peptide_evidence.rb +39 -0
- data/lib/mzid/psm.rb +61 -0
- data/lib/mzid/streaming_parser.rb +177 -0
- data/lib/mzid/streaming_parser_lines.rb +179 -0
- data/lib/mzid/version.rb +3 -0
- data/tests/data/example.mzid +71 -0
- data/tests/data/example_2.mzid +118 -0
- data/tests/data/example_mod.mzid +112 -0
- data/tests/load_helper.rb +1 -0
- data/tests/test_all.rb +6 -0
- data/tests/test_batch_parser.rb +86 -0
- data/tests/test_default_parser.rb +72 -0
- data/tests/test_helper.rb +8 -0
- data/tests/test_parser_sax.rb +47 -0
- data/tests/test_psm.rb +15 -0
- data/tests/test_streaming_parser.rb +87 -0
- data/tests/test_streaming_parser_lines.rb +104 -0
- metadata +162 -0
@@ -0,0 +1 @@
|
|
1
|
+
$LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib/")
|
data/tests/test_all.rb
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
require_relative 'load_helper'
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
require 'mzid'
|
5
|
+
|
6
|
+
class TestBatchParser < MiniTest::Test
|
7
|
+
#
|
8
|
+
# test the psm output of a very small mzid file
|
9
|
+
#
|
10
|
+
def test_basic_parser()
|
11
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
12
|
+
p1 = MzID::BatchParser.new(infile)
|
13
|
+
p1.each_psm do |spec_id|
|
14
|
+
assert_equal(3591, spec_id.get_spec_num, "unexpected spec num")
|
15
|
+
assert_equal("VVIYDGSYHEVDSSEMAFK", spec_id.get_pep, "unexpected peptide")
|
16
|
+
assert_equal(1.6364497E-26, spec_id.get_spec_prob, "unexpected spectral probability")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
#
|
20
|
+
# test the each_spectrum block
|
21
|
+
#
|
22
|
+
def test_per_spectrum()
|
23
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
24
|
+
p1 = MzID::BatchParser.new(infile)
|
25
|
+
p1.each_spectrum do |psm_lst|
|
26
|
+
assert_equal(1, psm_lst.size, "unexpected list size")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
#
|
30
|
+
# test the each_spectrum block on multiple result example
|
31
|
+
#
|
32
|
+
def test_per_spectrum_multiple()
|
33
|
+
infile = "#{File.dirname(__FILE__)}/data/example_2.mzid"
|
34
|
+
p1 = MzID::BatchParser.new(infile)
|
35
|
+
i = 0
|
36
|
+
size_lst = [1,4]
|
37
|
+
num_lst = [3591, 6065]
|
38
|
+
spec_probs = [[1.6364497E-26], [3.9093196E-5, 3.9093196E-5, 3.9093196E-5, 3.9093196E-5]]
|
39
|
+
|
40
|
+
p1.each_spectrum do |psm_lst|
|
41
|
+
#test fo spectrum number
|
42
|
+
assert_equal(size_lst[i], psm_lst.size, "unexpected number of PSMs for spectrum #{num_lst[i]}")
|
43
|
+
# test each PSM of spectrum
|
44
|
+
psm_lst.each_with_index do |psm,j|
|
45
|
+
assert_equal(num_lst[i], psm.get_spec_num, "unexpected spectrum number for spectrum #{num_lst[i]}")
|
46
|
+
assert_in_epsilon(spec_probs[i][j].to_f, psm.get_spec_prob.to_f, 0.001, "unexpected spectral prob")
|
47
|
+
end
|
48
|
+
i += 1
|
49
|
+
end
|
50
|
+
end
|
51
|
+
#
|
52
|
+
# test parsing of modifications
|
53
|
+
#
|
54
|
+
def test_modifications()
|
55
|
+
infile = "#{File.dirname(__FILE__)}/data/example_mod.mzid"
|
56
|
+
p1 = MzID::BatchParser.new(infile)
|
57
|
+
mod_locs = [nil, [14,17], nil]
|
58
|
+
mod_vals = [nil, [57.021463735,57.021463735], nil]
|
59
|
+
i = 0
|
60
|
+
p1.each_psm do |psm|
|
61
|
+
modh = psm.get_mods
|
62
|
+
if modh.nil? then
|
63
|
+
assert_equal(mod_locs[i], nil, "expected non-nil mod hash")
|
64
|
+
else
|
65
|
+
assert_equal(mod_locs[i], modh.keys, "expected different locations")
|
66
|
+
assert_equal(mod_vals[i], modh.values, "expected different mass deltas")
|
67
|
+
end
|
68
|
+
i += 1
|
69
|
+
end
|
70
|
+
end
|
71
|
+
#
|
72
|
+
# unit test for peptide evidence, checking protein ids
|
73
|
+
#
|
74
|
+
def test_peptide_evidence()
|
75
|
+
exp_prot_id_lst = ["sp|Q9RXK5|EFG_DEIRA"]
|
76
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
77
|
+
p1 = MzID::BatchParser.new(infile)
|
78
|
+
i = 0
|
79
|
+
p1.each_psm do |psm|
|
80
|
+
prot_id_lst = psm.get_pep_ev.map{|pep_ev| pep_ev.get_prot_id.to_s}
|
81
|
+
assert_equal(exp_prot_id_lst[i], prot_id_lst[i], "protein IDs not what expected")
|
82
|
+
i += 1
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require_relative 'load_helper'
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
require 'mzid'
|
5
|
+
|
6
|
+
class TestDefaultParser < MiniTest::Test
|
7
|
+
#
|
8
|
+
# test the psm output of a very small mzid file
|
9
|
+
#
|
10
|
+
def test_basic_parser()
|
11
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
12
|
+
p1 = MzID::Parser.new(infile)
|
13
|
+
p1.each_psm do |spec_id|
|
14
|
+
assert_equal(3591, spec_id.get_spec_num, "unexpected spec num")
|
15
|
+
assert_equal("VVIYDGSYHEVDSSEMAFK", spec_id.get_pep, "unexpected peptide")
|
16
|
+
assert_equal(1.6364497E-26, spec_id.get_spec_prob, "unexpected spectral probability")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
#
|
20
|
+
# test the each_spectrum block
|
21
|
+
#
|
22
|
+
def test_per_spectrum()
|
23
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
24
|
+
p1 = MzID::Parser.new(infile)
|
25
|
+
p1.each_spectrum do |psm_lst|
|
26
|
+
assert_equal(1, psm_lst.size, "unexpected list size")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
#
|
30
|
+
# test the each_spectrum block on multiple result example
|
31
|
+
#
|
32
|
+
def test_per_spectrum_multiple()
|
33
|
+
infile = "#{File.dirname(__FILE__)}/data/example_2.mzid"
|
34
|
+
p1 = MzID::Parser.new(infile)
|
35
|
+
i = 0
|
36
|
+
size_lst = [1,4]
|
37
|
+
num_lst = [3591, 6065]
|
38
|
+
spec_probs = [[1.6364497E-26], [3.9093196E-5, 3.9093196E-5, 3.9093196E-5, 3.9093196E-5]]
|
39
|
+
|
40
|
+
p1.each_spectrum do |psm_lst|
|
41
|
+
#test fo spectrum number
|
42
|
+
assert_equal(size_lst[i], psm_lst.size, "unexpected number of PSMs for spectrum #{num_lst[i]}")
|
43
|
+
# test each PSM of spectrum
|
44
|
+
psm_lst.each_with_index do |psm,j|
|
45
|
+
assert_equal(num_lst[i], psm.get_spec_num, "unexpected spectrum number for spectrum #{num_lst[i]}")
|
46
|
+
assert_in_epsilon(spec_probs[i][j].to_f, psm.get_spec_prob.to_f, 0.001, "unexpected spectral prob")
|
47
|
+
end
|
48
|
+
i += 1
|
49
|
+
end
|
50
|
+
end
|
51
|
+
#
|
52
|
+
# test parsing of modifications
|
53
|
+
#
|
54
|
+
def test_modifications()
|
55
|
+
infile = "#{File.dirname(__FILE__)}/data/example_mod.mzid"
|
56
|
+
p1 = MzID::Parser.new(infile)
|
57
|
+
mod_locs = [nil, [14,17], nil]
|
58
|
+
mod_vals = [nil, [57.021463735,57.021463735], nil]
|
59
|
+
i = 0
|
60
|
+
p1.each_psm do |psm|
|
61
|
+
modh = psm.get_mods
|
62
|
+
if modh.nil? then
|
63
|
+
assert_equal(mod_locs[i], nil, "expected non-nil mod hash")
|
64
|
+
else
|
65
|
+
assert_equal(mod_locs[i], modh.keys, "expected different locations")
|
66
|
+
assert_equal(mod_vals[i], modh.values, "expected different mass deltas")
|
67
|
+
end
|
68
|
+
i += 1
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require_relative 'load_helper'
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
require 'mzid'
|
5
|
+
require 'tempfile'
|
6
|
+
|
7
|
+
class TestParserSax < MiniTest::Test
|
8
|
+
#
|
9
|
+
# test very simple output to csv method
|
10
|
+
#
|
11
|
+
def test_write_to_csv()
|
12
|
+
exp_prot_id_lst = ["sp|Q9RXK5|EFG_DEIRA"]
|
13
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
14
|
+
p1 = MzID::ParserSax.new(infile, nil, false)
|
15
|
+
tmp = Tempfile.new("results")
|
16
|
+
p1.write_to_csv(tmp.path, false)
|
17
|
+
tmp.close
|
18
|
+
# read in output lines
|
19
|
+
lines = IO.readlines(tmp.path)
|
20
|
+
# expected
|
21
|
+
exp_out = ["#spec_num\tpeptide\tspec_prob\tprot_ids\tstart\tend\tnum_prot\n", "3591\tVVIYDGSYHEVDSSEMAFK\t1.6364497e-26\tsp|Q9RXK5|EFG_DEIRA\t573\t591\t1\n"]
|
22
|
+
# test
|
23
|
+
assert_equal(exp_out, lines, "unexpected output file contents")
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# test very simple output to csv method
|
28
|
+
#
|
29
|
+
def test_mods_write_to_csv()
|
30
|
+
exp_prot_id_lst = ["sp|Q9RXK5|EFG_DEIRA"]
|
31
|
+
infile = "#{File.dirname(__FILE__)}/data/example_mod.mzid"
|
32
|
+
p1 = MzID::ParserSax.new(infile, nil, false)
|
33
|
+
tmp = Tempfile.new("results")
|
34
|
+
p1.write_to_csv(tmp.path)
|
35
|
+
tmp.close
|
36
|
+
# read in output lines
|
37
|
+
lines = IO.readlines(tmp.path)
|
38
|
+
# expected
|
39
|
+
exp_out = ["#spec_num\tpeptide\tspec_prob\tprot_ids\tstart\tend\tnum_prot\tmods\n",
|
40
|
+
"3591\tVVIYDGSYHEVDSSEMAFK\t1.6364497e-26\tsp|Q9RXK5|EFG_DEIRA\t573\t591\t1\t\n",
|
41
|
+
"8578\tRFQIGEVVLEGTGECHPCSR\t3.9070557e-05\ttr|Q9RXN7|Q9RXN7_DEIRA\t132\t151\t1\t15;+57|18;+57\n",
|
42
|
+
"8578\tFFHWEGRERHEFGFFFR\t3.9070557e-05\ttr|Q9RS55|Q9RS55_DEIRA\t99\t115\t1\t\n"]
|
43
|
+
# test
|
44
|
+
assert_equal(exp_out, lines, "unexpected output file contents")
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
data/tests/test_psm.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative 'load_helper'
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
require 'mzid'
|
5
|
+
|
6
|
+
class TestPSM < MiniTest::Test
|
7
|
+
|
8
|
+
def test_basic_psm()
|
9
|
+
p1 = MzID::PSM.new(:id => "sp1", :pep => "ACDEF")
|
10
|
+
assert_equal("sp1", p1.get_id, "unexpected ID")
|
11
|
+
assert_equal("ACDEF", p1.get_pep, "unexpected peptide")
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require_relative 'load_helper'
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
require 'mzid'
|
5
|
+
|
6
|
+
class TestStreamingParser < MiniTest::Test
|
7
|
+
#
|
8
|
+
# test the psm output of a very small mzid file
|
9
|
+
#
|
10
|
+
def test_basic_parser()
|
11
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
12
|
+
p1 = MzID::StreamingParser.new(infile)
|
13
|
+
p1.each_psm do |spec_id|
|
14
|
+
assert_equal(3591, spec_id.get_spec_num, "unexpected spec num")
|
15
|
+
assert_equal("VVIYDGSYHEVDSSEMAFK", spec_id.get_pep, "unexpected peptide")
|
16
|
+
assert_equal(1.6364497E-26, spec_id.get_spec_prob, "unexpected spectral probability")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
#
|
20
|
+
# test the each_spectrum block
|
21
|
+
#
|
22
|
+
def test_per_spectrum()
|
23
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
24
|
+
p1 = MzID::StreamingParser.new(infile)
|
25
|
+
p1.each_spectrum do |psm_lst|
|
26
|
+
assert_equal(1, psm_lst.size, "unexpected list size")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
#
|
30
|
+
# test the each_spectrum block on multiple result example
|
31
|
+
#
|
32
|
+
def test_per_spectrum_multiple()
|
33
|
+
infile = "#{File.dirname(__FILE__)}/data/example_2.mzid"
|
34
|
+
p1 = MzID::StreamingParser.new(infile)
|
35
|
+
i = 0
|
36
|
+
size_lst = [1,4]
|
37
|
+
num_lst = [3591, 6065]
|
38
|
+
spec_probs = [[1.6364497E-26], [3.9093196E-5, 3.9093196E-5, 3.9093196E-5, 3.9093196E-5]]
|
39
|
+
|
40
|
+
p1.each_spectrum do |psm_lst|
|
41
|
+
#test fo spectrum number
|
42
|
+
assert_equal(size_lst[i], psm_lst.size, "unexpected number of PSMs for spectrum #{num_lst[i]}")
|
43
|
+
# test each PSM of spectrum
|
44
|
+
psm_lst.each_with_index do |psm,j|
|
45
|
+
assert_equal(num_lst[i], psm.get_spec_num, "unexpected spectrum number for spectrum #{num_lst[i]}")
|
46
|
+
assert_in_epsilon(spec_probs[i][j].to_f, psm.get_spec_prob.to_f, 0.001, "unexpected spectral prob")
|
47
|
+
end
|
48
|
+
i += 1
|
49
|
+
end
|
50
|
+
end
|
51
|
+
#
|
52
|
+
# test parsing of modifications
|
53
|
+
#
|
54
|
+
def test_modifications()
|
55
|
+
infile = "#{File.dirname(__FILE__)}/data/example_mod.mzid"
|
56
|
+
p1 = MzID::StreamingParser.new(infile)
|
57
|
+
mod_locs = [nil, [14,17], nil]
|
58
|
+
mod_vals = [nil, [57.021463735,57.021463735], nil]
|
59
|
+
i = 0
|
60
|
+
p1.each_psm do |psm|
|
61
|
+
modh = psm.get_mods
|
62
|
+
if modh.nil? then
|
63
|
+
assert_equal(mod_locs[i], nil, "expected non-nil mod hash")
|
64
|
+
else
|
65
|
+
assert_equal(mod_locs[i], modh.keys, "expected different locations")
|
66
|
+
assert_equal(mod_vals[i], modh.values, "expected different mass deltas")
|
67
|
+
end
|
68
|
+
i += 1
|
69
|
+
end
|
70
|
+
end
|
71
|
+
#
|
72
|
+
# unit test for peptide evidence, checking protein ids
|
73
|
+
#
|
74
|
+
def test_peptide_evidence()
|
75
|
+
exp_prot_id_lst = ["sp|Q9RXK5|EFG_DEIRA"]
|
76
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
77
|
+
p1 = MzID::StreamingParser.new(infile)
|
78
|
+
i = 0
|
79
|
+
p1.each_psm do |psm|
|
80
|
+
prot_id_lst = psm.get_pep_ev.map{|pep_ev| pep_ev.get_prot_id.to_s} # if use PeptideEvidence object
|
81
|
+
#prot_id_lst = psm.get_pep_ev # if use simple hash of prot ID
|
82
|
+
assert_equal(exp_prot_id_lst[i], prot_id_lst[i], "protein IDs not what expected")
|
83
|
+
i += 1
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require_relative 'load_helper'
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
require 'mzid'
|
5
|
+
require 'tempfile'
|
6
|
+
|
7
|
+
class TestStreamingParserLines < MiniTest::Test
|
8
|
+
#
|
9
|
+
# test the psm output of a very small mzid file
|
10
|
+
#
|
11
|
+
def test_basic_parser()
|
12
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
13
|
+
p1 = MzID::StreamingParserLines.new(infile)
|
14
|
+
p1.each_psm do |spec_id|
|
15
|
+
assert_equal(3591, spec_id.get_spec_num, "unexpected spec num")
|
16
|
+
assert_equal("VVIYDGSYHEVDSSEMAFK", spec_id.get_pep, "unexpected peptide")
|
17
|
+
assert_equal(1.6364497E-26, spec_id.get_spec_prob, "unexpected spectral probability")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
#
|
21
|
+
# test the each_spectrum block
|
22
|
+
#
|
23
|
+
def test_per_spectrum()
|
24
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
25
|
+
p1 = MzID::StreamingParserLines.new(infile)
|
26
|
+
p1.each_spectrum do |psm_lst|
|
27
|
+
assert_equal(1, psm_lst.size, "unexpected list size")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
#
|
31
|
+
# test the each_spectrum block on multiple result example
|
32
|
+
#
|
33
|
+
def test_per_spectrum_multiple()
|
34
|
+
infile = "#{File.dirname(__FILE__)}/data/example_2.mzid"
|
35
|
+
p1 = MzID::StreamingParserLines.new(infile)
|
36
|
+
i = 0
|
37
|
+
size_lst = [1,4]
|
38
|
+
num_lst = [3591, 6065]
|
39
|
+
spec_probs = [[1.6364497E-26], [3.9093196E-5, 3.9093196E-5, 3.9093196E-5, 3.9093196E-5]]
|
40
|
+
|
41
|
+
p1.each_spectrum do |psm_lst|
|
42
|
+
#test fo spectrum number
|
43
|
+
assert_equal(size_lst[i], psm_lst.size, "unexpected number of PSMs for spectrum #{num_lst[i]}")
|
44
|
+
# test each PSM of spectrum
|
45
|
+
psm_lst.each_with_index do |psm,j|
|
46
|
+
assert_equal(num_lst[i], psm.get_spec_num, "unexpected spectrum number for spectrum #{num_lst[i]}")
|
47
|
+
assert_in_epsilon(spec_probs[i][j].to_f, psm.get_spec_prob.to_f, 0.001, "unexpected spectral prob")
|
48
|
+
end
|
49
|
+
i += 1
|
50
|
+
end
|
51
|
+
end
|
52
|
+
#
|
53
|
+
# unit test for peptide evidence, checking protein ids
|
54
|
+
#
|
55
|
+
def test_peptide_evidence()
|
56
|
+
exp_prot_id_lst = ["sp|Q9RXK5|EFG_DEIRA"]
|
57
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
58
|
+
p1 = MzID::StreamingParserLines.new(infile)
|
59
|
+
i = 0
|
60
|
+
p1.each_psm do |psm|
|
61
|
+
prot_id_lst = psm.get_pep_ev.map{|pep_ev| p1.get_prot_id(pep_ev.to_sym).to_s} # if use PeptideEvidence object
|
62
|
+
assert_equal(exp_prot_id_lst[i], prot_id_lst[i], "protein IDs not what expected")
|
63
|
+
i += 1
|
64
|
+
end
|
65
|
+
end
|
66
|
+
#
|
67
|
+
# test very simple output to csv method
|
68
|
+
#
|
69
|
+
def test_write_to_csv()
|
70
|
+
exp_prot_id_lst = ["sp|Q9RXK5|EFG_DEIRA"]
|
71
|
+
infile = "#{File.dirname(__FILE__)}/data/example.mzid"
|
72
|
+
p1 = MzID::StreamingParserLines.new(infile, 0.0, false, false)
|
73
|
+
tmp = Tempfile.new("results")
|
74
|
+
p1.write_to_csv(tmp.path, nil)
|
75
|
+
tmp.close
|
76
|
+
# read in output lines
|
77
|
+
lines = IO.readlines(tmp.path)
|
78
|
+
# expected
|
79
|
+
exp_out = ["#spec_num\tpeptide\tspec_prob\tprot_ids\tstart\tend\tnum_prot\n", "3591\tVVIYDGSYHEVDSSEMAFK\t1.6364497e-26\tsp|Q9RXK5|EFG_DEIRA\t573\t591\t1\n"]
|
80
|
+
# test
|
81
|
+
assert_equal(exp_out, lines, "unexpected output file contents")
|
82
|
+
end
|
83
|
+
#
|
84
|
+
# test parsing of modifications
|
85
|
+
#
|
86
|
+
def test_modifications()
|
87
|
+
infile = "#{File.dirname(__FILE__)}/data/example_mod.mzid"
|
88
|
+
p1 = MzID::StreamingParserLines.new(infile)
|
89
|
+
mod_locs = [nil, [14,17], nil]
|
90
|
+
mod_vals = [nil, [57.021463735,57.021463735], nil]
|
91
|
+
i = 0
|
92
|
+
p1.each_psm do |psm|
|
93
|
+
modh = psm.get_mods
|
94
|
+
if modh.nil? then
|
95
|
+
assert_equal(mod_locs[i], nil, "expected non-nil mod hash")
|
96
|
+
else
|
97
|
+
assert_equal(mod_locs[i], modh.keys, "expected different locations")
|
98
|
+
assert_equal(mod_vals[i], modh.values, "expected different mass deltas")
|
99
|
+
end
|
100
|
+
i += 1
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
metadata
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mzid
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Stefano R.B.
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-12-13 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: ox
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: nokogiri
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '1.6'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.6'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: progressbar
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.21'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.21'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: minitest
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '5.4'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '5.4'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: minitest-reporters
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '1.0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
94
|
+
description: A simple gem to parse mzIdentML (mzid) files
|
95
|
+
email: sbonisso@ucsd.edu
|
96
|
+
executables:
|
97
|
+
- convert_mzid_to_csv
|
98
|
+
extensions: []
|
99
|
+
extra_rdoc_files: []
|
100
|
+
files:
|
101
|
+
- bin/convert_mzid_to_csv
|
102
|
+
- bin/load_helper.rb
|
103
|
+
- lib/mzid.rb
|
104
|
+
- lib/mzid/base_parser.rb
|
105
|
+
- lib/mzid/batch_parser.rb
|
106
|
+
- lib/mzid/filtered_streaming_parser.rb
|
107
|
+
- lib/mzid/parser_sax.rb
|
108
|
+
- lib/mzid/peptide_evidence.rb
|
109
|
+
- lib/mzid/psm.rb
|
110
|
+
- lib/mzid/streaming_parser.rb
|
111
|
+
- lib/mzid/streaming_parser_lines.rb
|
112
|
+
- lib/mzid/version.rb
|
113
|
+
- tests/data/example.mzid
|
114
|
+
- tests/data/example_2.mzid
|
115
|
+
- tests/data/example_mod.mzid
|
116
|
+
- tests/load_helper.rb
|
117
|
+
- tests/test_all.rb
|
118
|
+
- tests/test_batch_parser.rb
|
119
|
+
- tests/test_default_parser.rb
|
120
|
+
- tests/test_helper.rb
|
121
|
+
- tests/test_parser_sax.rb
|
122
|
+
- tests/test_psm.rb
|
123
|
+
- tests/test_streaming_parser.rb
|
124
|
+
- tests/test_streaming_parser_lines.rb
|
125
|
+
homepage: https://github.com/sbonisso/mzid
|
126
|
+
licenses:
|
127
|
+
- MIT
|
128
|
+
post_install_message:
|
129
|
+
rdoc_options: []
|
130
|
+
require_paths:
|
131
|
+
- lib
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
requirements: []
|
145
|
+
rubyforge_project:
|
146
|
+
rubygems_version: 1.8.23
|
147
|
+
signing_key:
|
148
|
+
specification_version: 3
|
149
|
+
summary: mzIdentML parser
|
150
|
+
test_files:
|
151
|
+
- tests/data/example.mzid
|
152
|
+
- tests/data/example_2.mzid
|
153
|
+
- tests/data/example_mod.mzid
|
154
|
+
- tests/load_helper.rb
|
155
|
+
- tests/test_all.rb
|
156
|
+
- tests/test_batch_parser.rb
|
157
|
+
- tests/test_default_parser.rb
|
158
|
+
- tests/test_helper.rb
|
159
|
+
- tests/test_parser_sax.rb
|
160
|
+
- tests/test_psm.rb
|
161
|
+
- tests/test_streaming_parser.rb
|
162
|
+
- tests/test_streaming_parser_lines.rb
|