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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e43300c479c268f5db7b16b84b3b807e449757ad
4
- data.tar.gz: 3a930a150873d4b004cb0d677992c98c0e4c2c4e
3
+ metadata.gz: 2f637d86e13f2cadb95b2eae228c4a2ac4e7a9aa
4
+ data.tar.gz: c44c5804cb1b5d1120e50be0f794a5f4bb0d8a19
5
5
  SHA512:
6
- metadata.gz: 17de7bc9c431c7917fb3136fc01ef8aace5a4ae383f615971ec3be8525d85dd722775ec05e6b259d2f869648a52b66c3eda14d9b2ee0cfe2d8db6d1a7c2609af
7
- data.tar.gz: ffd5b0ace3d2cbb6f761d5e329afe3c961e96ca8e3311d4e68000b79af23e8423b9105bb2931f9d4ed1019b17a4e2c5eec120e1526426e194f0c10a2ef40cdc9
6
+ metadata.gz: da3ae2d0577b036c0ce57a1283ff4a5b1ad8d11b2b2c5f1349480c4222276e78c83344adc1a452e4e7d9855a3cb9d0fec8f34ff9707361bfc77adbceda901036
7
+ data.tar.gz: c027bbb920cb02cbb01e7301e084a61b45317217a99162c484cf25e8e4644b6a7e3eb52cbcd03c43d05a36845acd825e6db14c496c6cd99a248cfa948fdf2764
@@ -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 (no header)"
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)
@@ -1,3 +1,3 @@
1
1
  module Diadem
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -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 == ["NEVHCmLGQSTCEMIR", "C:+C2H3NO C:+C2H3NO m:+O", "C77H129N25O28S4", "1979.832173", "32.56", "0.298777", "0.293168", "0.213061", "0.114555", "0.051392"]
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 = ["-392.23934817385657", "96.69007230820951", "-8.611345775533028", "0.2941872043446288", "274.6030329923823", "-32.519634396959496", "-1.9819130901305437", "0.3015660872075071", "349.4058191339298", "-74.1471126522828", "2.8594996757768354", "0.2129971981087685", "101.51558561078951", "-45.23875117790308", "3.95095594421288", "0.1114045333664326", "-125.24493326823091", "0.15596911712410133", "2.5230711874760186", "0.04912040472741169"]
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
@@ -1,3 +1,3 @@
1
1
  LGADmEDLR,
2
2
  NEVHTMLGQSTEEIR,
3
- NEVHCmLGQSTCEMIR,
3
+ qEVHCmLGQSTCEMIR,
@@ -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.556753,0.283781,0.115285,0.033992,0.008188,-271.9669543025388,83.87707865863915,-10.465171001547173,0.5549760242624675,447.26750757706844,-95.6467773946335,4.1767024133301724,0.2886473523635921,6.84299765300193,-28.68989673734115,4.13419674326592,0.11197392177809003,-142.35794452920663,15.157584520461455,1.7045563652845814,0.03326539309479602,-77.519961106925,17.24516248866918,0.37336969361968486,0.008718956309883851
3
- NEVHTMLGQSTEEIR,,C71H118N22O27S,1742.825748,32.35,0.377313,0.332051,0.182291,0.074572,0.024703,-489.95684055041977,121.08399596787066,-10.824527731710008,0.3716306301733113,396.4694223063598,-53.6786513841365,-1.3631060138342357,0.34307099404888625,463.833104592279,-104.37963257827352,5.26331279186841,0.18182473265187887,26.202644313310657,-39.45052607309262,4.745738877395441,0.0692194335651921,-228.23593191536418,19.192095667466113,2.023880307456716,0.022424872233935855
4
- NEVHCmLGQSTCEMIR,C:+C2H3NO C:+C2H3NO m:+O,C77H129N25O28S4,1979.832173,32.56,0.298777,0.293168,0.213061,0.114555,0.051392,-392.23934817385657,96.69007230820951,-8.611345775533028,0.2941872043446288,274.6030329923823,-32.519634396959496,-1.9819130901305437,0.3015660872075071,349.4058191339298,-74.1471126522828,2.8594996757768354,0.2129971981087685,101.51558561078951,-45.23875117790308,3.95095594421288,0.1114045333664326,-125.24493326823091,0.15596911712410133,2.5230711874760186,0.04912040472741169
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.2
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-09-11 00:00:00.000000000 Z
11
+ date: 2013-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mspire