mspire 0.4.9 → 0.5.0

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.
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,199 +0,0 @@
1
- ---
2
- pephits_precision:
3
- - validator: decoy
4
- value: 0.992932862190813
5
- - validator: badAAEst
6
- value: 0.178006237270664
7
- - validator: badAAEst
8
- value: -0.0247654296463379
9
- - validator: badAA
10
- value: 0.301413862599215
11
- - validator: bias
12
- value: 0.19471183136347
13
- - validator: bias
14
- value: -4.79308077902868
15
- - validator: bias
16
- value: 0.402836536134372
17
- - validator: tmm
18
- value: 0.437921755087444
19
- - validator: tmm
20
- value: -0.267185328932326
21
- - validator: tmm
22
- value: -0.155831020815818
23
- - validator: tmm
24
- value: -0.0201924414730414
25
- - validator: tps
26
- value: 0.226148409893993
27
- pephits: 283
28
- prothits_precision:
29
- - validator: decoy
30
- values:
31
- :normal_stdev: 0.00659628206397061
32
- :normal: 0.99622641509434
33
- :worst: 0.971698113207547
34
- - validator: badAA
35
- values:
36
- :normal_stdev: 0.0305695315962635
37
- :normal: 0.334905660377358
38
- :worst: 0.0188679245283019
39
- - validator: badAA
40
- values:
41
- :normal_stdev: 0.0
42
- :normal: 0.0
43
- :worst: 0.0
44
- - validator: badAA
45
- values:
46
- :normal_stdev: 0.0263288499231859
47
- :normal: 0.497169811320755
48
- :worst: 0.0377358490566038
49
- - validator: bias
50
- values:
51
- :normal_stdev: 0.0329963984643387
52
- :normal: 0.355660377358491
53
- :worst: 0.0188679245283019
54
- - validator: bias
55
- values:
56
- :normal_stdev: 0.0
57
- :normal: 0.0
58
- :worst: 0.0
59
- - validator: bias
60
- values:
61
- :normal_stdev: 0.0266832747617573
62
- :normal: 0.613207547169811
63
- :worst: 0.0943396226415094
64
- - validator: tmm
65
- values:
66
- :normal_stdev: 0.0281442148871296
67
- :normal: 0.65377358490566
68
- :worst: 0.122641509433962
69
- - validator: tmm
70
- values:
71
- :normal_stdev: 0.0
72
- :normal: 0.0
73
- :worst: 0.0
74
- - validator: tmm
75
- values:
76
- :normal_stdev: 0.0
77
- :normal: 0.0
78
- :worst: 0.0
79
- - validator: tmm
80
- values:
81
- :normal_stdev: 0.0
82
- :normal: 0.0
83
- :worst: 0.0
84
- - validator: tps
85
- values:
86
- :normal_stdev: 0.0317750140353944
87
- :normal: 0.402830188679245
88
- :worst: 0.0283018867924528
89
- params:
90
- validators:
91
- - :type: decoy
92
- :class: Validator::Decoy
93
- :constraint: /^DECOY_/
94
- :decoy_on_match: true
95
- :correct_wins: true
96
- - :calculated_background: 0.127208480565371
97
- :type: badAAEst
98
- :class: Validator::AAEst
99
- :background: 0.001
100
- :frequency: 0.0147528119278054
101
- - :calculated_background: 0.402826855123675
102
- :type: badAAEst
103
- :class: Validator::AAEst
104
- :background: 0.0
105
- :frequency: 0.0463510332199843
106
- - :calculated_background: 0.127208480565371
107
- :type: badAA
108
- :class: Validator::AA
109
- :background: 0.001
110
- :false_to_total_ratio: 0.180662732637313
111
- - :calculated_background: 0.773851590106007
112
- :type: bias
113
- :class: Validator::Bias
114
- :proteins_expected: true
115
- :correct_wins: true
116
- :background: 0.0
117
- :file: /work/john/mspire/specs/../test_files/validator_hits_separate/bias_bioworks_small_HS.fasta
118
- :false_to_total_ratio: 0.960962324103495
119
- - :calculated_background: 0.226148409893993
120
- :type: bias
121
- :class: Validator::Bias
122
- :proteins_expected: false
123
- :correct_wins: true
124
- :background: 0.0
125
- :file: /work/john/mspire/specs/../test_files/validator_hits_separate/bias_bioworks_small_HS.fasta
126
- :false_to_total_ratio: 0.0390376758965048
127
- - :calculated_background: 0.773851590106007
128
- :type: bias
129
- :class: Validator::Bias
130
- :proteins_expected: true
131
- :correct_wins: true
132
- :background: 0.2
133
- :file: /work/john/mspire/specs/../test_files/validator_hits_separate/bias_bioworks_small_HS.fasta
134
- :false_to_total_ratio: 0.960962324103495
135
- - :calculated_background: 0.359430604982206
136
- :type: tmm
137
- :soluble_fraction: true
138
- :class: Validator::Transmem::Protein
139
- :no_include_tm_peps: 0.8
140
- :correct_wins: true
141
- :background: 0.2
142
- :transmem_file: /work/john/mspire/specs/../test_files/bioworks_small.phobius
143
- :false_to_total_ratio: 0.283644859813084
144
- :min_num_tms: 1
145
- - :calculated_background: 0.359430604982206
146
- :type: tmm
147
- :soluble_fraction: true
148
- :class: Validator::Transmem::Protein
149
- :no_include_tm_peps: 0.8
150
- :correct_wins: true
151
- :background: 0.0
152
- :transmem_file: /work/john/mspire/specs/../test_files/bioworks_small.phobius
153
- :false_to_total_ratio: 0.283644859813084
154
- :min_num_tms: 1
155
- - :calculated_background: 0.293286219081272
156
- :type: tmm
157
- :soluble_fraction: true
158
- :class: Validator::Transmem::Protein
159
- :no_include_tm_peps: false
160
- :correct_wins: true
161
- :background: 0.0
162
- :transmem_file: /work/john/mspire/specs/../test_files/bioworks_small.toppred.out
163
- :false_to_total_ratio: 0.253744893327281
164
- :min_num_tms: 3
165
- - :calculated_background: 0.472924187725632
166
- :type: tmm
167
- :soluble_fraction: true
168
- :class: Validator::Transmem::Protein
169
- :no_include_tm_peps: 0.8
170
- :correct_wins: true
171
- :background: 0.0
172
- :transmem_file: /work/john/mspire/specs/../test_files/bioworks_small.toppred.out
173
- :false_to_total_ratio: 0.463563704748472
174
- :min_num_tms: 1
175
- - :type: tps
176
- :class: Validator::TruePos
177
- ties: true
178
- digestion:
179
- - /work/john/mspire/specs/../test_files/bioworks_small.fasta
180
- - /work/john/mspire/specs/../test_files/bioworks_small.params
181
- prefilter: false
182
- output:
183
- - text_table => /work/john/mspire/specs/../test_files/table_output.tmp
184
- - yaml => /work/john/mspire/specs/../test_files/filter_and_validate.tmp
185
- sequest:
186
- include_deltacnstar: true
187
- xcorr1: 0.0
188
- ppm: 1000000.0
189
- xcorr2: 0.0
190
- deltacn: 0.01
191
- xcorr3: 0.0
192
- top_hit_by: xcorr
193
- decoy_on_match: true
194
- postfilter: top_per_scan
195
- include_ties_in_top_hit_postfilter: false
196
- hits_together: true
197
- proteins: true
198
- include_ties_in_top_hit_prefilter: true
199
- prothits: 106
@@ -1,180 +0,0 @@
1
- require 'yaml'
2
-
3
- require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
4
-
5
- require 'spec_id/precision/filter'
6
-
7
- describe 'filter_and_validate.rb on small bioworks file' do
8
- before(:all) do
9
- @progname = 'filter_and_validate.rb'
10
-
11
- @outfile = Tfiles + '/filter_and_validate.tmp'
12
-
13
- # direct call with an array
14
- @direct_call = Proc.new {|ar| SpecID::Precision::Filter.new.filter_and_validate_cmdline(ar) }
15
- # direct call with a string
16
- @direct_call_st = Proc.new {|st| @direct_call.call(st.split(/\s+/)) }
17
- @st_to_yaml = Proc.new do |st|
18
- to_call = st + " -o yaml:#{@outfile} "
19
- @direct_call.call(to_call.split(/\s+/))
20
- YAML.load_file(@outfile)
21
- end
22
-
23
- @args = ["-1 0.6 -2 0.8 -3 0.9 -d 0.2", (Tfiles + '/bioworks_small.xml ')].join(' ')
24
- @interactive_file = Tfiles + '/interactive.tmp'
25
- File.open(@interactive_file,'w') do |fh|
26
- string = ["0.6 0.8 0.9 0.2 5000", "dcns:f", "0.6 0.8 dcns:t", "pf:s", "pf:ac", "pf:a"].join("\n")
27
- fh.puts string
28
- end
29
- # uses DECOY_ prefix on two
30
- @fake_bioworks_file = Tfiles + '/validator_hits_separate/bioworks_small_HS.xml'
31
- @small_bias_fasta_file = Tfiles + '/validator_hits_separate/bias_bioworks_small_HS.fasta'
32
- @small_fasta_file = Tfiles + '/bioworks_small.fasta'
33
- @params_file = Tfiles + '/bioworks_small.params'
34
- @toppred_file = Tfiles + '/bioworks_small.toppred.out'
35
- @phobius_file = Tfiles + '/bioworks_small.phobius'
36
- @table_output_file = Tfiles + '/table_output.tmp'
37
- end
38
-
39
- after(:all) do
40
- [@outfile, @interactive_file, @table_output_file].each do |file|
41
- File.unlink(file) if File.exist?(file)
42
- end
43
- end
44
-
45
- # this ensures that the actual commandline version gives usage.
46
- it_should_behave_like "a cmdline program"
47
-
48
- it 'filters a file and outputs to table or yaml' do
49
- @direct_call_st.call( @args + " -o text_table:#{@outfile}")
50
- IO.read(@outfile).should =~ /66/
51
- struct = @st_to_yaml.call( @args )
52
- struct['pephits'].should == 66
53
- end
54
-
55
- it 'responds to --no_deltacnstar' do
56
- reply_without = @st_to_yaml.call( @args + " --no_deltacnstar" )
57
- reply_without['pephits'].should == 34
58
- end
59
-
60
- it 'works with interactive input (includes dcnstar and postfilter)' do
61
- @direct_call_st.call( "-o text_table:#{@outfile} -i #{@interactive_file} " + Tfiles + '/bioworks_small.xml ' )
62
- reply = IO.read(@outfile)
63
-
64
- exp = %w(73 40 73 73 33 33)
65
- reply.scan(/^peps\s+(\d+)/) do |v|
66
- Regexp.last_match[1] == exp.shift
67
- end
68
- end
69
-
70
- it 'responds to ppm filter' do
71
- reply_without = @st_to_yaml.call( @args + " -p 280" )
72
- reply_without['pephits'].should == 11
73
- end
74
-
75
- it 'responds to --hits_separate' do
76
- # this file has two decoy peps that score better than the real peps at
77
- # those scans
78
- ht_file = Tfiles + '/test_together.tmp.yaml'
79
- hs_file = Tfiles + '/test_separate.tmp.yaml'
80
- outputs = [ht_file, hs_file].zip(['', ' --hits_separate']).map do |output_file, flag|
81
- run_normal = @cmd + " --bias #{@small_bias_fasta_file} --decoy /^DECOY_/ --digestion #{@small_fasta_file},#{@params_file} #{@fake_bioworks_file} -1 0.0 -2 0.0 -3 0.0 -d 0.01 -p 1000000 -o yaml:#{output_file} #{flag}"
82
- `#{run_normal}`
83
- end
84
- structs = [ht_file, hs_file].map do |file|
85
- file.exist_as_a_file?.should be_true
86
- struct = YAML.load_file(file)
87
- File.unlink file
88
- struct
89
- end
90
-
91
- comparisons = %w(precision calc_bkg hits_together_param)
92
- comps = structs.map do |st|
93
- # note that calculated_background may need to be a string if we get our
94
- # act together...
95
- [ st['pephits_precision'][0]['value'], st['params']['validators'][0][:calculated_background], st['params']['hits_together'] ]
96
- end
97
- comparisons.zip( *comps ) do |tp, ht, hs|
98
- ht.should_not == hs
99
- end
100
-
101
- end
102
-
103
- it 'raises error on > 1 decoy validator' do
104
- lambda { @st_to_yaml.call( @args + " --decoy /hello/ --decoy path/to/file" ) }.should raise_error(ArgumentError)
105
- end
106
-
107
- it 'handles multiple validators of the same kind (except, of course, decoy)' do
108
-
109
- struct = @st_to_yaml.call( "#{@fake_bioworks_file} --proteins -1 0.0 -2 0.0 -3 0.0 -d 0.01 -p 1000000 --decoy /^DECOY_/ --digestion #{@small_fasta_file},#{@params_file} --bad_aa_est C,0.001 --bad_aa_est E --bad_aa C,0.001 --bias #{@small_bias_fasta_file},true --bias #{@small_bias_fasta_file},false --bias #{@small_bias_fasta_file},true,0.2 --fasta #{@small_fasta_file} --tmm #{@phobius_file},1,true,0.8,0.2 --tmm #{@phobius_file} --tmm #{@toppred_file},3,true,false --tmm #{@toppred_file} --tps #{@small_bias_fasta_file} -o text_table:#{@table_output_file} " )
110
- frozen = YAML.load_file( File.dirname(__FILE__) + "/filter_and_validate__multiple_vals_helper.yaml" )
111
-
112
- ## Pephits precision:
113
- ordering = frozen['pephits_precision'].map {|v| v['validator'] }
114
- vals = frozen['pephits_precision'].map {|v| v['value'] }
115
- struct['pephits_precision'].zip(ordering, vals) do |act, vali, val|
116
- act['validator'].should == vali
117
- act['value'].should == val
118
- end
119
-
120
- struct['pephits'].should == frozen['pephits']
121
-
122
- ##### Params:
123
- frp = frozen['params']
124
- stp = struct['params']
125
-
126
- #puts "frozen validators:"
127
- #p frp['validators']
128
-
129
- #puts "seen validators:"
130
- #p stp['validators']
131
-
132
- frp['validators'].zip(stp['validators']) do |f,s|
133
- if f.is_a? Hash
134
- f.keys.each do |k|
135
- if k == :file or k == :transmem_file
136
- File.basename(f[k]).should == File.basename(s[k].gsub('\\','/'))
137
- else
138
- s[k].should == f[k]
139
- #f[k].should == s[k]
140
- end
141
- end
142
- else
143
- f.should == s
144
- end
145
- end
146
-
147
- %w(ties prefilter top_hit_by decoy_on_match postfilter include_ties_in_top_hit_postfilter hits_together proteins include_ties_in_top_hit_prefilter).each do |k|
148
- stp[k].should == frp[k]
149
- end
150
-
151
- ## digestion & output (special)
152
- %w(digestion output).each do |k|
153
- stp[k].zip(frp[k]).each do |s,f|
154
- File.basename( s.gsub('\\', '/') ).should == File.basename(f)
155
- end
156
- end
157
-
158
- ## Sequest:
159
- frp['sequest'].each do |k,v|
160
- stp['sequest'][k].should == v
161
- end
162
-
163
- ## TODO: Fill in protein level stuff once stabilized
164
-
165
- #struct.should == frozen
166
-
167
- text_table = IO.read(@table_output_file)
168
-
169
- # frozen
170
- headings_re = Regexp.new( %w(num decoy badAAEst badAAEst badAA bias bias bias tmm tmm tmm tmm tps).join("\\s+") )
171
- data_re = Regexp.new( %w(peps 283 0.993 0.178006 -0.024765 0.301 0.195 -4.793 0.403 0.438 -0.267 -0.156 -0.020 0.226).join("\\s+") )
172
- prot_re = Regexp.new( %w(106 0.972 0.018868 0.0 0.038 0.019 0.0 0.094 0.123 0.0 0.0 0.0 0.028).join("\\s+") )
173
- text_table.should =~ headings_re
174
- text_table.should =~ data_re
175
- text_table.should =~ prot_re
176
- end
177
-
178
- end
179
-
180
-
@@ -1,34 +0,0 @@
1
- require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
2
-
3
-
4
- describe 'ms_to_lmat.rb' do
5
-
6
- before(:all) do
7
- @progname = 'ms_to_lmat.rb'
8
- @mzxml = Tfiles + "/opd1/twenty_scans.mzXML"
9
- @ans_lmata = Tfiles + "/opd1/twenty_scans_answ.lmata"
10
- @ans_lmat = Tfiles + "/opd1/twenty_scans_answ.lmat"
11
- end
12
-
13
- it_should_behave_like "a cmdline program"
14
-
15
- it 'creates the correct lmata (ascii) file' do
16
- cmd = "#{@cmd} #{@mzxml} --ascii"
17
- `#{cmd}`
18
- newfile = @mzxml.sub(".mzXML", ".lmata")
19
- newfile.exist_as_a_file?.should be_true
20
- IO.read(newfile).should == IO.read(@ans_lmata)
21
- File.unlink(newfile)
22
- end
23
-
24
-
25
- it 'creates the correct lmat (binary) file' do
26
- cmd = "#{@cmd} #{@mzxml}"
27
- `#{cmd}`
28
- newfile = @mzxml.sub(".mzXML", ".lmat")
29
- newfile.exist_as_a_file?.should be_true
30
- IO.read(newfile).should == IO.read(@ans_lmat)
31
- File.unlink(newfile)
32
- end
33
- end
34
-
@@ -1,86 +0,0 @@
1
- require 'yaml'
2
-
3
- require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
4
-
5
- require 'spec_id/precision/prob'
6
-
7
- describe 'filter_and_validate.rb on small bioworks file' do
8
- before(:all) do
9
- @progname = 'prob_validate.rb'
10
-
11
- @outfile = Tfiles + '/prob_and_validate.tmp'
12
-
13
- # direct call with an array
14
- @direct_call = Proc.new {|ar| SpecID::Precision::Prob.new.precision_vs_num_hits_cmdline(ar) }
15
- # direct call with a string
16
- @direct_call_st = Proc.new {|st| @direct_call.call(st.split(/\s+/)) }
17
- @st_to_yaml = Proc.new do |st|
18
- to_call = st + " -o yaml:#{@outfile} "
19
- @direct_call.call(to_call.split(/\s+/))
20
- YAML.load_file(@outfile)
21
- end
22
-
23
- file = Tfiles + '/opd1/000_020_3prots-prot.mod_initprob.xml'
24
- @args = [file].join(' ')
25
- # uses DECOY_ prefix on two
26
- @fake_bioworks_file = Tfiles + '/validator_hits_separate/bioworks_small_HS.xml'
27
- @small_bias_fasta_file = Tfiles + '/validator_hits_separate/bias_bioworks_small_HS.fasta'
28
- @small_fasta_file = Tfiles + '/bioworks_small.fasta'
29
- @params_file = Tfiles + '/bioworks_small.params'
30
- @toppred_file = Tfiles + '/bioworks_small.toppred.out'
31
- @phobius_file = Tfiles + '/bioworks_small.phobius'
32
- end
33
-
34
- after(:all) do
35
- [@outfile].each do |file|
36
- File.unlink(file) if File.exist?(file)
37
- end
38
- end
39
-
40
- ############################ uncomment this::
41
- # this ensures that the actual commandline version gives usage.
42
- # it_should_behave_like "a cmdline program"
43
-
44
- it 'outputs to yaml' do
45
- reply = @st_to_yaml.call( @args )
46
- keys = [:probabilities, :params, :pephits, :pephits_precision, :charges, :aaseqs, :count].map {|v| v.to_s }.sort
47
- reply.keys.map {|v| v.to_s}.sort.should == keys
48
- end
49
-
50
-
51
- it 'responds to --prob init' do
52
- normal = @st_to_yaml.call( @args + " --prob" )
53
-
54
- normal[:pephits_precision].first[:values].zip([1.0, 1.0, 0.993333333333333, 0.85]) do |got,exp|
55
- got.should be_close(exp, 0.000000000001)
56
- end
57
- #normal_nsp = @st_to_yaml.call( @args + " --prob nsp" )
58
- #normal.should == normal_nsp
59
- init = @st_to_yaml.call( @args + " --prob init" )
60
-
61
- init[:pephits_precision].first[:values].should_not == normal[:pephits_precision].first[:values]
62
-
63
-
64
- init[:pephits_precision].first[:values].zip([1.0, 0.95, 0.963333333333333, 0.8025]) do |got,exp|
65
- got.should be_close(exp, 0.000000000001)
66
- end
67
- with_sort_by = @st_to_yaml.call( @args + " --prob nsp --sort_by_init" )
68
- # frozen
69
- with_sort_by[:pephits_precision].first[:values].zip([1.0, 0.99, 0.993333333333333, 0.85]) do |got,exp|
70
- got.should be_close(exp, 0.000000000001)
71
- end
72
- end
73
-
74
- it 'works with --to_qvalues flag' do
75
- begin
76
- normal = @st_to_yaml.call( @args + " --to_qvalues --prob" )
77
- rescue RuntimeError
78
- # right now the p values in this data set don't lend themselves to
79
- # legitimate q-values, so we get a RuntimeError
80
- # Need to work this one out
81
- end
82
- end
83
-
84
- end
85
-
86
-
@@ -1,14 +0,0 @@
1
- require File.expand_path( File.dirname(__FILE__) + '/../spec_helper' )
2
-
3
- describe 'protein_summary.rb' do
4
-
5
- before(:all) do
6
- @progname = 'protein_summary.rb'
7
- end
8
- it_should_behave_like 'a cmdline program'
9
-
10
- it 'outputs basic protein prophet -prot.xml summary' do
11
-
12
- end
13
-
14
- end