protk 1.2.6.pre5 → 1.3.0.pre1

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -45
  3. data/bin/add_retention_times.rb +9 -5
  4. data/bin/augustus_to_proteindb.rb +7 -11
  5. data/bin/interprophet.rb +28 -46
  6. data/bin/make_decoy.rb +16 -48
  7. data/bin/mascot_search.rb +57 -71
  8. data/bin/mascot_to_pepxml.rb +13 -26
  9. data/bin/msgfplus_search.rb +70 -107
  10. data/bin/omssa_search.rb +52 -109
  11. data/bin/peptide_prophet.rb +44 -119
  12. data/bin/pepxml_to_table.rb +24 -27
  13. data/bin/protein_prophet.rb +22 -82
  14. data/bin/protxml_to_gff.rb +22 -519
  15. data/bin/protxml_to_table.rb +2 -16
  16. data/bin/sixframe.rb +10 -32
  17. data/bin/tandem_search.rb +30 -403
  18. data/bin/tandem_to_pepxml.rb +43 -0
  19. data/bin/unimod_to_loc.rb +1 -1
  20. data/ext/{protk/decoymaker → decoymaker}/decoymaker.c +74 -21
  21. data/ext/decoymaker/extconf.rb +3 -0
  22. data/lib/protk/constants.rb +16 -2
  23. data/lib/protk/data/default_config.yml +2 -1
  24. data/lib/protk/data/tandem_gpm_defaults.xml +175 -0
  25. data/lib/protk/data/tandem_isb_kscore_defaults.xml +123 -0
  26. data/lib/protk/data/tandem_isb_native_defaults.xml +123 -0
  27. data/lib/protk/data/tandem_params.xml +17 -54
  28. data/lib/protk/fastadb.rb +2 -2
  29. data/lib/protk/prophet_tool.rb +1 -1
  30. data/lib/protk/protxml_to_gff_tool.rb +474 -0
  31. data/lib/protk/search_tool.rb +58 -103
  32. data/lib/protk/setup_rakefile.rake +9 -5
  33. data/lib/protk/tandem_search_tool.rb +256 -0
  34. data/lib/protk/tool.rb +85 -104
  35. data/lib/protk.rb +1 -6
  36. metadata +24 -103
  37. data/bin/annotate_ids.rb +0 -59
  38. data/bin/asapratio.rb +0 -27
  39. data/bin/blastxml_to_table.rb +0 -119
  40. data/bin/correct_omssa_retention_times.rb +0 -27
  41. data/bin/feature_finder.rb +0 -95
  42. data/bin/file_convert.rb +0 -164
  43. data/bin/generate_omssa_loc.rb +0 -42
  44. data/bin/gffmerge.rb +0 -208
  45. data/bin/libra.rb +0 -70
  46. data/bin/toppas_pipeline.rb +0 -84
  47. data/bin/uniprot_annotation.rb +0 -141
  48. data/bin/xls_to_table.rb +0 -52
  49. data/bin/xpress.rb +0 -27
  50. data/ext/protk/decoymaker/extconf.rb +0 -3
  51. data/ext/protk/simplealign/extconf.rb +0 -3
  52. data/lib/protk/biotools_excel_converter.rb +0 -60
  53. data/lib/protk/eupathdb_gene_information_table.rb +0 -158
  54. data/lib/protk/gapped_aligner.rb +0 -264
  55. data/lib/protk/protein_annotator.rb +0 -646
  56. data/lib/protk/spreadsheet_extensions.rb +0 -79
  57. data/lib/protk/xtandem_defaults.rb +0 -11
data/lib/protk/tool.rb CHANGED
@@ -18,7 +18,9 @@ class Tool
18
18
 
19
19
  # The option parser used to parse command-line options.
20
20
  #
21
- attr :option_parser, false
21
+ attr :option_parser
22
+
23
+ attr :options_defined_by_user
22
24
 
23
25
  # Prefix for background jobs
24
26
  # x = X!Tandem, o=OMSSA, p="Phenyx", m="Mascot"
@@ -32,6 +34,14 @@ class Tool
32
34
  @jobid_prefix=p
33
35
  end
34
36
 
37
+ def supported_options
38
+ os_hash=@options.to_h
39
+ # Remove entries entirely related to internal use
40
+ internal_keys=[:library, :inplace, :encoding, :transfer_type, :verbose]
41
+ os_hash.delete_if { |key,val| internal_keys.include? key }
42
+ os_hash
43
+ end
44
+
35
45
  # Provides direct access to options through methods of the same name
