mspire 0.4.9 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. data/README +27 -17
  2. data/changelog.txt +31 -62
  3. data/lib/ms/calc.rb +32 -0
  4. data/lib/ms/data/interleaved.rb +60 -0
  5. data/lib/ms/data/lazy_io.rb +73 -0
  6. data/lib/ms/data/lazy_string.rb +15 -0
  7. data/lib/ms/data/simple.rb +59 -0
  8. data/lib/ms/data/transposed.rb +41 -0
  9. data/lib/ms/data.rb +57 -0
  10. data/lib/ms/format/format_error.rb +12 -0
  11. data/lib/ms/spectrum.rb +25 -384
  12. data/lib/ms/support/binary_search.rb +126 -0
  13. data/lib/ms.rb +10 -10
  14. metadata +38 -350
  15. data/INSTALL +0 -58
  16. data/README.rdoc +0 -18
  17. data/Rakefile +0 -330
  18. data/bin/aafreqs.rb +0 -23
  19. data/bin/bioworks2excel.rb +0 -14
  20. data/bin/bioworks_to_pepxml.rb +0 -148
  21. data/bin/bioworks_to_pepxml_gui.rb +0 -225
  22. data/bin/fasta_shaker.rb +0 -5
  23. data/bin/filter_and_validate.rb +0 -5
  24. data/bin/gi2annot.rb +0 -14
  25. data/bin/id_class_anal.rb +0 -112
  26. data/bin/id_precision.rb +0 -172
  27. data/bin/ms_to_lmat.rb +0 -67
  28. data/bin/pepproph_filter.rb +0 -16
  29. data/bin/prob_validate.rb +0 -6
  30. data/bin/protein_summary.rb +0 -6
  31. data/bin/protxml2prots_peps.rb +0 -32
  32. data/bin/raw_to_mzXML.rb +0 -55
  33. data/bin/run_percolator.rb +0 -122
  34. data/bin/sqt_group.rb +0 -26
  35. data/bin/srf_group.rb +0 -27
  36. data/bin/srf_to_sqt.rb +0 -40
  37. data/lib/align/chams.rb +0 -78
  38. data/lib/align.rb +0 -154
  39. data/lib/archive/targz.rb +0 -94
  40. data/lib/bsearch.rb +0 -120
  41. data/lib/core_extensions.rb +0 -16
  42. data/lib/fasta.rb +0 -626
  43. data/lib/gi.rb +0 -124
  44. data/lib/group_by.rb +0 -10
  45. data/lib/index_by.rb +0 -11
  46. data/lib/merge_deep.rb +0 -21
  47. data/lib/ms/converter/mzxml.rb +0 -77
  48. data/lib/ms/gradient_program.rb +0 -170
  49. data/lib/ms/msrun.rb +0 -244
  50. data/lib/ms/msrun_index.rb +0 -108
  51. data/lib/ms/parser/mzdata/axml.rb +0 -67
  52. data/lib/ms/parser/mzdata/dom.rb +0 -175
  53. data/lib/ms/parser/mzdata/libxml.rb +0 -7
  54. data/lib/ms/parser/mzdata.rb +0 -31
  55. data/lib/ms/parser/mzxml/axml.rb +0 -70
  56. data/lib/ms/parser/mzxml/dom.rb +0 -182
  57. data/lib/ms/parser/mzxml/hpricot.rb +0 -253
  58. data/lib/ms/parser/mzxml/libxml.rb +0 -19
  59. data/lib/ms/parser/mzxml/regexp.rb +0 -122
  60. data/lib/ms/parser/mzxml/rexml.rb +0 -72
  61. data/lib/ms/parser/mzxml/xmlparser.rb +0 -248
  62. data/lib/ms/parser/mzxml.rb +0 -282
  63. data/lib/ms/parser.rb +0 -108
  64. data/lib/ms/precursor.rb +0 -25
  65. data/lib/ms/scan.rb +0 -81
  66. data/lib/mspire.rb +0 -4
  67. data/lib/pi_zero.rb +0 -244
  68. data/lib/qvalue.rb +0 -161
  69. data/lib/roc.rb +0 -187
  70. data/lib/sample_enzyme.rb +0 -160
  71. data/lib/scan_i.rb +0 -21
  72. data/lib/spec_id/aa_freqs.rb +0 -170
  73. data/lib/spec_id/bioworks.rb +0 -497
  74. data/lib/spec_id/digestor.rb +0 -138
  75. data/lib/spec_id/mass.rb +0 -179
  76. data/lib/spec_id/parser/proph.rb +0 -335
  77. data/lib/spec_id/precision/filter/cmdline.rb +0 -218
  78. data/lib/spec_id/precision/filter/interactive.rb +0 -134
  79. data/lib/spec_id/precision/filter/output.rb +0 -148
  80. data/lib/spec_id/precision/filter.rb +0 -637
  81. data/lib/spec_id/precision/output.rb +0 -60
  82. data/lib/spec_id/precision/prob/cmdline.rb +0 -160
  83. data/lib/spec_id/precision/prob/output.rb +0 -94
  84. data/lib/spec_id/precision/prob.rb +0 -249
  85. data/lib/spec_id/proph/pep_summary.rb +0 -104
  86. data/lib/spec_id/proph/prot_summary.rb +0 -484
  87. data/lib/spec_id/proph.rb +0 -4
  88. data/lib/spec_id/protein_summary.rb +0 -489
  89. data/lib/spec_id/sequest/params.rb +0 -316
  90. data/lib/spec_id/sequest/pepxml.rb +0 -1458
  91. data/lib/spec_id/sequest.rb +0 -33
  92. data/lib/spec_id/sqt.rb +0 -349
  93. data/lib/spec_id/srf.rb +0 -973
  94. data/lib/spec_id.rb +0 -778
  95. data/lib/spec_id_xml.rb +0 -99
  96. data/lib/transmem/phobius.rb +0 -147
  97. data/lib/transmem/toppred.rb +0 -368
  98. data/lib/transmem.rb +0 -157
  99. data/lib/validator/aa.rb +0 -48
  100. data/lib/validator/aa_est.rb +0 -112
  101. data/lib/validator/background.rb +0 -77
  102. data/lib/validator/bias.rb +0 -95
  103. data/lib/validator/cmdline.rb +0 -431
  104. data/lib/validator/decoy.rb +0 -107
  105. data/lib/validator/digestion_based.rb +0 -70
  106. data/lib/validator/probability.rb +0 -51
  107. data/lib/validator/prot_from_pep.rb +0 -234
  108. data/lib/validator/q_value.rb +0 -32
  109. data/lib/validator/transmem.rb +0 -272
  110. data/lib/validator/true_pos.rb +0 -46
  111. data/lib/validator.rb +0 -197
  112. data/lib/xml.rb +0 -38
  113. data/lib/xml_style_parser.rb +0 -119
  114. data/lib/xmlparser_wrapper.rb +0 -19
  115. data/release_notes.txt +0 -2
  116. data/script/compile_and_plot_smriti_final.rb +0 -97
  117. data/script/create_little_pepxml.rb +0 -61
  118. data/script/degenerate_peptides.rb +0 -47
  119. data/script/estimate_fpr_by_cysteine.rb +0 -226
  120. data/script/extract_gradient_programs.rb +0 -56
  121. data/script/find_cysteine_background.rb +0 -137
  122. data/script/genuine_tps_and_probs.rb +0 -136
  123. data/script/get_apex_values_rexml.rb +0 -44
  124. data/script/histogram_probs.rb +0 -61
  125. data/script/mascot_fix_pepxml.rb +0 -123
  126. data/script/msvis.rb +0 -42
  127. data/script/mzXML2timeIndex.rb +0 -25
  128. data/script/peps_per_bin.rb +0 -67
  129. data/script/prep_dir.rb +0 -121
  130. data/script/simple_protein_digestion.rb +0 -27
  131. data/script/smriti_final_analysis.rb +0 -103
  132. data/script/sqt_to_meta.rb +0 -24
  133. data/script/top_hit_per_scan.rb +0 -67
  134. data/script/toppred_to_yaml.rb +0 -47
  135. data/script/tpp_installer.rb +0 -249
  136. data/specs/align_spec.rb +0 -79
  137. data/specs/bin/bioworks_to_pepxml_spec.rb +0 -79
  138. data/specs/bin/fasta_shaker_spec.rb +0 -259
  139. data/specs/bin/filter_and_validate__multiple_vals_helper.yaml +0 -199
  140. data/specs/bin/filter_and_validate_spec.rb +0 -180
  141. data/specs/bin/ms_to_lmat_spec.rb +0 -34
  142. data/specs/bin/prob_validate_spec.rb +0 -86
  143. data/specs/bin/protein_summary_spec.rb +0 -14
  144. data/specs/fasta_spec.rb +0 -354
  145. data/specs/gi_spec.rb +0 -22
  146. data/specs/load_bin_path.rb +0 -7
  147. data/specs/merge_deep_spec.rb +0 -13
  148. data/specs/ms/gradient_program_spec.rb +0 -77
  149. data/specs/ms/msrun_spec.rb +0 -498
  150. data/specs/ms/parser_spec.rb +0 -92
  151. data/specs/ms/spectrum_spec.rb +0 -87
  152. data/specs/pi_zero_spec.rb +0 -115
  153. data/specs/qvalue_spec.rb +0 -39
  154. data/specs/roc_spec.rb +0 -251
  155. data/specs/rspec_autotest.rb +0 -149
  156. data/specs/sample_enzyme_spec.rb +0 -126
  157. data/specs/spec_helper.rb +0 -135
  158. data/specs/spec_id/aa_freqs_spec.rb +0 -52
  159. data/specs/spec_id/bioworks_spec.rb +0 -148
  160. data/specs/spec_id/digestor_spec.rb +0 -75
  161. data/specs/spec_id/precision/filter/cmdline_spec.rb +0 -20
  162. data/specs/spec_id/precision/filter/output_spec.rb +0 -31
  163. data/specs/spec_id/precision/filter_spec.rb +0 -246
  164. data/specs/spec_id/precision/prob_spec.rb +0 -44
  165. data/specs/spec_id/precision/prob_spec_helper.rb +0 -0
  166. data/specs/spec_id/proph/pep_summary_spec.rb +0 -98
  167. data/specs/spec_id/proph/prot_summary_spec.rb +0 -128
  168. data/specs/spec_id/protein_summary_spec.rb +0 -189
  169. data/specs/spec_id/sequest/params_spec.rb +0 -68
  170. data/specs/spec_id/sequest/pepxml_spec.rb +0 -374
  171. data/specs/spec_id/sequest_spec.rb +0 -38
  172. data/specs/spec_id/sqt_spec.rb +0 -246
  173. data/specs/spec_id/srf_spec.rb +0 -172
  174. data/specs/spec_id/srf_spec_helper.rb +0 -139
  175. data/specs/spec_id_helper.rb +0 -33
  176. data/specs/spec_id_spec.rb +0 -366
  177. data/specs/spec_id_xml_spec.rb +0 -33
  178. data/specs/transmem/phobius_spec.rb +0 -425
  179. data/specs/transmem/toppred_spec.rb +0 -298
  180. data/specs/transmem_spec.rb +0 -60
  181. data/specs/transmem_spec_shared.rb +0 -64
  182. data/specs/validator/aa_est_spec.rb +0 -66
  183. data/specs/validator/aa_spec.rb +0 -40
  184. data/specs/validator/background_spec.rb +0 -67
  185. data/specs/validator/bias_spec.rb +0 -122
  186. data/specs/validator/decoy_spec.rb +0 -51
  187. data/specs/validator/fasta_helper.rb +0 -26
  188. data/specs/validator/prot_from_pep_spec.rb +0 -141
  189. data/specs/validator/transmem_spec.rb +0 -146
  190. data/specs/validator/true_pos_spec.rb +0 -58
  191. data/specs/validator_helper.rb +0 -33
  192. data/specs/xml_spec.rb +0 -12
  193. data/test_files/000_pepxml18_small.xml +0 -206
  194. data/test_files/020a.mzXML.timeIndex +0 -4710
  195. data/test_files/4-03-03_mzXML/000.mzXML.timeIndex +0 -3973
  196. data/test_files/4-03-03_mzXML/020.mzXML.timeIndex +0 -3872
  197. data/test_files/4-03-03_small-prot.xml +0 -321
  198. data/test_files/4-03-03_small.xml +0 -3876
  199. data/test_files/7MIX_STD_110802_1.sequest_params_fragment.srf +0 -0
  200. data/test_files/bioworks-3.3_10prots.xml +0 -5999
  201. data/test_files/bioworks31.params +0 -77
  202. data/test_files/bioworks32.params +0 -62
  203. data/test_files/bioworks33.params +0 -63
  204. data/test_files/bioworks_single_run_small.xml +0 -7237
  205. data/test_files/bioworks_small.fasta +0 -212
  206. data/test_files/bioworks_small.params +0 -63
  207. data/test_files/bioworks_small.phobius +0 -109
  208. data/test_files/bioworks_small.toppred.out +0 -2847
  209. data/test_files/bioworks_small.xml +0 -5610
  210. data/test_files/bioworks_with_INV_small.xml +0 -3753
  211. data/test_files/bioworks_with_SHUFF_small.xml +0 -2503
  212. data/test_files/corrupted_900.srf +0 -0
  213. data/test_files/head_of_7MIX.srf +0 -0
  214. data/test_files/interact-opd1_mods_small-prot.xml +0 -304
  215. data/test_files/messups.fasta +0 -297
  216. data/test_files/opd1/000.my_answer.100lines.xml +0 -101
  217. data/test_files/opd1/000.tpp_1.2.3.first10.xml +0 -115
  218. data/test_files/opd1/000.tpp_2.9.2.first10.xml +0 -126
  219. data/test_files/opd1/000.v2.1.mzXML.timeIndex +0 -3748
  220. data/test_files/opd1/000_020-prot.png +0 -0
  221. data/test_files/opd1/000_020_3prots-prot.mod_initprob.xml +0 -62
  222. data/test_files/opd1/000_020_3prots-prot.xml +0 -62
  223. data/test_files/opd1/opd1_cat_inv_small-prot.xml +0 -139
  224. data/test_files/opd1/sequest.3.1.params +0 -77
  225. data/test_files/opd1/sequest.3.2.params +0 -62
  226. data/test_files/opd1/twenty_scans.mzXML +0 -418
  227. data/test_files/opd1/twenty_scans.v2.1.mzXML +0 -382
  228. data/test_files/opd1/twenty_scans_answ.lmat +0 -0
  229. data/test_files/opd1/twenty_scans_answ.lmata +0 -9
  230. data/test_files/opd1_020_beginning.RAW +0 -0
  231. data/test_files/opd1_2runs_2mods/data/020.mzData.xml +0 -683
  232. data/test_files/opd1_2runs_2mods/data/020.readw.mzXML +0 -382
  233. data/test_files/opd1_2runs_2mods/data/040.mzData.xml +0 -683
  234. data/test_files/opd1_2runs_2mods/data/040.readw.mzXML +0 -382
  235. data/test_files/opd1_2runs_2mods/data/README.txt +0 -6
  236. data/test_files/opd1_2runs_2mods/interact-opd1_mods__small.xml +0 -753
  237. data/test_files/orbitrap_mzData/000_cut.xml +0 -1920
  238. data/test_files/pepproph_small.xml +0 -4691
  239. data/test_files/phobius.small.noheader.txt +0 -50
  240. data/test_files/phobius.small.small.txt +0 -53
  241. data/test_files/s01_anC1_ld020mM.key.txt +0 -25
  242. data/test_files/s01_anC1_ld020mM.meth +0 -0
  243. data/test_files/small.fasta +0 -297
  244. data/test_files/small.sqt +0 -87
  245. data/test_files/smallraw.RAW +0 -0
  246. data/test_files/tf_bioworks2excel.bioXML +0 -14340
  247. data/test_files/tf_bioworks2excel.txt.actual +0 -1035
  248. data/test_files/toppred.small.out +0 -416
  249. data/test_files/toppred.xml.out +0 -318
  250. data/test_files/validator_hits_separate/bias_bioworks_small_HS.fasta +0 -7
  251. data/test_files/validator_hits_separate/bioworks_small_HS.xml +0 -5651
  252. data/test_files/yeast_gly_small-prot.xml +0 -265
  253. data/test_files/yeast_gly_small.1.0_1.0_1.0.parentTimes +0 -6
  254. data/test_files/yeast_gly_small.xml +0 -3807
  255. data/test_files/yeast_gly_small2.parentTimes +0 -6
