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 |