annotate peptide_prophet_wrapper.rb @ 3:255b5b6ec617 draft default tip

Better defaults for omssa
author Ira Cooke <iracooke@gmail.com>
date Mon, 23 Jul 2012 14:48:31 +1000
parents a929e27eb203
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
1 require 'pathname'
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
2
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
3 $VERBOSE=nil
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
4
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
5 peptide_prophet_path=%x[which peptide_prophet.rb]
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
6
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
7 actual_output_path_string=ARGV.shift
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
8
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
9 # Second argument is the original input file name ... we'll change this below
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
10 original_input_file=ARGV[0]
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
11
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
12 # Before doing anything we append create a link to the input file in our working dir with ".pep.xml" appended to the input
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
13 # name because peptide prophet can't handle anything else
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
14
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
15 wd= Dir.pwd
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
16
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
17 original_input_path=Pathname.new("#{original_input_file}")
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
18 actual_input_path_string="#{wd}/#{original_input_path.basename}.pep.xml"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
19 full_tmp_output_path_string="#{wd}/peptide_prophet_output.pep.xml"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
20
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
21 cmd = "ln -s #{original_input_file} #{actual_input_path_string};"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
22
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
23 cmd << peptide_prophet_path.chomp
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
24
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
25
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
26 ARGV[0]="#{actual_input_path_string}"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
27
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
28 ARGV.each { |a|
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
29 cmd << " #{a}"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
30 }
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
31
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
32 cmd << " -o peptide_prophet_output.pep.xml"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
33
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
34 # Finally we need to fix up the output file so any references to the temporary working file are changed to refs to the original input file
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
35 cmd << ";ruby -pi -e \"gsub('#{actual_input_path_string}', '#{original_input_file}')\" peptide_prophet_output.pep.xml"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
36 cmd << ";ruby -pi -e \"gsub('#{full_tmp_output_path_string}', '#{actual_output_path_string}')\" peptide_prophet_output.pep.xml"
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
37
a929e27eb203 Uploaded
iracooke
parents:
diff changeset
38 %x[#{cmd}]