@@ -1,316 +0,0 @@
1
- require 'sample_enzyme'
2
-
3
-
4
- ##
5
- # In the future, this guy should accept any version of bioworks params file
6
- # and spit out any param queried.
7
- module Sequest ; end
8
- class Sequest::Params
9
-
10
- Bioworks31_Enzyme_Info_Array = [
11
- ['No_Enzyme', 0, '-', '-'], # 0
12
- ['Trypsin', 1, 'KR', '-'], # 1
13
- ['Trypsin(KRLNH)', 1, 'KRLNH', '-'], # 2
14
- ['Chymotrypsin', 1, 'FWYL', '-'], # 3
15
- ['Chymotrypsin(FWY)', 1, 'FWY', 'P'], # 4
16
- ['Clostripain', 1, 'R', '-'], # 5
17
- ['Cyanogen_Bromide', 1, 'M', '-'], # 6
18
- ['IodosoBenzoate', 1, 'W', '-'], # 7
19
- ['Proline_Endopept', 1, 'P', '-'], # 8
20
- ['Staph_Protease', 1, 'E', '-'], # 9
21
- ['Trypsin_K', 1, 'K', 'P'], # 10
22
- ['Trypsin_R', 1, 'R', 'P'], # 11
23
- ['GluC', 1, 'ED', '-'], # 12
24
- ['LysC', 1, 'K', '-'], # 13
25
- ['AspN', 0, 'D', '-'], # 14
26
- ['Elastase', 1, 'ALIV', 'P'], # 15
27
- ['Elastase/Tryp/Chymo', 1, 'ALIVKRWFY', 'P'], # 16
28
- ]
29
-
30
- # current attributes supported are:
31
- # bioworks 3.2:
32
- @@param_re = / = ?/o
33
- @@param_two_split = ';'
34
- @@sequest_line = /\[SEQUEST\]/o
35
-
36
- # the general options
37
- attr_accessor :opts
38
- # the static weights added to amino acids
39
- attr_accessor :mods
40
-
41
- # all keys and values stored as strings!
42
- # will accept a sequest.params file or .srf file
43
- def initialize(file=nil)
44
- if file
45
- parse(file)
46
- end
47
- end
48
-
49
- # returns hash of params up until add_U_user_amino_acid
50
- def grab_params(fh)
51
- hash = {}
52
- in_add_amino_acid_section = false
53
- add_section_re = /^\s*add_/
54
- prev_pos = nil
55
- while line = fh.gets
56
- if line =~ add_section_re
57
- in_add_amino_acid_section = true
58
- end
59
- if (in_add_amino_acid_section and !(line =~ add_section_re))
60
- fh.pos = prev_pos
61
- break
62
- end
63
- prev_pos = fh.pos
64
- if line =~ /\w+/
65
- one,two = line.split @@param_re
66
- two,comment = two.split @@param_two_split
67
- hash[one] = two.rstrip
68
- end
69
- end
70
- hash
71
- end
72
-
73
- # returns self
74
- def parse_handle(fh)
75
- # seek to the SEQUEST file
76
- loop do
77
- if fh.gets =~ @@sequest_line
78
- # double check that we are in a sequest params file:
79
- pos = fh.pos
80
- if fh.gets =~ /^first_database_name/
81
- fh.pos = pos
82
- break
83
- end
84
- end
85
- end
86
- @opts = grab_params(fh)
87
- @opts["search_engine"] = "SEQUEST"
88
- # extract out the mods
89
- @mods = {}
90
- @opts.each do |k,v|
91
- if k =~ /^add_/
92
- @mods[k] = @opts.delete(k)
93
- end
94
- end
95
-
96
- ## this gets rid of the .hdr postfix on indexed databases
97
- @opts["first_database_name"] = @opts["first_database_name"].sub(/\.hdr$/, '')
98
- self
99
- end
100
-
101
- ## parses file
102
- ## and drops the .hdr behind indexed fasta files
103
- ## returns self
104
- ## can read sequest.params file or .srf file handle
105
- def parse(file)
106
- File.open(file) do |fh|
107
- parse_handle(fh)
108
- end
109
- self
110
- end
111
-
112
- # returns( offset, cleave_at, except_if_after )
113
- # offset is an Integer specifying how far after an amino acid to cut
114
- # cleave_at is a string of all amino acids that should be cut at
115
- # except_if_after for not cutting after those
116
- # normal tryptic behavior would be: [1, 'KR', 'P']
117
- # NOTE: a '-' in a params file is returned as an '' (empty string)
118
- # AspN is [0,'D','']
119
- def enzyme_specificity
120
- enzyme_ar =
121
- if version == '3.1'
122
- Bioworks31_Enzyme_Info_Array[@opts['enzyme_number'].to_i][1,3]
123
- elsif version >= '3.2'
124
- arr = enzyme_info.split(/\s+/)[2,3]
125
- arr[0] = arr[0].to_i
126
- arr
127
- else
128
- raise ArgumentError, "don't recognize anything but Bioworks 3.1--3.3"
129
- end
130
- enzyme_ar.map! do |str|
131
- if str == '-' ; ''
132
- else ; str
133
- end
134
- end
135
- enzyme_ar
136
- end
137
-
138
- # Returns the version of the sequest.params file
139
- # Returns String "3.3" if contains "fragment_ion_units"
140
- # Returns String "3.2" if contains "enyzme_info"
141
- # Returns String "3.1" if contains "enzyme_number"
142
- def version
143
- if @opts['fragment_ion_units'] ; return '3.3'
144
- elsif @opts['enzyme_info'] ; return '3.2'
145
- elsif @opts['enzyme_number'] ; return '3.1'
146
- end
147
- end
148
-
149
- ####################################################
150
- # TO PEPXML
151
- ####################################################
152
- # In some ways, this is merely translating to the older Bioworks
153
- # sequest.params files
154
-
155
- # I'm not sure if this is the right mapping for sequence_search_constraint?
156
- def sequence
157
- pseq = @opts['partial_sequence']
158
- if !pseq || pseq == "" ; pseq = "0" end
159
- pseq
160
- end
161
-
162
- def precursor_mass_type
163
- case @opts['mass_type_parent']
164
- when '0' ; "average"
165
- when '1' ; "monoisotopic"
166
- else ; abort "error in mass_type_parent in sequest!"
167
- end
168
- end
169
-
170
- def fragment_mass_type
171
- fmtype =
172
- case @opts['mass_type_fragment']
173
- when '0' ; "average"
174
- when '1' ; "monoisotopic"
175
- else ; abort "error in mass_type_fragment in sequest!"
176
- end
177
- end
178
-
179
- def method_missing(name, *args)
180
- string = name.to_s
181
- if @opts.key?(string) ; return @opts[string]
182
- elsif @mods.key?(string) ; return @mods[string]
183
- else ; return nil
184
- end
185
- end
186
-
187
- ## We only need to define values if they are different than sequest.params
188
- ## The method_missing will look them up in the hash!
189
-
190
- # Returns a system independent basename
191
- # Splits on "\" or "/"
192
- def _sys_ind_basename(file)
193
- return file.split(/[\\\/]/)[-1]
194
- end
195
-
196
- # changes the path of the database
197
- def database_path=(newpath)
198
- db = @opts["first_database_name"]
199
- newpath = File.join(newpath, _sys_ind_basename(db))
200
- @opts["first_database_name"] = newpath
201
- end
202
-
203
- def database
204
- @opts["first_database_name"]
205
- end
206
-
207
- # returns the appropriate aminoacid mass lookup table (in spec_id.rb SpecID::MONO or
208
- # SpecID::AVG based on precursor_mass_type
209
- def mass_table
210
- case precursor_mass_type
211
- when 'average'
212
- SpecID::AVG
213
- when 'monoisotopic'
214
- SpecID::MONO
215
- end
216
- end
217
-
218
- # at least in Bioworks 3.2, the First number after the enzyme
219
- # is the indication of the enzymatic end stringency (required):
220
- # 1 = Fully enzymatic
221
- # 2 = Either end
222
- # 3 = N terminal only
223
- # 4 = C terminal only
224
- # So, to get min_number_termini we map like this:
225
- # 1 => 2
226
- # 2 => 1
227
- def min_number_termini
228
- termini_number = @opts["enzyme_info"].split(" ")[1]
229
- if termini_number == "1"
230
- return "2"
231
- elsif termini_number == "2"
232
- return "1"
233
- else
234
- puts "WARNING: Enzyme termini info might be imprecise!"
235
- return "1"
236
- end
237
- end
238
-
239
- # returns a SampleEnzyme object
240
- def sample_enzyme
241
- (offset, cleave_at, except_if_after) = enzyme_specificity.map do |v|
242
- if v == '' ; nil ; else v end
243
- end
244
- SampleEnzyme.new do |se|
245
- se.name = self.enzyme
246
- se.cut = cleave_at
247
- se.no_cut = except_if_after
248
- se.sense =
249
- if se.name == "No_Enzyme"
250
- nil
251
- elsif offset == 1
252
- 'C'
253
- elsif offset == 0
254
- 'N'
255
- end
256
- end
257
- end
258
-
259
- # returns the enzyme name (but no parentheses connected with the name).
260
- # this will likely be capitalized.
261
- def enzyme
262
- v = self.version
263
- basic_name =
264
- if v == '3.1'
265
- Bioworks31_Enzyme_Info_Array[ @opts['enzyme_number'].to_i ][0]
266
- elsif v >= '3.2'
267
- @opts["enzyme_info"]
268
- end
269
- basic_name.split('(')[0]
270
- end
271
-
272
- def max_num_internal_cleavages
273
- @opts["max_num_internal_cleavage_sites"]
274
- end
275
-
276
- # my take on peptide_mass_units:
277
- # (see http://www.ionsource.com/tutorial/isotopes/slide2.htm)
278
- # amu = atomic mass units = (mass_real - mass_measured).abs (??abs??)
279
- # mmu = milli mass units (amu / 1000)
280
- # ppm = parts per million = 10^6 * ∆m_accuracy / mass_measured [ where ∆m_accuracy = mass_real – mass_measured ]
281
-
282
- def peptide_mass_tol
283
- if @opts["peptide_mass_units"] != "0"
284
- puts "WARNING: peptide_mass_tol units need to be adjusted!"
285
- end
286
- @opts["peptide_mass_tolerance"]
287
- end
288
-
289
- def fragment_ion_tol
290
- @opts["fragment_ion_tolerance"]
291
- end
292
-
293
- def max_num_differential_AA_per_mod
294
- @opts["max_num_differential_per_peptide"]
295
- end
296
-
297
- # returns a hash by add_<whatever> of any static mods != 0
298
- # the values are still as strings
299
- def static_mods
300
- hash = {}
301
- @mods.each do |k,v|
302
- if v.to_f != 0.0
303
- hash[k] = v
304
- end
305
- end
306
- hash
307
- end
308
-
309
- ## @TODO: We could add some of the parameters not currently being asked for to be more complete
310
- ## @TODO: We could always add the Bioworks 3.2 specific params as params
311
-
312
- ####################################################
313
- ####################################################
314
-
315
- end
316
-