36
46
  #
37
47
  def method_missing(meth, *args, &block)
@@ -43,9 +53,23 @@ class Tool
43
53
  end
44
54
 
45
55
 
56
+ def add_value_option(symbol,default_value,opts)
57
+ @options[symbol]=default_value
58
+ @option_parser.on(*opts) do |val|
59
+ @options[symbol]=val
60
+ @options_defined_by_user[symbol]=opts
61
+ end
62
+ end
46
63
 
47
-
48
-
64
+ def add_boolean_option(symbol,default_value,opts)
65
+ @options[symbol]=default_value
66
+ @option_parser.on(*opts) do
67
+ @options[symbol]=!default_value
68
+ @options_defined_by_user[symbol]=opts
69
+ end
70
+ end
71
+
72
+
49
73
  # Creates an empty options object to hold commandline options
50
74
  # Also creates an option_parser with default options common to all tools
51
75
  #
@@ -58,80 +82,66 @@ class Tool
58
82
  options.transfer_type = :auto
59
83
  options.verbose = false
60
84
 
61
- @option_parser=OptionParser.new do |opts|
62
-
63
- if ( option_support.include? :prefix_suffix)
64
-
65
- @options.output_prefix = ""
66
- opts.on( '-b', '--output-prefix pref', 'A string to prepend to the name of output files' ) do |prefix|
67
- @options.output_prefix = prefix
68
- end
69
-
70
- @options.output_suffix = ""
71
- opts.on( '-e', '--output-suffix suff', 'A string to append to the name of output files' ) do |suffix|
72
- @options.output_suffix = suffix
73
- end
74
-
75
- end
76
-
77
- if ( option_support.include? :explicit_output )
78
- @options.explicit_output = nil
79
- opts.on( '-o', '--output out', 'An explicitly named output file.' ) do |out|
80
- @options.explicit_output = out
81
- end
82
- end
83
-
84
- if ( option_support.include? :over_write)
85
-
86
- @options.over_write=false
87
- opts.on( '-r', '--replace-output', 'Dont skip analyses for which the output file already exists' ) do
88
- @options.over_write = true
89
- end
90
-
91
- end
85
+ @options_defined_by_user={}
92
86
 
93
- if ( option_support.include? :background)
87
+ @option_parser=OptionParser.new do |opts|
94
88
 
95
- @options.background = false
96
- opts.on( '-z', '--background', 'Run jobs in the background using pbs' ) do
97
- @options.background = true
98
- end
99
-
100
- end
101
-
102
-
103
89
  opts.on( '-h', '--help', 'Display this screen' ) do
104
90
  puts opts
105
91
  exit
106
92
  end
107
-
108
93
  end
109
-
110
- end
111
-
112
94
 
95
+ if ( option_support.include? :prefix)
96
+ add_value_option(:output_prefix,"",['-b','--output-prefix pref', 'A string to prepend to the name of output files'])
97
+ end
113
98
 
99
+ if ( option_support.include? :over_write)
100
+ add_boolean_option(:over_write,false,['-r', '--replace-output', 'Dont skip analyses for which the output file already exists'])
101
+ end
114
102
 
103
+ if ( option_support.include? :explicit_output )
104
+ add_value_option(:explicit_output,nil,['-o', '--output out', 'An explicitly named output file.'])
105
+ end
115
106
 
