mspire 0.2.4 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. data/INSTALL +1 -0
  2. data/README +25 -0
  3. data/Rakefile +129 -40
  4. data/bin/{find_aa_freq.rb → aafreqs.rb} +2 -2
  5. data/bin/bioworks_to_pepxml.rb +1 -0
  6. data/bin/fasta_shaker.rb +1 -96
  7. data/bin/filter_and_validate.rb +5 -0
  8. data/bin/{mzxml_to_lmat.rb → ms_to_lmat.rb} +8 -7
  9. data/bin/prob_validate.rb +6 -0
  10. data/bin/raw_to_mzXML.rb +2 -2
  11. data/bin/srf_group.rb +1 -0
  12. data/bin/srf_to_sqt.rb +40 -0
  13. data/changelog.txt +68 -0
  14. data/lib/align/chams.rb +6 -6
  15. data/lib/align.rb +4 -3
  16. data/lib/bsearch.rb +120 -0
  17. data/lib/fasta.rb +318 -86
  18. data/lib/group_by.rb +10 -0
  19. data/lib/index_by.rb +11 -0
  20. data/lib/merge_deep.rb +21 -0
  21. data/lib/{spec → ms/converter}/mzxml.rb +77 -109
  22. data/lib/ms/gradient_program.rb +171 -0
  23. data/lib/ms/msrun.rb +209 -0
  24. data/lib/{spec/msrun.rb → ms/msrun_index.rb} +7 -40
  25. data/lib/ms/parser/mzdata/axml.rb +12 -0
  26. data/lib/ms/parser/mzdata/dom.rb +160 -0
  27. data/lib/ms/parser/mzdata/libxml.rb +7 -0
  28. data/lib/ms/parser/mzdata.rb +25 -0
  29. data/lib/ms/parser/mzxml/axml.rb +11 -0
  30. data/lib/ms/parser/mzxml/dom.rb +159 -0
  31. data/lib/ms/parser/mzxml/hpricot.rb +253 -0
  32. data/lib/ms/parser/mzxml/libxml.rb +15 -0
  33. data/lib/ms/parser/mzxml/regexp.rb +122 -0
  34. data/lib/ms/parser/mzxml/rexml.rb +72 -0
  35. data/lib/ms/parser/mzxml/xmlparser.rb +248 -0
  36. data/lib/ms/parser/mzxml.rb +175 -0
  37. data/lib/ms/parser.rb +108 -0
  38. data/lib/ms/precursor.rb +10 -0
  39. data/lib/ms/scan.rb +81 -0
  40. data/lib/ms/spectrum.rb +193 -0
  41. data/lib/ms.rb +10 -0
  42. data/lib/mspire.rb +4 -0
  43. data/lib/roc.rb +61 -1
  44. data/lib/sample_enzyme.rb +31 -8
  45. data/lib/scan_i.rb +21 -0
  46. data/lib/spec_id/aa_freqs.rb +7 -3
  47. data/lib/spec_id/bioworks.rb +20 -14
  48. data/lib/spec_id/digestor.rb +139 -0
  49. data/lib/spec_id/mass.rb +116 -0
  50. data/lib/spec_id/parser/proph.rb +236 -0
  51. data/lib/spec_id/precision/filter/cmdline.rb +209 -0
  52. data/lib/spec_id/precision/filter/interactive.rb +134 -0
  53. data/lib/spec_id/precision/filter/output.rb +147 -0
  54. data/lib/spec_id/precision/filter.rb +623 -0
  55. data/lib/spec_id/precision/output.rb +60 -0
  56. data/lib/spec_id/precision/prob/cmdline.rb +139 -0
  57. data/lib/spec_id/precision/prob/output.rb +88 -0
  58. data/lib/spec_id/precision/prob.rb +171 -0
  59. data/lib/spec_id/proph/pep_summary.rb +92 -0
  60. data/lib/spec_id/proph/prot_summary.rb +484 -0
  61. data/lib/spec_id/proph.rb +2 -466
  62. data/lib/spec_id/protein_summary.rb +2 -2
  63. data/lib/spec_id/sequest/params.rb +316 -0
  64. data/lib/spec_id/sequest/pepxml.rb +1513 -0
  65. data/lib/spec_id/sequest.rb +2 -1672
  66. data/lib/spec_id/srf.rb +445 -177
  67. data/lib/spec_id.rb +183 -95
  68. data/lib/spec_id_xml.rb +8 -10
  69. data/lib/transmem/phobius.rb +147 -0
  70. data/lib/transmem/toppred.rb +368 -0
  71. data/lib/transmem.rb +157 -0
  72. data/lib/validator/aa.rb +135 -0
  73. data/lib/validator/background.rb +73 -0
  74. data/lib/validator/bias.rb +95 -0
  75. data/lib/validator/cmdline.rb +260 -0
  76. data/lib/validator/decoy.rb +94 -0
  77. data/lib/validator/digestion_based.rb +69 -0
  78. data/lib/validator/probability.rb +48 -0
  79. data/lib/validator/prot_from_pep.rb +234 -0
  80. data/lib/validator/transmem.rb +272 -0
  81. data/lib/validator/true_pos.rb +46 -0
  82. data/lib/validator.rb +214 -0
  83. data/lib/xml.rb +38 -0
  84. data/lib/xml_style_parser.rb +105 -0
  85. data/lib/xmlparser_wrapper.rb +19 -0
  86. data/script/compile_and_plot_smriti_final.rb +97 -0
  87. data/script/extract_gradient_programs.rb +56 -0
  88. data/script/get_apex_values_rexml.rb +44 -0
  89. data/script/mzXML2timeIndex.rb +1 -1
  90. data/script/smriti_final_analysis.rb +103 -0
  91. data/script/toppred_to_yaml.rb +47 -0
  92. data/script/tpp_installer.rb +1 -1
  93. data/{test/tc_align.rb → specs/align_spec.rb} +21 -27
  94. data/{test/tc_bioworks_to_pepxml.rb → specs/bin/bioworks_to_pepxml_spec.rb} +25 -41
  95. data/specs/bin/fasta_shaker_spec.rb +259 -0
  96. data/specs/bin/filter_and_validate__multiple_vals_helper.yaml +202 -0
  97. data/specs/bin/filter_and_validate_spec.rb +124 -0
  98. data/specs/bin/ms_to_lmat_spec.rb +34 -0
  99. data/specs/bin/prob_validate_spec.rb +62 -0
  100. data/specs/bin/protein_summary_spec.rb +10 -0
  101. data/{test/tc_fasta.rb → specs/fasta_spec.rb} +354 -310
  102. data/specs/gi_spec.rb +22 -0
  103. data/specs/load_bin_path.rb +7 -0
  104. data/specs/merge_deep_spec.rb +13 -0
  105. data/specs/ms/gradient_program_spec.rb +77 -0
  106. data/specs/ms/msrun_spec.rb +455 -0
  107. data/specs/ms/parser_spec.rb +92 -0
  108. data/specs/ms/spectrum_spec.rb +89 -0
  109. data/specs/roc_spec.rb +251 -0
  110. data/specs/rspec_autotest.rb +149 -0
  111. data/specs/sample_enzyme_spec.rb +41 -0
  112. data/specs/spec_helper.rb +133 -0
  113. data/specs/spec_id/aa_freqs_spec.rb +52 -0
  114. data/{test/tc_bioworks.rb → specs/spec_id/bioworks_spec.rb} +56 -71
  115. data/specs/spec_id/digestor_spec.rb +75 -0
  116. data/specs/spec_id/precision/filter/cmdline_spec.rb +20 -0
  117. data/specs/spec_id/precision/filter/output_spec.rb +31 -0
  118. data/specs/spec_id/precision/filter_spec.rb +243 -0
  119. data/specs/spec_id/precision/prob_spec.rb +111 -0
  120. data/specs/spec_id/precision/prob_spec_helper.rb +0 -0
  121. data/specs/spec_id/proph/pep_summary_spec.rb +143 -0
  122. data/{test/tc_proph.rb → specs/spec_id/proph/prot_summary_spec.rb} +52 -32
  123. data/{test/tc_protein_summary.rb → specs/spec_id/protein_summary_spec.rb} +85 -0
  124. data/specs/spec_id/sequest/params_spec.rb +68 -0
  125. data/specs/spec_id/sequest/pepxml_spec.rb +452 -0
  126. data/specs/spec_id/sqt_spec.rb +138 -0
  127. data/specs/spec_id/srf_spec.rb +209 -0
  128. data/specs/spec_id/srf_spec_helper.rb +302 -0
  129. data/specs/spec_id_helper.rb +33 -0
  130. data/specs/spec_id_spec.rb +361 -0
  131. data/specs/spec_id_xml_spec.rb +33 -0
  132. data/specs/transmem/phobius_spec.rb +423 -0
  133. data/specs/transmem/toppred_spec.rb +297 -0
  134. data/specs/transmem_spec.rb +60 -0
  135. data/specs/transmem_spec_shared.rb +64 -0
  136. data/specs/validator/aa_spec.rb +107 -0
  137. data/specs/validator/background_spec.rb +51 -0
  138. data/specs/validator/bias_spec.rb +146 -0
  139. data/specs/validator/decoy_spec.rb +51 -0
  140. data/specs/validator/fasta_helper.rb +26 -0
  141. data/specs/validator/prot_from_pep_spec.rb +141 -0
  142. data/specs/validator/transmem_spec.rb +145 -0
  143. data/specs/validator/true_pos_spec.rb +58 -0
  144. data/specs/validator_helper.rb +33 -0
  145. data/specs/xml_spec.rb +12 -0
  146. data/test_files/000_pepxml18_small.xml +206 -0
  147. data/test_files/020a.mzXML.timeIndex +4710 -0
  148. data/test_files/4-03-03_mzXML/000.mzXML.timeIndex +3973 -0
  149. data/test_files/4-03-03_mzXML/020.mzXML.timeIndex +3872 -0
  150. data/test_files/4-03-03_small-prot.xml +321 -0
  151. data/test_files/4-03-03_small.xml +3876 -0
  152. data/test_files/7MIX_STD_110802_1.sequest_params_fragment.srf +0 -0
  153. data/test_files/bioworks-3.3_10prots.xml +5999 -0
  154. data/test_files/bioworks31.params +77 -0
  155. data/test_files/bioworks32.params +62 -0
  156. data/test_files/bioworks33.params +63 -0
  157. data/test_files/bioworks_single_run_small.xml +7237 -0
  158. data/test_files/bioworks_small.fasta +212 -0
  159. data/test_files/bioworks_small.params +63 -0
  160. data/test_files/bioworks_small.phobius +109 -0
  161. data/test_files/bioworks_small.toppred.out +2847 -0
  162. data/test_files/bioworks_small.xml +5610 -0
  163. data/test_files/bioworks_with_INV_small.xml +3753 -0
  164. data/test_files/bioworks_with_SHUFF_small.xml +2503 -0
  165. data/test_files/corrupted_900.srf +0 -0
  166. data/test_files/head_of_7MIX.srf +0 -0
  167. data/test_files/interact-opd1_mods_small-prot.xml +304 -0
  168. data/test_files/messups.fasta +297 -0
  169. data/test_files/opd1/000.my_answer.100lines.xml +101 -0
  170. data/test_files/opd1/000.tpp_1.2.3.first10.xml +115 -0
  171. data/test_files/opd1/000.tpp_2.9.2.first10.xml +126 -0
  172. data/test_files/opd1/000.v2.1.mzXML.timeIndex +3748 -0
  173. data/test_files/opd1/000_020-prot.png +0 -0
  174. data/test_files/opd1/000_020_3prots-prot.mod_initprob.xml +62 -0
  175. data/test_files/opd1/000_020_3prots-prot.xml +62 -0
  176. data/test_files/opd1/opd1_cat_inv_small-prot.xml +139 -0
  177. data/test_files/opd1/sequest.3.1.params +77 -0
  178. data/test_files/opd1/sequest.3.2.params +62 -0
  179. data/test_files/opd1/twenty_scans.mzXML +418 -0
  180. data/test_files/opd1/twenty_scans.v2.1.mzXML +382 -0
  181. data/test_files/opd1/twenty_scans_answ.lmat +0 -0
  182. data/test_files/opd1/twenty_scans_answ.lmata +9 -0
  183. data/test_files/opd1_020_beginning.RAW +0 -0
  184. data/test_files/opd1_2runs_2mods/interact-opd1_mods__small.xml +753 -0
  185. data/test_files/orbitrap_mzData/000_cut.xml +1920 -0
  186. data/test_files/pepproph_small.xml +4691 -0
  187. data/test_files/phobius.small.noheader.txt +50 -0
  188. data/test_files/phobius.small.small.txt +53 -0
  189. data/test_files/s01_anC1_ld020mM.key.txt +25 -0
  190. data/test_files/s01_anC1_ld020mM.meth +0 -0
  191. data/test_files/small.fasta +297 -0
  192. data/test_files/smallraw.RAW +0 -0
  193. data/test_files/tf_bioworks2excel.bioXML +14340 -0
  194. data/test_files/tf_bioworks2excel.txt.actual +1035 -0
  195. data/test_files/toppred.small.out +416 -0
  196. data/test_files/toppred.xml.out +318 -0
  197. data/test_files/validator_hits_separate/bias_bioworks_small_HS.fasta +7 -0
  198. data/test_files/validator_hits_separate/bioworks_small_HS.xml +5651 -0
  199. data/test_files/yeast_gly_small-prot.xml +265 -0
  200. data/test_files/yeast_gly_small.1.0_1.0_1.0.parentTimes +6 -0
  201. data/test_files/yeast_gly_small.xml +3807 -0
  202. data/test_files/yeast_gly_small2.parentTimes +6 -0
  203. metadata +273 -57
  204. data/bin/filter.rb +0 -6
  205. data/bin/precision.rb +0 -5
  206. data/lib/spec/mzdata/parser.rb +0 -108
  207. data/lib/spec/mzdata.rb +0 -48
  208. data/lib/spec/mzxml/parser.rb +0 -449
  209. data/lib/spec/scan.rb +0 -55
  210. data/lib/spec_id/filter.rb +0 -797
  211. data/lib/spec_id/precision.rb +0 -421
  212. data/lib/toppred.rb +0 -18
  213. data/script/filter-peps.rb +0 -164
  214. data/test/tc_aa_freqs.rb +0 -59
  215. data/test/tc_fasta_shaker.rb +0 -149
  216. data/test/tc_filter.rb +0 -203
  217. data/test/tc_filter_peps.rb +0 -46
  218. data/test/tc_gi.rb +0 -17
  219. data/test/tc_id_class_anal.rb +0 -70
  220. data/test/tc_id_precision.rb +0 -89
  221. data/test/tc_msrun.rb +0 -88
  222. data/test/tc_mzxml.rb +0 -88
  223. data/test/tc_mzxml_to_lmat.rb +0 -36
  224. data/test/tc_peptide_parent_times.rb +0 -27
  225. data/test/tc_precision.rb +0 -60
  226. data/test/tc_roc.rb +0 -166
  227. data/test/tc_sample_enzyme.rb +0 -32
  228. data/test/tc_scan.rb +0 -26
  229. data/test/tc_sequest.rb +0 -336
  230. data/test/tc_spec.rb +0 -78
  231. data/test/tc_spec_id.rb +0 -201
  232. data/test/tc_spec_id_xml.rb +0 -36
  233. data/test/tc_srf.rb +0 -262
