Sha256: 4d38b72f02fbe1bed9f409c70879f7f534a6d731f87cae23bb09bb56b687121f

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

#!/usr/bin/env ruby

require 'trollop'
require 'nokogiri'
require 'set'

require 'ms/ident/peptide_hit/qvalue'
require 'ms/error_rate/qvalue/pepxml'

opts = Trollop::Parser.new do
  banner %Q{usage: #{File.basename(__FILE__)} <fwd>.xml <decoy>.xml ...
outputs: <fwd>.phq.csv
phq.tsv?: see schema/peptide_hit_qvalues.phq.tsv
}
  opt :z_together, "do not group by charge state", :default => false
  opt :verbose, "be verbose", :default => false
end

opt = opts.parse(ARGV)
if ARGV.size == 0 || (ARGV.size%2 != 0)
  puts "\n\n!! only even numbers of files accepted (target decoy target decoy ...) !!\n\n" if (ARGV.size%2 != 0)
  opts.educate
  exit 
end
$VERBOSE = opt.delete(:verbose)

files = ARGV.to_a
files.each_slice(2).map do |target, decoy|
  hit_qvalue_pairs = Ms::ErrorRate::Qvalue::Pepxml.target_decoy_qvalues(target, decoy, opt, &:ionscore)
  hits = [] ; qvals = []
  hit_qvalue_pairs.each do |hit, qval|
    hits << hit ; qvals << qval
  end
  outfile = Ms::Ident::PeptideHit::Qvalue.to_phq(target.chomp(File.extname(target)), hits, qvals)
  puts "created: #{outfile}" if $VERBOSE
end


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ms-error_rate-0.0.10 bin/mascot_pepxml_to_peptide_hit_qvalues.rb
ms-error_rate-0.0.9 bin/mascot_pepxml_to_peptide_hit_qvalues.rb