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,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