0
|
1 require 'pathname'
|
|
2
|
|
3 $VERBOSE=nil
|
|
4
|
|
5 peptide_prophet_path=%x[which peptide_prophet.rb]
|
|
6
|
|
7 actual_output_path_string=ARGV.shift
|
|
8
|
|
9 # Second argument is the original input file name ... we'll change this below
|
|
10 original_input_file=ARGV[0]
|
|
11
|
|
12 # Before doing anything we append create a link to the input file in our working dir with ".pep.xml" appended to the input
|
|
13 # name because peptide prophet can't handle anything else
|
|
14
|
|
15 wd= Dir.pwd
|
|
16
|
|
17 original_input_path=Pathname.new("#{original_input_file}")
|
|
18 actual_input_path_string="#{wd}/#{original_input_path.basename}.pep.xml"
|
|
19 full_tmp_output_path_string="#{wd}/peptide_prophet_output.pep.xml"
|
|
20
|
|
21 cmd = "ln -s #{original_input_file} #{actual_input_path_string};"
|
|
22
|
|
23 cmd << peptide_prophet_path.chomp
|
|
24
|
|
25
|
|
26 ARGV[0]="#{actual_input_path_string}"
|
|
27
|
|
28 ARGV.each { |a|
|
|
29 cmd << " #{a}"
|
|
30 }
|
|
31
|
|
32 cmd << " -o peptide_prophet_output.pep.xml"
|
|
33
|
|
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
|
|
35 cmd << ";ruby -pi -e \"gsub('#{actual_input_path_string}', '#{original_input_file}')\" peptide_prophet_output.pep.xml"
|
|
36 cmd << ";ruby -pi -e \"gsub('#{full_tmp_output_path_string}', '#{actual_output_path_string}')\" peptide_prophet_output.pep.xml"
|
|
37
|
|
38 %x[#{cmd}]
|