diadem 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/diadem/calculator.rb +3 -2
- data/lib/diadem/cubic/commandline.rb +3 -1
- data/lib/diadem/cubic.rb +5 -1
- data/lib/diadem/version.rb +1 -1
- data/spec/diadem/cubic_spec.rb +2 -2
- data/spec/testfiles/input.csv +1 -1
- data/spec/testfiles/input.cubic.csv +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f637d86e13f2cadb95b2eae228c4a2ac4e7a9aa
|
4
|
+
data.tar.gz: c44c5804cb1b5d1120e50be0f794a5f4bb0d8a19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da3ae2d0577b036c0ce57a1283ff4a5b1ad8d11b2b2c5f1349480c4222276e78c83344adc1a452e4e7d9855a3cb9d0fec8f34ff9707361bfc77adbceda901036
|
7
|
+
data.tar.gz: c027bbb920cb02cbb01e7301e084a61b45317217a99162c484cf25e8e4644b6a7e3eb52cbcd03c43d05a36845acd825e6db14c496c6cd99a248cfa948fdf2764
|
data/lib/diadem/calculator.rb
CHANGED
@@ -34,12 +34,13 @@ module Diadem
|
|
34
34
|
STATIC_MATCH_BLOCK = lambda {|match| match }
|
35
35
|
|
36
36
|
MF = Mspire::MolecularFormula
|
37
|
-
OXIDIZED_METHIONINE = Modification.new('m', MF['O'], &VAR_MATCH_BLOCK)
|
37
|
+
OXIDIZED_METHIONINE = Modification.new('m', MF['O'], true, false, &VAR_MATCH_BLOCK)
|
38
|
+
PYROGLUTAMATE_Q = Modification.new('q', MF['NH3'], false, false, &VAR_MATCH_BLOCK)
|
38
39
|
# aka methylcarboxamido
|
39
40
|
CARBAMIDOMETHYL = Modification.new('C', MF['C2H3NO'])
|
40
41
|
|
41
42
|
DEFAULT_STATIC_MODS = [CARBAMIDOMETHYL]
|
42
|
-
DEFAULT_VAR_MODS = [OXIDIZED_METHIONINE]
|
43
|
+
DEFAULT_VAR_MODS = [OXIDIZED_METHIONINE, PYROGLUTAMATE_Q]
|
43
44
|
DEFAULT_MODS = DEFAULT_STATIC_MODS + DEFAULT_VAR_MODS
|
44
45
|
end
|
45
46
|
|
@@ -15,6 +15,7 @@ module Diadem
|
|
15
15
|
opt = OpenStruct.new( {
|
16
16
|
carbamidomethyl: true,
|
17
17
|
oxidized_met: true,
|
18
|
+
pyroglutamate_from_glutamine: true,
|
18
19
|
element: :H,
|
19
20
|
mass_number: 2,
|
20
21
|
range: make_range[ start, stop, step ],
|
@@ -27,7 +28,8 @@ module Diadem
|
|
27
28
|
prog = File.basename($0)
|
28
29
|
op.banner = "usage: #{prog} <AASEQ> ..."
|
29
30
|
op.separator " or: #{prog} <aaseqs>.csv"
|
30
|
-
op.separator " <aaseqs>.csv is a single column of AA sequences
|
31
|
+
op.separator " <aaseqs>.csv is a single column of AA sequences"
|
32
|
+
op.separator " (csv file should have no header; blank lines will be ignored)"
|
31
33
|
op.separator ""
|
32
34
|
op.separator "output: tab delimited to stdout if AASEQ"
|
33
35
|
op.separator " <aaseqs>#{Diadem::Cubic::FILE_EXT} if csv input"
|
data/lib/diadem/cubic.rb
CHANGED
@@ -38,6 +38,8 @@ module Diadem
|
|
38
38
|
out.puts cats.join(opt.delim)
|
39
39
|
end
|
40
40
|
|
41
|
+
aaseqs.compact! # ignore blank lines
|
42
|
+
|
41
43
|
aaseqs.each do |aaseq|
|
42
44
|
# we cannot ensure the base 0% has been included in the range, so
|
43
45
|
# calculate it separately
|
@@ -48,7 +50,9 @@ module Diadem
|
|
48
50
|
if opt.oxidized_met
|
49
51
|
mods << Diadem::Calculator::Modification::OXIDIZED_METHIONINE
|
50
52
|
end
|
51
|
-
|
53
|
+
if opt.pyroglutamate_from_glutamine
|
54
|
+
mods << Diadem::Calculator::Modification::PYROGLUTAMATE_Q
|
55
|
+
end
|
52
56
|
|
53
57
|
(distributions, info) = calc.calculate_isotope_distributions(aaseq, opt.range.dup, mods: mods)
|
54
58
|
polynomials = Diadem::Calculator.distributions_to_polynomials(opt.range.to_a, distributions, opt.num_isotopomers, opt.degree)
|
data/lib/diadem/version.rb
CHANGED
data/spec/diadem/cubic_spec.rb
CHANGED
@@ -12,13 +12,13 @@ describe Diadem::Cubic do
|
|
12
12
|
rows.size.should == 4
|
13
13
|
lrow = rows.last
|
14
14
|
# these are verified
|
15
|
-
lrow[0,10].should == ["
|
15
|
+
lrow[0,10].should == ["qEVHCmLGQSTCEMIR", "C:+C2H3NO C:+C2H3NO m:+O q:-H3N", "C78H128N24O28S4", "1976.821274", "34.620000000000005", "0.289882", "0.292743", "0.215357", "0.117551", "0.053498"]
|
16
16
|
# the below values are not verified for complete accuracy, but are frozen.
|
17
17
|
# I *have* verified that my polyfit gives exactly the same as numpy.polyfit
|
18
18
|
# I *have* verified that my fits give nearly the identical result when the
|
19
19
|
# formula is used to calculate the function and compared with the raw
|
20
20
|
# data.
|
21
|
-
coeff_exp = ["-
|
21
|
+
coeff_exp = ["-421.06267678409387", "101.55583060246754", "-8.74184647393767", "0.2846017318740318", "255.13376040316183", "-26.207563393269137", "-2.5009206278495983", "0.30193493201897365", "393.62982958471537", "-79.40850743514103", "2.7886588615718955", "0.21604781660342917", "149.4201526179288", "-54.33441042414497", "4.230023348103629", "0.11408203229437128", "-115.19983206905863", "-4.686811308294118", "2.826941989880497", "0.0505824649152385"]
|
22
22
|
lrow[10..-1].zip( coeff_exp ) do |mine, csv|
|
23
23
|
mine.to_f.should be_within(1e-5).of(csv.to_f)
|
24
24
|
end
|
data/spec/testfiles/input.csv
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
sequence,mods,formula,mass,n,M0,M1,M2,M3,M4,M0_coeff_3,M0_coeff_2,M0_coeff_1,M0_coeff_0,M1_coeff_3,M1_coeff_2,M1_coeff_1,M1_coeff_0,M2_coeff_3,M2_coeff_2,M2_coeff_1,M2_coeff_0,M3_coeff_3,M3_coeff_2,M3_coeff_1,M3_coeff_0,M4_coeff_3,M4_coeff_2,M4_coeff_1,M4_coeff_0
|
2
|
-
LGADmEDLR,m:+O,C41H70N12O17S,1034.47026,19.540000000000003,0.
|
3
|
-
NEVHTMLGQSTEEIR,,C71H118N22O27S,1742.825748,32.35,0.
|
4
|
-
|
2
|
+
LGADmEDLR,m:+O,C41H70N12O17S,1034.47026,19.540000000000003,0.550348,0.286741,0.117269,0.034957,0.008548,-268.83806038271666,82.91209935775052,-10.344772514162356,0.5485912003693671,439.1046288256501,-93.61414288987667,4.01202160888605,0.29153216780815266,11.667817052328587,-29.403940089540477,4.1306887602663505,0.11404937487110747,-140.54572999460447,14.642401129440309,1.7320310779134869,0.03420353623576916,-78.23289185014181,17.216398341654156,0.388147708929765,0.009063964446250627
|
3
|
+
NEVHTMLGQSTEEIR,,C71H118N22O27S,1742.825748,32.35,0.370025,0.332821,0.185167,0.076668,0.025712,-480.49281579799424,118.74513294949665,-10.615440747086659,0.364452198949101,379.51708494205866,-50.34313707648543,-1.5425165552673892,0.34351966982503457,462.31697038148707,-103.36201724420621,5.133747206428021,0.18491762830342748,34.56524075782778,-40.68019904822784,4.753888268873721,0.07141097606116147,-223.30372416112442,18.0658089615334,2.075005867067416,0.02337635300850256
|
4
|
+
qEVHCmLGQSTCEMIR,C:+C2H3NO C:+C2H3NO m:+O q:-H3N,C78H128N24O28S4,1976.821274,34.620000000000005,0.289882,0.292743,0.215357,0.117551,0.053498,-421.06267678409387,101.55583060246754,-8.74184647393767,0.2846017318740318,255.13376040316183,-26.207563393269137,-2.5009206278495983,0.30193493201897365,393.62982958471537,-79.40850743514103,2.7886588615718955,0.21604781660342917,149.4201526179288,-54.33441042414497,4.230023348103629,0.11408203229437128,-115.19983206905863,-4.686811308294118,2.826941989880497,0.0505824649152385
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diadem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Prince
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mspire
|