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
data/Rakefile DELETED
@@ -1,330 +0,0 @@
1
- require 'rake'
2
- require 'rubygems'
3
- require 'rake/rdoctask'
4
- require 'rake/gempackagetask'
5
- require 'rake/clean'
6
- require 'fileutils'
7
- require 'spec/rake/spectask'
8
-
9
- ###############################################
10
- # GLOBAL
11
- ###############################################
12
- FL = FileList
13
-
14
- NAME = "mspire"
15
-
16
- $dependencies = %w(libjtp)
17
- $tfiles_large = 'test_files_large'
18
- changelog = "changelog.txt"
19
-
20
- core_files = FL["INSTALL", "README", "README.rdoc", "Rakefile", "LICENSE", changelog, "release_notes.txt", "{lib,bin,script,specs,tutorial,test_files}/**/*"]
21
- big_dist_files = core_files + FL["test_files_large/**/*"]
22
-
23
- dist_files = core_files
24
- # dist_files = big_dist_files
25
-
26
- ###############################################
27
- # ENVIRONMENT
28
- ###############################################
29
-
30
- ENV["OS"] == "Windows_NT" ? WIN32 = true : WIN32 = false
31
- $gemcmd = "gem"
32
- if WIN32
33
- unless ENV["TERM"] == "cygwin"
34
- $gemcmd << ".cmd"
35
- end
36
- end
37
-
38
- ###############################################
39
- # DOC
40
- ###############################################
41
-
42
- def move_and_add_webgen_header(file, newfile, src_dir, heading)
43
- string = IO.read file
44
- with_header = heading + string
45
- File.open(newfile, 'w') {|v| v.print with_header }
46
- FileUtils.mv newfile, src_dir, :force => true
47
- end
48
-
49
- desc "copy top level files into doc/src"
50
- task :cp_top_level_docs do
51
- string = "---
52
- title: TITLE
53
- inMenu: true
54
- directoryName: mspire
55
- ---\n"
56
- src = "doc/src"
57
- move_and_add_webgen_header('README', 'index.page', src, string.sub('TITLE', 'Home'))
58
- move_and_add_webgen_header('INSTALL', 'index.page', src + '/install', string.sub('TITLE', 'Install').sub('mspire', 'Install').sub("inMenu: true\n", ''))
59
- end
60
-
61
- desc "upload docs (doc/output) to server"
62
- task :upload_docs do
63
- sh "scp -i ~/.ssh/rubyforge_key -r doc/output/* jtprince@rubyforge.org:/var/www/gforge-projects/mspire/"
64
- end
65
-
66
- # best to use webgen 0.3.8 right now
67
- # to get working (may not require all these steps):
68
- # gem install RedCloth
69
- # gem install BlueCloth
70
- # soft link the bluecloth binary into path
71
- desc "creates docs in doc/html"
72
- task :html_docs => [:cp_top_level_docs] do
73
- FileUtils.cd 'doc' do
74
- sh "webgen"
75
- end
76
- FileUtils.cp 'doc/src/archive/t2x', 'doc/output/archive/t2x'
77
- end
78
-
79
- desc "does html_docs and rdoc and puts rdoc inside html_docs"
80
- task :all_docs => [:html_docs, :rdoc] do
81
- FileUtils.mv 'html', 'doc/output/rdoc'
82
- end
83
-
84
- #rdoc_options = ['--main', 'README', '--title', NAME]
85
- rdoc_options = ['--main', 'README.rdoc', '--title', NAME]
86
- #rdoc_extra_includes = ["README", "INSTALL", "LICENSE"]
87
- rdoc_extra_includes = ['README.rdoc']
88
-
89
- Rake::RDocTask.new do |rd|
90
- rd.main = "README.rdoc"
91
- rd.rdoc_files.include("lib/**/*.rb", *rdoc_extra_includes )
92
- rd.options.push( *rdoc_options )
93
- end
94
-
95
- ###############################################
96
- # TESTS
97
- ###############################################
98
-
99
- namespace :spec do
100
- task :autotest do
101
- require './specs/rspec_autotest'
102
- RspecAutotest.run
103
- end
104
- end
105
-
106
-
107
- task :ensure_dependencies do
108
- $dependencies.each do |dep|
109
- unless `#{$gemcmd} list -l #{dep}`.include?(dep)
110
- abort "ABORTING: install #{dep} before testing!"
111
- end
112
- end
113
- end
114
-
115
- task :ensure_large_testfiles do
116
- if !File.exist?($tfiles_large) and !ENV['SPEC_LARGE'].nil?
117
- warn "Not running with large files since #{$tfiles_large} does not exist!"
118
- warn "Removing SPEC_LARGE from ENV!"
119
- ENV.delete('SPEC_LARGE')
120
- end
121
- end
122
-
123
- task :ensure_gem_is_uninstalled do
124
- reply = `#{$gemcmd} list -l #{NAME}`
125
- if reply.include? NAME + " ("
126
- puts "GOING to uninstall gem '#{NAME}' for testing"
127
- if WIN32
128
- %x( #{$gemcmd} uninstall -x #{NAME} )
129
- else
130
- %x( sudo #{$gemcmd} uninstall -x #{NAME} )
131
- end
132
- end
133
- end
134
-
135
- desc "Run all specs"
136
- Spec::Rake::SpecTask.new('spec') do |t|
137
- Rake::Task[:ensure_gem_is_uninstalled].invoke
138
- Rake::Task[:ensure_dependencies].invoke
139
- Rake::Task[:ensure_large_testfiles].invoke
140
- t.libs =
141
- if !ENV['LIB'].nil?
142
- [ENV['LIB']]
143
- else
144
- ['lib']
145
- end
146
- #t.ruby_opts = ['-I', 'lib']
147
- t.spec_files = FileList['specs/**/*_spec.rb']
148
- end
149
-
150
- desc "Run all specs"
151
- Spec::Rake::SpecTask.new('specl') do |t|
152
- Rake::Task[:ensure_gem_is_uninstalled].invoke
153
- Rake::Task[:ensure_dependencies].invoke
154
- Rake::Task[:ensure_large_testfiles].invoke
155
- t.spec_files = FileList['specs/**/*_spec.rb']
156
- t.libs =
157
- if !ENV['LIB'].nil?
158
- [ENV['LIB']]
159
- else
160
- ['lib']
161
- end
162
- #t.libs = ['lib']
163
- #t.ruby_opts = ['-I', 'lib']
164
- t.spec_opts = ['--format', 'specdoc' ]
165
- end
166
-
167
- desc "Run all specs with RCov"
168
- Spec::Rake::SpecTask.new('rcov') do |t|
169
- Rake::Task[:ensure_gem_is_uninstalled].invoke
170
- Rake::Task[:ensure_dependencies].invoke
171
- Rake::Task[:ensure_large_testfiles].invoke
172
- t.spec_files = FileList['specs/**/*_spec.rb']
173
- t.rcov = true
174
- t.libs =
175
- if !ENV['LIB'].nil?
176
- [ENV['LIB']]
177
- else
178
- ['lib']
179
- end
180
- #t.ruby_opts = ['-I', 'lib']
181
- t.rcov_opts = ['--exclude', 'specs']
182
- end
183
-
184
- task :speci => [:ensure_gem_is_uninstalled, :ensure_dependencies, :ensure_large_testfiles] do
185
- # files that match a key word
186
- files_to_run = ENV['SPEC'] || FileList['specs/**/*_spec.rb']
187
- if ENV['SPECM']
188
- files_to_run = files_to_run.select do |file|
189
- file.include?(ENV['SPECM'])
190
- end
191
- end
192
- lib =
193
- if !ENV['LIB'].nil?
194
- ENV['LIB']
195
- else
196
- 'lib'
197
- end
198
- files_to_run.each do |spc|
199
- puts "------ SPEC=#{spc} ------"
200
- system "ruby -I #{lib} -S spec #{spc} --format specdoc"
201
- end
202
- end
203
-
204
- #Spec::Rake::SpecTask.new(:spec) do |t|
205
- # uninstall_gem
206
- # t.spec_files = FileList['spec/**/spec_*.rb']
207
- # t.libs = FileList['lib']
208
- # t.spec_opts = ['--format', 'specdoc']
209
- #end
210
-
211
-
212
- #desc "Run unit tests."
213
- #Rake::TestTask.new do |t|
214
- # uninstall_gem
215
- # # t.libs << "lib" ## done by default
216
- # t.test_files = FL["test/tc_*.rb"]
217
- # #t.verbose = true
218
- #end
219
-
220
-
221
-
222
- #desc "Run unit tests individual on each test"
223
- #task :test_ind do |t|
224
- # reply = `#{$gemcmd} list -l #{NAME}`
225
- # if reply.include? NAME + " ("
226
- # %x( sudo #{$gemcmd} uninstall -x #{NAME} )
227
- # end
228
- #
229
- # # t.libs << "lib" ## done by default
230
- # test_files = FL["test/tc_*.rb"]
231
- # test_files.each do |file|
232
- # puts "TESTING: #{file.sub(/test\//,'')}"
233
- # puts `ruby -I lib #{file}`
234
- # end
235
- # #t.verbose = true
236
- #end
237
-
238
-
239
-
240
-
241
-
242
- #desc "Run all tests"
243
- #task :test_indiv do
244
- # sys.cd "test" do
245
- # sys["tc_*.rb"].each do |file|
246
- # sys "ruby #{file}"
247
- # end
248
- # end
249
- #end
250
-
251
- ###############################################
252
- # PACKAGE / INSTALL / UNINSTALL
253
- ###############################################
254
-
255
- ## To release a package on rubyforge:
256
- ## Login to rubyforge and go the 'Files' tab
257
- ## then "To create a new release click here"
258
-
259
- tm = Time.now
260
- spec = Gem::Specification.new do |s|
261
- s.platform = Gem::Platform::RUBY
262
- s.name = NAME
263
- s.version = IO.readlines(changelog).grep(/##.*version/).pop.split(/\s+/).last.chomp
264
- s.summary = "Mass Spectrometry Proteomics Objects, Scripts, and Executables"
265
- s.date = "#{tm.year}-#{tm.month}-#{tm.day}"
266
- s.email = "jprince@icmb.utexas.edu"
267
- s.homepage = "http://mspire.rubyforge.org"
268
- s.rubyforge_project = "mspire"
269
- s.description = "mspire is for working with mass spectrometry proteomics data"
270
- s.has_rdoc = true
271
- s.authors = ["John Prince"]
272
- s.files = dist_files
273
- s.rdoc_options = rdoc_options
274
- s.extra_rdoc_files = rdoc_extra_includes
275
- s.executables = FL["bin/*"].map {|file| File.basename(file) }
276
- s.add_dependency('libjtp', '~> 0.2.14')
277
- s.add_dependency('axml', '~> 0.0.0')
278
- s.add_dependency('arrayclass', '~> 0.1.0')
279
- s.requirements << '"libxml" is the prefered xml parser right now. libxml, xmlparser, REXML and regular expressions are used as fallback in some routines.'
280
- s.requirements << 'some plotting functions will not be available without the "gnuplot" gem (and underlying gnuplot binary)'
281
- s.requirements << 'the "t2x" binary (in archive) or readw.exe is required to convert .RAW files to mzXML in some applications'
282
- s.requirements << '"rake" is useful for development'
283
- s.requirements << '"webgen (with gems redcloth and bluecloth) is necessary to build web pages'
284
- #s.test_files = FL["test/tc_*.rb"]
285
- s.test_files = FL["specs/**/*_spec.rb"]
286
- end
287
-
288
- desc "Create packages."
289
- Rake::GemPackageTask.new(spec) do |pkg|
290
- pkg.need_zip = true
291
- pkg.need_tar = true
292
- end
293
-
294
- #desc "Create packages."
295
- #gen RubyPackage, NAME do |t|
296
- # t.version = "0.1.4"
297
- # t.summary = "Mass Spectrometry Proteomics Objects, Scripts, and Executables"
298
- # t.files = dist_files
299
- # t.bindir = "bin"
300
- # t.executable = sys["bin/*"].collect {|file| File.basename(file) }
301
- # t.test_files = sys["test/tc_*.rb"]
302
- # t.gem_add_dependency('libjtp', '= 0.1.1')
303
- # t.package_task
304
- #end
305
-
306
- task :remove_pkg do
307
- FileUtils.rm_rf "pkg"
308
- end
309
-
310
- task :install => [:reinstall]
311
-
312
- desc "uninstalls the package, packages a fresh one, and installs"
313
- task :reinstall => [:remove_pkg, :clean, :package] do
314
- reply = `#{$gemcmd} list -l #{NAME}`
315
- if reply.include?(NAME + " (")
316
- %x( #{$gemcmd} uninstall -x #{NAME} )
317
- end
318
- FileUtils.cd("pkg") do
319
- %x( #{$gemcmd} install #{NAME}*.gem )
320
- end
321
-
322
- end
323
-
324
- ###############################################
325
- # CLEANUP
326
- ###############################################
327
-
328
- #desc "Remove autogenerated and backup files."
329
- #gen Clean
330
- #var[:clean].include "pkg", "*~", tutorial_files
data/bin/aafreqs.rb DELETED
@@ -1,23 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'fasta'
4
- require 'spec_id/aa_freqs'
5
-
6
- if ARGV.size < 1
7
- puts "usage: #{File.basename(__FILE__)} <file>.fasta ..."
8
- puts "prints the amino acid frequencies of every amino acid in each fasta file"
9
- exit
10
- end
11
-
12
- ARGV.each do |file|
13
- obj = SpecID::AAFreqs.new(Fasta.new(file))
14
- puts file
15
- obj.aafreqs.sort_by{|v| v.to_s }.each do |k,v|
16
- puts "#{k}: #{v}"
17
- end
18
- puts ""
19
- end
20
-
21
-
22
-
23
-
@@ -1,14 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'spec_id/bioworks'
4
-
5
- if ARGV.size < 1
6
- puts "usage: #{File.basename(__FILE__)} bioworks.xml ..."
7
- exit
8
- end
9
-
10
- ARGV.each do |file|
11
- newfile = file.gsub(".xml", ".txt")
12
- obj = Bioworks.new(file)
13
- obj.to_excel(newfile)
14
- end
@@ -1,148 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- ##############################################################
4
- # GLOBAL CONSTANTS
5
-
6
- DEFAULT_DATABASE_PATH = "/project/marcotte/marcotte/ms/database"
7
- DEFAULT_MZ_PATH = "."
8
- DEFAULT_OUTDIR = "pepxml"
9
- DEFAULT_PARAMS_GLOB = "*.params"
10
- DEFAULT_PARAMS_FILE = Dir[DEFAULT_PARAMS_GLOB].first
11
- DEFAULT_MS_MODEL = 'LCQ'
12
- DEFAULT_MASS_ANALYZER = 'Ion Trap'
13
- ##############################################################
14
-
15
- #require 'spec_id/sequest/pepxml' # dies of this guy is called (why???)
16
- require 'spec_id/proph/pep_summary' # <- he requests the above...hmmm
17
- require 'spec_id'
18
- require 'optparse'
19
- require 'ostruct'
20
- require 'fileutils'
21
- require 'spec_id/srf'
22
-
23
- # establish the default database path after examining env vars
24
- def_dbpath = nil
25
- db_env_var = ENV["BIOWORKS_DBPATH"]
26
- if db_env_var
27
- def_dbpath = db_env_var
28
- else
29
- def_dbpath = DEFAULT_DATABASE_PATH
30
- end
31
-
32
- opt = OpenStruct.new
33
-
34
- opt_obj = OptionParser.new do |op|
35
- progname = File.basename(__FILE__)
36
- op.banner = "\nusage: #{progname} [options] <file>.srf ..."
37
- op.separator "usage: #{progname} [options] <bioworks>.srg"
38
- op.separator "usage: #{progname} [options] <bioworks>.xml"
39
- op.separator ""
40
- op.separator "Takes srf files or the xml exported output of Bioworks multi-consensus view"
41
- op.separator "(no filtering) and outputs pepXML files (to feed the trans-proteomic pipeline)."
42
- op.separator "Additionally, will group .srf files into an .srg file (like 'srf_group.rb')"
43
- op.separator ""
44
- op.separator "Options:"
45
- op.on('-h', '--help', "display this and more notes and exit") {|v| opt.help = v }
46
- op.on('-o', '--outdir path', "output directory d: '#{DEFAULT_OUTDIR}'") {|v| opt.outdir = v }
47
- op.on('--sample_enzyme <type>', "For digested samples run with no enzymatic",
48
- "search constraint, the enzyme used for",
49
- "digestion, options: 'Trypsin_KR_P'") {|v|
50
- case v
51
- when 'Trypsin_KR_P'
52
- opt.sample_enzyme = SampleEnzyme.new("trypsin")
53
- else
54
- raise ArgumentError, "Don't recognize enzyme: #{v}"
55
- end
56
- }
57
- op.on('-a', '--all_hits', "includes all hits, not just top xcorr") {|v| opt.all_hits = v }
58
- op.on('--deltacn_orig', "top hit deltacn = 0.0, (no deltacnstar att)") {|v| opt.deltacn_orig = v }
59
- op.on('-m', '--mspath path', "path to MS files d: '#{DEFAULT_MZ_PATH}'") {|v| opt.mspath = v }
60
- op.on('--copy_mzxml', "copies mzXML files to outdir path"){|v| opt.copy_mzxml = v }
61
-
62
- op.separator ""
63
- op.separator "bioworks.xml files may require additional options:"
64
- op.separator ""
65
- op.on('-p', '--params file', "sequest params file d: '#{DEFAULT_PARAMS_FILE}'") {|v| opt.params = v }
66
- op.on('-d', '--dbpath path', "path to databases d: '#{DEFAULT_DATABASE_PATH}'") {|v| opt.dbpath = v }
67
- op.on('--model <LCQ|Orbi|string>', "MS model (xml) d: '#{DEFAULT_MS_MODEL}'") {|v| opt.model = v }
68
- op.on('--mass_analyzer <string>', "Mass Analyzer (xml) d: '#{DEFAULT_MASS_ANALYZER}'") {|v| opt.mass_analyzer = v }
69
-
70
- end
71
-
72
- more_notes = "
73
- Notes:
74
-
75
- mspath: Directory to RAW or mzXML files.
76
- This option is needed to view Pep3D files
77
- and is critical with Bioworks 3.2 xml export files
78
- outdir: Path will be created if it does not already exist.
79
- (xml) : only bioworks.xml files need to include this information
80
- model : LCQ -> 'LCQ Deca XP Plus'
81
- : Orbi -> 'LTQ Orbitrap'
82
- : other string -> That's the string that will be used.
83
-
84
- options with spaces should be quoted: e.g., \"Time of Flight\"
85
-
86
- Database Path:
87
-
88
- If the database path in the sequest.params file is valid, that will be used.
89
- Otherwise, will try (in order):
90
- 1. --dbpath or -d option
91
- 1. environmental variable BIOWORKS_DBPATH (currently: '#{db_env_var}')
92
- 2. constant at top of this script (currently: '#{DEFAULT_DATABASE_PATH}')
93
- "
94
-
95
-
96
-
97
- opt_obj.parse!
98
-
99
- # intercept before argv count
100
- if opt.help
101
- puts opt_obj
102
- puts more_notes
103
- exit
104
- end
105
-
106
- if ARGV.size < 1
107
- puts opt_obj
108
- exit
109
- end
110
-
111
-
112
-
113
- opt.outdir ||= DEFAULT_OUTDIR
114
-
115
-
116
- files = ARGV.to_a
117
- bioworks_file = files[0]
118
- if files[0] =~ /\.srf/i
119
- srg_file = 'bioworks.srg'
120
- if File.exist? srg_file
121
- srg_file = 'bioworks.tmp.srg'
122
- end
123
- srg = SRFGroup.new(files)
124
- srg.to_srg(srg_file)
125
- unless File.exist? srg_file
126
- abort "couldn't create #{srg_file} from: #{files.join(', ')}"
127
- end
128
- bioworks_file = srg_file
129
- end
130
-
131
-
132
- case opt.model
133
- when "LCQ"
134
- model = 'LCQ Deca XP Plus'
135
- when "Orbi"
136
- model = 'LTQ Orbitrap'
137
- else
138
- model = opt.model
139
- end
140
-
141
- opt.dbpath ||= def_dbpath
142
- opt.mspath ||= DEFAULT_MZ_PATH
143
- opt.params ||= DEFAULT_PARAMS_FILE
144
- opt.mass_analyzer ||= DEFAULT_MASS_ANALYZER
145
- opt.model ||= DEFAULT_MS_MODEL
146
-
147
- xml_objs = Sequest::PepXML.set_from_bioworks(bioworks_file, {:params => opt.params, :ms_data => opt.mspath, :out_path => opt.outdir, :model => model, :backup_db_path => opt.dbpath, :copy_mzxml => opt.copy_mzxml, :ms_mass_analyzer => opt.mass_analyzer, :print => true, :all_hits => opt.all_hits, :deltacn_orig => opt.deltacn_orig, :sample_enzyme => opt.sample_enzyme})
148
-