protk 1.2.6.pre5 → 1.3.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
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}]