data/test/tc_srf.rb DELETED
@@ -1,262 +0,0 @@
1
-
2
- require 'test/unit'
3
- require 'spec_id/srf'
4
-
5
-
6
- module ToMatch
7
- Header = {
8
- :db_filename => "C:\\Xcalibur\\database\\mixed_db_human_ecoli_7prot_unique.fasta",
9
- :ion_series => "ion series nABY ABCDVWXYZ: 0 1 1 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0",
10
- :sequest_log_filename => "C:\\Xcalibur\\sequest\\john\\db_quest\\alone_new\\sash7\\7MIX_STD_110802_1_sequest.log",
11
- :raw_filename => "C:\\Xcalibur\\data\\john\\sashimi7\\7MIX_STD_110802_1.RAW",
12
- :enzyme => "Enzyme:Trypsin(KR/P) (2)",
13
- :params_filename => "C:\\Xcalibur\\sequest\\john\\db_quest\\alone_new\\sash7\\sash7.params",
14
- :modifications => "",
15
- :version => "3.2",
16
- :dta_log_filename => "C:\\Xcalibur\\sequest\\john\\db_quest\\alone_new\\sash7\\7MIX_STD_110802_1_dta.log",
17
- :model => "LCQ Deca XP",
18
- }
19
- ## DTA Gen
20
- Dta_gen = {
21
- :group_scan => 1,
22
- :start_time => 1.39999997615814,
23
- :start_scan => 1,
24
- :num_dta_files => 6952,
25
- :min_ion_threshold => 15,
26
- :end_mass => 4500.0,
27
- :min_group_count => 1,
28
- :start_mass => 400.0,
29
- :end_scan => 7161,
30
- }
31
-
32
- Dta_files_first = {
33
- :mh => 1221.88989257812,
34
- :dta_tic => 7703132.0,
35
- :num_peaks => 74,
36
- :charge => 1,
37
- :ms_level => 2,
38
- :total_num_possible_charge_states => 0,
39
- :peaks => "\346\214\271C\000p|F\340\016\335C\000D\fG\022l\335C\000\3604F\020\205\337C\000D~F\260\256\340C\000\020\347E\220\023\343C\000\220&F\020R\352C\000\244\313F\246\237\353C\000\360\032E\206\223\004D\000\204\030F\260\177\005D\000\346\220F \316\005D\000`\222F<\001\006D\000\356\217Fd\213\010D\000\336\tGr\314\vD\000\034}F\262\006\rD\000\026\221F\f\202!D\000\340\274E\302u#D\000\030\036Fl\275#D\000U\035G\254~&D\200\370\022H\364\315&D\000\346bGT\365&D\000\000\000@\300s5D\000`\307ET\2008D\000\3175G\310{:D\200\307\251G\230\311:D\000`5F\000\214<D\000\000\270E\254\301<D\000\340\024FX\264=D\000\270\021F\204\204?D\000\226\006H\356\256?D\000\000\000@\300\023@D\000\005\002Gb~BD\200\256\350G\032\312BD\000zAG\034\316CD\000\350\254E8\314DD\000\270\310E\316\020ED\000\010\254E\026\005QD\000\240\267E\250tSD\000tEFB\200VD\200\342\235G\374\247VD\000$\023F\000\206XD\200K\245G\242\303XD\000\343xG\270\201YD\000\214\325F\304\365ZD\0008\225FZF[D\000\230RF\232~[D@\r\201Hl\307[D\000L\031Hv\001\\D\000\3540Fx\201^D`\222\275H\f\305^D\000wZG\006\023oD\000\360\217E\354\205oD\200\335-H\350zrD\000\224,GFXtD\000\364\223F\222\201tD\200\221\341H\024\304tD\000)\034H\314\354tD\000\000\200@\022}wD\200\001\205I\274\274wD\000\t\210H\260\344wD\000\000pA\004\370yD\000@\203Eh\272\205D\2006\214Gh\336\205D\000\026\235Fb,\210D\200\177 H\\@\210D\240,\355Il`\210D\200\022\026I\320\202\210D\000 \336Fx\227\210D\000\000\200?\334{\212D\000<\252F4>\222D\000\264\213F\302\321\223D\000H\354Ed\275\230D\000-\fHv\332\230D@\313\tH\374\367\230D\000?\aG",
40
- }
41
- Dta_files_last = {
42
- :mh => 2604.8360326775,
43
- :dta_tic => 31977.0,
44
- :num_peaks => 17,
45
- :charge => 3,
46
- :ms_level => 2,
47
- :total_num_possible_charge_states => 0,
48
- :peaks => "4\n\216C\000`\305D\254\205\303C\000@;D\354\321\nD\000 \275D\232\243'D\000\020iE\350\2302D\000`\245D\f\3164D\000p@E\314JID\000\300\213D\264\002PD\000\260\016E\252\213[D\0000\eE\340NoD\000@\177D0\371xD\000@:Dd\f\205D\000\000yD\200\261\215D\000@\371D\210N\221D\000`\274D\034N\256D\000\020\032EN\372\266D\000\000\aD\356\223\322D\000\250\227E"
49
- }
50
-
51
- Out_files_first = {
52
- :num_hits => 10,
53
- :computer => "VELA",
54
- :date_time => "11/17/2006, 04:13 PM,",
55
- }
56
-
57
- Out_files_first_hit = {
58
- :mh => 1220.5128044522,
59
- :deltacn => 0.071944423019886, ## this is the modified version
60
- :sp => 96.5815887451172,
61
- :xcorr => 1.08377742767334,
62
- :id => 224,
63
- :rsp => 13,
64
- :ions_matched => 8,
65
- :ions_total => 20,
66
- :sequence => "K.LCPHLTLLPGR.F",
67
- :aaseq => "LCPHLTLLPGR",
68
- :reference => "gi|1786425|gb|AAC73335.1| damage-inducible protein P; putative tRNA synthetase",
69
- :first_scan => 2,
70
- :last_scan => 2,
71
- :base_name => '7MIX_STD_110802_1',
72
- :charge => 1,
73
- }
74
-
75
- Out_files_last = {
76
- :num_hits => 10,
77
- :computer => "VELA",
78
- :date_time => "11/17/2006, 04:25 PM," ,
79
- }
80
- Out_files_last_first_hit = {
81
- :mh => 2605.9368784522,
82
- :deltacn => 0.03921128064394,
83
- :sp => 76.7447052001953,
84
- :xcorr => 0.915680646896362,
85
- :id => 13562,
86
- :rsp => 4,
87
- :ions_matched => 10,
88
- :ions_total => 84,
89
- :sequence => "K.HLEINPNHPIVETLRQKAETHK.N",
90
- :aaseq => "HLEINPNHPIVETLRQKAETHK",
91
- :reference => "gi|30149327|ref|XP_293672.2| similar to ebiP7687 [Homo sapiens]",
92
- :first_scan => 7161,
93
- :last_scan => 7161,
94
- :base_name => '7MIX_STD_110802_1',
95
- :deltamass => 2605.9368784522 - 2604.8360326775,
96
- :ppm => ((1.0e6 * (2605.9368784522 - 2604.8360326775)) / 2604.8360326775).abs,
97
- :charge => 3,
98
- }
99
- Out_files_last_last_hit = {
100
- :mh => 2604.9025174522,
101
- :deltacn => 1.1,
102
- :sp => 26.1511478424072,
103
- :xcorr => 0.634012818336487,
104
- :id => 8105,
105
- :rsp => 165,
106
- :ions_matched => 6,
107
- :ions_total => 84,
108
- :sequence => "R.EAFLVNSDLTLRAQLTEFRDHK.L",
109
- :aaseq => "EAFLVNSDLTLRAQLTEFRDHK",
110
- :reference => "gi|5453830|ref|NP_006181.1| origin recognition complex, subunit 2-like; origin",
111
- :first_scan => 7161,
112
- :last_scan => 7161,
113
- :base_name => '7MIX_STD_110802_1',
114
- :deltamass => 2604.9025174522 - 2604.8360326775,
115
- :ppm => ((1.0e6 * (2604.9025174522 - 2604.8360326775)) / 2604.8360326775).abs,
116
- :charge => 3,
117
- }
118
- Sequest_params = {
119
- "add_F_Phenylalanine"=>"0.0000",
120
- "add_O_Ornithine"=>"0.0000",
121
- "add_Y_Tyrosine"=>"0.0000",
122
- "add_C_Cysteine"=>"0.0000",
123
- "add_A_Alanine"=>"0.0000",
124
- "add_J_user_amino_acid"=>"0.0000",
125
- "add_X_LorI"=>"0.0000",
126
- "add_S_Serine"=>"0.0000",
127
- "add_Cterm_peptide"=>"0.0000",
128
- "add_Q_Glutamine"=>"0.0000",
129
- "add_D_Aspartic_Acid"=>"0.0000",
130
- "add_Nterm_protein"=>"0.0000",
131
- "add_W_Tryptophan"=>"0.0000",
132
- "add_R_Arginine"=>"0.0000",
133
- "add_K_Lysine"=>"0.0000",
134
- "add_H_Histidine"=>"0.0000",
135
- "add_Nterm_peptide"=>"0.0000",
136
- "add_E_Glutamic_Acid"=>"0.0000",
137
- "add_Z_avg_QandE"=>"0.0000",
138
- "add_B_avg_NandD"=>"0.0000",
139
- "add_N_Asparagine"=>"0.0000",
140
- "add_I_Isoleucine"=>"0.0000",
141
- "add_L_Leucine"=>"0.0000",
142
- "add_M_Methionine"=>"0.0000",
143
- "add_P_Proline"=>"0.0000",
144
- "add_G_Glycine"=>"0.0000",
145
- "add_U_user_amino_acid"=>"0.0000",
146
- "add_T_Threonine"=>"0.0000",
147
- "add_V_Valine"=>"0.0000",
148
- "add_Cterm_protein"=>"0.0000",
149
- "match_peak_tolerance"=>"1.0000",
150
- "match_peak_allowed_error"=>"1",
151
- "normalize_xcorr"=>"0",
152
- "nucleotide_reading_frame"=>"0",
153
- "num_results"=>"250",
154
- "sequence_header_filter"=>"",
155
- "diff_search_options"=>"0.000000 S 0.000000 C 0.000000 M 0.000000 X 0.000000 T 0.000000 Y",
156
- "partial_sequence"=>"",
157
- "max_num_internal_cleavage_sites"=>"2",
158
- "search_engine"=>"SEQUEST",
159
- "print_duplicate_references"=>"40",
160
- "ion_series"=>"0 1 1 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0",
161
- "remove_precursor_peak"=>"0",
162
- "num_output_lines"=>"10",
163
- "second_database_name"=>"",
164
- "first_database_name"=>"C:\\Xcalibur\\database\\mixed_db_human_ecoli_7prot_unique.fasta",
165
- "peptide_mass_tolerance"=>"1.4000",
166
- "digest_mass_range"=>"600.0 3500.0",
167
- "enzyme_info"=>"Trypsin(KR/P) 1 1 KR P",
168
- "show_fragment_ions"=>"0",
169
- "protein_mass_filter"=>"0 0",
170
- "term_diff_search_options"=>"0.000000 0.000000",
171
- "num_description_lines"=>"5",
172
- "fragment_ion_tolerance"=>"1.0000",
173
- "peptide_mass_units"=>"0",
174
- "mass_type_parent"=>"0",
175
- "match_peak_count"=>"0",
176
- "max_num_differential_per_peptide"=>"1",
177
- "ion_cutoff_percentage"=>"0.0000",
178
- "mass_type_fragment"=>"0"
179
- }
180
-
181
- end
182
-
183
- tfiles = File.dirname(__FILE__) + '/tfiles/'
184
- tfiles_l = File.dirname(__FILE__) + '/tfiles_large/'
185
- tf_srf = tfiles_l + "7MIX_STD_110802_1.srf"
186
- tf_srf_inv = tfiles_l + "7MIX_STD_110802_1_INV.srf"
187
- if File.exist? tfiles_l
188
- start = Time.now
189
- $group = SRFGroup.new([tf_srf, tf_srf_inv])
190
- $srf = $group.srfs.first
191
- puts "Time to read and compile two SRF: #{Time.now - start} secs"
192
- end
193
-
194
-
195
- class TestSRF < Test::Unit::TestCase
196
- include ToMatch
197
- def initialize(arg)
198
- super(arg)
199
- @tfiles = File.dirname(__FILE__) + '/tfiles/'
200
- @tfiles_l = File.dirname(__FILE__) + '/tfiles_large/'
201
- @srg_file = @tfiles + "tmp_bioworks.srg"
202
-
203
- @srf = $srf
204
- @group = $group
205
-
206
- end
207
-
208
- def test_basic
209
- if File.exist? @tfiles_l
210
- ## Verify that we have everything and it is as we expect (not exhaustive)
211
- head = @srf.header
212
- dtgen = head.dta_gen
213
- ## HEADER
214
- hash_match(Header, head)
215
- hash_match(Dta_gen, dtgen)
216
- ## DTA_FILES
217
- hash_match(Dta_files_first, @srf.dta_files.first)
218
- hash_match(Dta_files_last, @srf.dta_files.last)
219
- ## OUT_FILES
220
- hash_match(Out_files_first, @srf.out_files.first)
221
- hash_match(Out_files_first_hit, @srf.out_files.first.hits.first)
222
- hash_match(Out_files_last_first_hit, @srf.out_files.last.hits.first)
223
- hash_match(Out_files_last_last_hit, @srf.out_files.last.hits.last)
224
- ## SEQUEST_PARAMS
225
- hash_match(Sequest_params, @srf.params)
226
- ## INDEX
227
- assert_equal([7161, 7161, 3], @srf.index.last)
228
- assert_equal([2, 2, 1], @srf.index.first)
229
-
230
- assert_equal(@srf.index.size, @srf.dta_files.size)
231
- assert_equal(@srf.out_files.size, @srf.dta_files.size)
232
- else
233
- assert_nil( puts("--SKIPPING TEST-- (missing dir: #{@tfiles_l})") )
234
- end
235
- end
236
-
237
- def test_srg
238
- if File.exist? @tfiles_l
239
- @group.to_srg(@srg_file)
240
- assert(File.exist?(@srg_file), "file exists: " + @srg_file )
241
- else
242
- assert_nil( puts("--SKIPPING TEST-- (missing dir: #{@tfiles_l})") )
243
- end
244
- end
245
-
246
- ## treats reference special
247
- def hash_match(hash, srf)
248
- hash.each do |k,v|
249
- if v.is_a? Float
250
- delta = v/100000
251
- assert_in_delta(v, srf.send(k.to_sym), delta, "param: #{k}")
252
- elsif k == :reference
253
- assert_equal(v[0,38], srf.prots.first.reference)
254
- else
255
- assert_equal(v, srf.send(k.to_sym), "param: #{k}")
256
- end
257
- end
258
- end
259
-
260
- end
261
-
262
-