116
- # Create and return a full base path (without extension) representing the output file for this analysis
117
- # Optionally provide the extension to be removed (if not provided it will be inferred)
118
- #
119
- def output_base_path(output_file,ext=nil)
120
-
121
- output_path=Pathname.new(output_file)
122
- throw "Error: Output directory #{output_path.dirname} does not exist" unless output_path.dirname.exist?
123
- dir=output_path.dirname.realpath.to_s
124
- basename=output_path.basename.to_s
125
- if ( ext==nil)
126
- ext=output_path.extname
127
- end
128
- base_name=basename.gsub(/#{ext}$/,"")
129
-
130
- "#{dir}/#{@options.output_prefix}#{base_name}#{@options.output_suffix}"
107
+ if ( option_support.include? :threads )
108
+ add_value_option(:threads,1,['-n','--threads num','Number of processing threads to use. Set to 0 to autodetect an appropriate value'])
109
+ end
110
+
111
+ end
112
+
113
+
114
+ def self.extension_from_filename(filename)
115
+ ext=""
116
+ case filename.chomp
117
+ when /\.pep\.xml/
118
+ ext=".pep.xml"
119
+ when /\.prot\.xml/
120
+ ext=".prot.xml"
121
+ else
122
+ ext=Pathname.new(filename.chomp).extname
123
+ end
124
+ ext
131
125
  end
132
126
 
127
+ def self.default_output_path(input_path,newext,prefix,suffix)
128
+ path=""
129
+ input_path=input_path[0] if (input_path.instance_of?(Array) && input_path.length==1)
130
+ if input_path.instance_of?(Array)
131
+ dir=Pathname.new(input_path[0]).dirname.realpath.to_s
132
+ basename="collected_outputs"
133
+ path="#{dir}/#{prefix}#{basename}#{suffix}#{newext}"
134
+ else
135
+ dir=Pathname.new(input_path).dirname.realpath.to_s
136
+ basename=Pathname.new(input_path).basename.to_s
137
+ oldext=Tool.extension_from_filename(input_path)
138
+ basename=basename.gsub(/#{oldext}$/,"")
139
+ path="#{dir}/#{prefix}#{basename}#{suffix}#{newext}"
140
+ end
141
+ path
142
+ end
133
143
 
134
- def check_options(mandatory=[])
144
+ def check_options(require_input_file=false,mandatory=[])
135
145
  # Checking for required options
136
146
  begin
137
147
  self.option_parser.parse!
@@ -143,54 +153,25 @@ class Tool
143
153
  end
144
154
  rescue OptionParser::InvalidOption, OptionParser::MissingArgument
145
155
  puts $!.to_s
146
- puts tool.option_parser
156
+ puts self.option_parser
147
157
  return false
148
158
  end
149
- return true
150
- end
151
159
 
152
- # Create a full base path (without extension) representing the input file for this analysis
153
- # Optionally provide the extension to be removed (if not provided it will be inferred)
154
- #
155
- def input_base_path(input_file,ext=nil)
156
- input_path=Pathname.new(input_file)
157
- throw "Error: Input directory #{input_path.dirname} does not exist" unless input_path.dirname.exist?
158
- dir=input_path.dirname.realpath.to_s
159
- if ( ext==nil)
160
- ext=input_path.extname
161
- end
162
- base_name=input_path.basename.to_s.gsub(/#{ext}$/,"")
163
- "#{dir}/#{base_name}"
164
- end
165
-
166
-
160
+ if ( require_input_file && ARGV[0].nil? )
161
+ puts "You must supply an input file"
162
+ puts self.option_parser
163
+ return false
164
+ end
165
+
166
+ return true
167
+ end
167
168
 
168
169
  # Run the search tool using the given command string and global environment
169
170
  #
170
- def run(cmd,genv,job_params=nil,jobscript_path=nil,autodelete=true)
171
- if ( @options.background )
172
- throw "Error: Background option was selected but this host does not support background jobs" unless genv.has_pbs
173
- # Send this job off to be run in a batch queuer
174
-
175
- cmd_runner=CommandRunner.new(genv)
176
-
177
-
178
-
179
- cmd_runner.run_batch(cmd,job_params,jobscript_path,autodelete)
180
-
181
- else
182
- cmd_runner=CommandRunner.new(genv)
183
- cmd_runner.run_local(cmd)
184
- end
171
+ def run(cmd,genv,autodelete=true)
172
+ cmd_runner=CommandRunner.new(genv)
173
+ cmd_runner.run_local(cmd)
185
174
  end
186
175
 
187
- def jobid_from_filename(filename)
188
- jobid="protk"
189
- jobnum_match=filename.match(/(.{1,10})\.d/)
190
- if (jobnum_match!=nil)
191
- jobid="#{self.jobid_prefix}#{jobnum_match[1]}"
192
- end
193
- return jobid
194
- end
195
176
 
196
177
  end
data/lib/protk.rb CHANGED
@@ -1,19 +1,14 @@
1
1
  require 'protk/tool.rb'
2
2
  require 'protk/swissprot_database.rb'
3
- require 'protk/spreadsheet_extensions.rb'
4
3
  require 'protk/search_tool.rb'
5
4
  require 'protk/protxml.rb'
6
- require 'protk/protein_annotator.rb'
7
5
  require 'protk/prophet_tool.rb'
8
- require 'protk/plasmodb.rb'
9
6
  require 'protk/omssa_util.rb'
10
7
  require 'protk/mascot_util.rb'
11
8
  require 'protk/manage_db_tool.rb'
12
9
  require 'protk/galaxy_util.rb'
13
10
  require 'protk/galaxy_stager.rb'
14
- require 'protk/eupathdb_gene_information_table.rb'
15
11
  require 'protk/constants.rb'
16
12
  require 'protk/command_runner.rb'
17
- require 'protk/biotools_excel_converter.rb'
18
13
  require 'protk/bio_sptr_extensions.rb'
19
- require 'protk/galaxy_stager.rb'
14
+ require 'protk/galaxy_stager.rb'
metadata CHANGED
@@ -1,35 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6.pre5
4
+ version: 1.3.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ira Cooke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-28 00:00:00.000000000 Z
11
+ date: 2014-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: ftools
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '0.0'
20
- - - '>='
21
- - !ruby/object:Gem::Version
22
- version: 0.0.0
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '0.0'
30
- - - '>='
31
- - !ruby/object:Gem::Version
32
- version: 0.0.0
33
13
  - !ruby/object:Gem::Dependency
34
14
  name: open4
35
15
  requirement: !ruby/object:Gem::Requirement
@@ -110,26 +90,6 @@ dependencies:
110
90
  - - '>='
111
91
  - !ruby/object:Gem::Version
112
92
  version: 3.2.5
113
- - !ruby/object:Gem::Dependency
114
- name: spreadsheet
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - ~>
118
- - !ruby/object:Gem::Version
119
- version: 0.7.4
120
- - - '>='
121
- - !ruby/object:Gem::Version
122
- version: 0.7.4
123
- type: :runtime
124
- prerelease: false
125
- version_requirements: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - ~>
128
- - !ruby/object:Gem::Version
129
- version: 0.7.4
130
- - - '>='
131
- - !ruby/object:Gem::Version
132
- version: 0.7.4
133
93
  - !ruby/object:Gem::Dependency
134
94
  name: libxml-ruby
135
95
  requirement: !ruby/object:Gem::Requirement
@@ -151,112 +111,79 @@ dependencies:
151
111
  - !ruby/object:Gem::Version
152
112
  version: 2.7.0
153
113
  - !ruby/object:Gem::Dependency
154
- name: mascot-dat
114
+ name: rspec
155
115
  requirement: !ruby/object:Gem::Requirement
156
116
  requirements:
157
117
  - - ~>
158
118
  - !ruby/object:Gem::Version
159
- version: 0.3.1
160
- - - '>='
161
- - !ruby/object:Gem::Version
162
- version: 0.3.1
163
- type: :runtime
119
+ version: '3.0'
120
+ type: :development
164
121
  prerelease: false
165
122
  version_requirements: !ruby/object:Gem::Requirement
166
123
  requirements:
167
124
  - - ~>
168
125
  - !ruby/object:Gem::Version
169
- version: 0.3.1
170
- - - '>='
171
- - !ruby/object:Gem::Version
172
- version: 0.3.1
126
+ version: '3.0'
173
127
  - !ruby/object:Gem::Dependency
174
- name: bio-blastxmlparser
128
+ name: rspec-mocks
175
129
  requirement: !ruby/object:Gem::Requirement
176
130
  requirements:
177
131
  - - ~>
178
132
  - !ruby/object:Gem::Version
179
- version: 1.1.1
180
- - - '>='
181
- - !ruby/object:Gem::Version
182
- version: 1.1.1
183
- type: :runtime
133
+ version: '3.0'
134
+ type: :development
184
135
  prerelease: false
185
136
  version_requirements: !ruby/object:Gem::Requirement
186
137
  requirements:
187
138
  - - ~>
188
139
  - !ruby/object:Gem::Version
189
- version: 1.1.1
190
- - - '>='
191
- - !ruby/object:Gem::Version
192
- version: 1.1.1
140
+ version: '3.0'
193
141
  - !ruby/object:Gem::Dependency
194
- name: rspec
142
+ name: rake-compiler
195
143
  requirement: !ruby/object:Gem::Requirement
196
144
  requirements:
197
145
  - - ~>
198
146
  - !ruby/object:Gem::Version
199
- version: '2.5'
147
+ version: '0'
200
148
  type: :development
201
149
  prerelease: false
202
150
  version_requirements: !ruby/object:Gem::Requirement
203
151
  requirements:
204
152
  - - ~>
205
153
  - !ruby/object:Gem::Version
206
- version: '2.5'
154
+ version: '0'
207
155
  description: A bunch of tools for proteomics
208
156
  email: iracooke@gmail.com
209
157
  executables:
210
158
  - protk_setup.rb
211
159
  - manage_db.rb
212
- - asapratio.rb
213
- - libra.rb
214
- - xpress.rb
215
160
  - tandem_search.rb
216
161
  - mascot_search.rb
217
162
  - omssa_search.rb
218
163
  - msgfplus_search.rb
219
164
  - mascot_to_pepxml.rb
220
- - file_convert.rb
165
+ - tandem_to_pepxml.rb
221
166
  - make_decoy.rb
222
- - correct_omssa_retention_times.rb
223
167
  - repair_run_summary.rb
224
168
  - add_retention_times.rb
225
169
  - peptide_prophet.rb
226
170
  - interprophet.rb
227
171
  - protein_prophet.rb
228
172
  - pepxml_to_table.rb
229
- - xls_to_table.rb
230
- - annotate_ids.rb
231
173
  - unimod_to_loc.rb
232
- - generate_omssa_loc.rb
233
174
  - uniprot_mapper.rb
234
- - feature_finder.rb
235
- - toppas_pipeline.rb
236
- - gffmerge.rb
237
175
  - sixframe.rb
238
176
  - augustus_to_proteindb.rb
239
177
  - protxml_to_gff.rb
240
- - uniprot_annotation.rb
241
178
  - protxml_to_table.rb
242
- - blastxml_to_table.rb
243
179
  extensions:
244
- - ext/protk/decoymaker/extconf.rb
180
+ - ext/decoymaker/extconf.rb
245
181
  extra_rdoc_files: []
246
182
  files:
247
183
  - README.md
248
184
  - bin/add_retention_times.rb
249
- - bin/annotate_ids.rb
250
- - bin/asapratio.rb
251
185
  - bin/augustus_to_proteindb.rb
252
- - bin/blastxml_to_table.rb
253
- - bin/correct_omssa_retention_times.rb
254
- - bin/feature_finder.rb
255
- - bin/file_convert.rb
256
- - bin/generate_omssa_loc.rb
257
- - bin/gffmerge.rb
258
186
  - bin/interprophet.rb
259
- - bin/libra.rb
260
187
  - bin/make_decoy.rb
261
188
  - bin/manage_db.rb
262
189
  - bin/mascot_search.rb
@@ -272,18 +199,13 @@ files:
272
199
  - bin/repair_run_summary.rb
273
200
  - bin/sixframe.rb
274
201
  - bin/tandem_search.rb
275
- - bin/toppas_pipeline.rb
202
+ - bin/tandem_to_pepxml.rb
276
203
  - bin/unimod_to_loc.rb
277
- - bin/uniprot_annotation.rb
278
204
  - bin/uniprot_mapper.rb
279
- - bin/xls_to_table.rb
280
- - bin/xpress.rb
281
- - ext/protk/decoymaker/decoymaker.c
282
- - ext/protk/decoymaker/extconf.rb
283
- - ext/protk/simplealign/extconf.rb
205
+ - ext/decoymaker/decoymaker.c
206
+ - ext/decoymaker/extconf.rb
284
207
  - lib/protk.rb
285
208
  - lib/protk/bio_sptr_extensions.rb
286
- - lib/protk/biotools_excel_converter.rb
287
209
  - lib/protk/command_runner.rb
288
210
  - lib/protk/constants.rb
289
211
  - lib/protk/convert_util.rb
@@ -299,6 +221,9 @@ files:
299
221
  - lib/protk/data/predefined_db.sphuman.yaml
300
222
  - lib/protk/data/predefined_db.swissprot_annotation.yaml
301
223
  - lib/protk/data/predefined_db.swissprot_fasta_annotation.yaml
224
+ - lib/protk/data/tandem_gpm_defaults.xml
225
+ - lib/protk/data/tandem_isb_kscore_defaults.xml
226
+ - lib/protk/data/tandem_isb_native_defaults.xml
302
227
  - lib/protk/data/tandem_params.xml
303
228
  - lib/protk/data/taxonomy_template.xml
304
229
  - lib/protk/data/unimod.xml
@@ -306,11 +231,9 @@ files:
306
231
  - lib/protk/data/uniprot_accessions_table.txt
307
232
  - lib/protk/data/uniprot_input_accessions.loc
308
233
  - lib/protk/data/yum_packages.yaml
309
- - lib/protk/eupathdb_gene_information_table.rb
310
234
  - lib/protk/fastadb.rb
311
235
  - lib/protk/galaxy_stager.rb
312
236
  - lib/protk/galaxy_util.rb
313
- - lib/protk/gapped_aligner.rb
314
237
  - lib/protk/manage_db_rakefile.rake
315
238
  - lib/protk/manage_db_tool.rb
316
239
  - lib/protk/mascot_util.rb
@@ -319,22 +242,20 @@ files:
319
242
  - lib/protk/pepxml.rb
320
243
  - lib/protk/plasmodb.rb
321
244
  - lib/protk/prophet_tool.rb
322
- - lib/protk/protein_annotator.rb
323
245
  - lib/protk/protxml.rb
246
+ - lib/protk/protxml_to_gff_tool.rb
324
247
  - lib/protk/randomize.rb
325
248
  - lib/protk/search_tool.rb
326
249
  - lib/protk/setup_rakefile.rake
327
250
  - lib/protk/setup_tool.rb
328
- - lib/protk/spreadsheet_extensions.rb
329
251
  - lib/protk/swissprot_database.rb
252
+ - lib/protk/tandem_search_tool.rb
330
253
  - lib/protk/tool.rb
331
254
  - lib/protk/uniprot_mapper.rb
332
- - lib/protk/xtandem_defaults.rb
333
255
  homepage: http://rubygems.org/gems/protk
334
256
  licenses: []
335
257
  metadata: {}
336
- post_install_message: Now run protk_setup.rb to install third party tools and manage_db.rb
337
- to install databases.
258
+ post_install_message: Now run protk_setup.rb to install third party tools
338
259
  rdoc_options: []
339
260
  require_paths:
340
261
  - lib
data/bin/annotate_ids.rb DELETED
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file is part of Protk
4
- # Created by Ira Cooke 21/7/2011
5
- #
6
- # Takes an input file with a list of identified proteins and creates a table with swissprot/uniprot database details in various columns for each protein in the input file.
7
- #
8
- #
9
- require 'protk/constants'
10
- require 'protk/command_runner'
11
- require 'protk/prophet_tool'
12
- require 'protk/protein_annotator'
13
-
14
-
15
-
16
- # Setup specific command-line options for this tool. Other options are inherited from Tool
17
- #
18
- id_tool=ProphetTool.new([:explicit_output,:over_write,:prefix_suffix])
19
- id_tool.option_parser.banner = "Run ID annotation on a prot.xml input file.\n\nUsage: annotate_ids.rb [options] file1.prot.xml"
20
- id_tool.options.output_prefix="annotated_"
21
-
22
-
23
- id_tool.options.input_format=nil
24
- id_tool.option_parser.on( '-I', '--input-format format', 'Format of input file' ) do |format|
25
- id_tool.options.input_format = format
26
- end
27
-
28
- exit unless id_tool.check_options
29
-
30
- # Obtain a global environment object
31
- genv=Constants.new
32
-
33
- input_file=ARGV[0]
34
-
35
- database_file=id_tool.extract_db(input_file)
36
-
37
- output_file=nil
38
-
39
- if ( id_tool.explicit_output==nil)
40
- output_file="#{id_tool.output_prefix}#{input_file}#{id_tool.output_suffix}.xls"
41
- else
42
- output_file=id_tool.explicit_output
43
- end
44
-
45
- converter=ProteinAnnotator.new
46
-
47
- begin
48
- outpath=Pathname.new(output_file)
49
-
50
- if ( id_tool.over_write || !outpath.exist? )
51
- converter.convert(input_file,output_file,id_tool.input_format)
52
- else
53
- p "Output file #{output_file} already exists"
54
- end
55
-
56
- rescue Exception
57
- p "Couldn't convert #{input_file}"
58
- raise
59
- end
data/bin/asapratio.rb DELETED
@@ -1,27 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # Created by John Chilton
4
- #
5
- # Run ASAPRatio against protein prophet results.
6
- #
7
- #
8
-
9
- require 'protk/constants'
10
- require 'protk/protxml'
11
- require 'protk/galaxy_util'
12
-
13
- for_galaxy = GalaxyUtil.for_galaxy?
14
-
15
- protxml_path = ARGV.shift
16
-
17
- if for_galaxy
18
- protxml_path = GalaxyUtil.stage_protxml(protxml_path)
19
- end
20
-
21
- protxml = ProtXML.new(protxml_path)
22
- pepxml_path = protxml.find_pep_xml()
23
-
24
- genv=Constants.new
25
-
26
- command="#{genv.asapratiopeptideparser} '#{pepxml_path}' #{ARGV.join(" ")} ; #{genv.asapratioproteinparser} '#{protxml_path}'; #{genv.asaprationpvalueparser} '#{protxml_path}' "
27
- %x[#{command}]