Sha256: 8407bba714e4d1eb9b131a59f992798c0f47f42ef66b8730c287006cff3eb633

Contents?: true

Size: 1.42 KB

Versions: 39

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

require 'mspire/error_rate/qvalue'

Hit = Struct.new(:score, :charge)
HitWeird = Struct.new(:some_obscure_score, :charge)

describe 'calculating q-values' do

  before do
    scores = [14,15,13,12,11]
    qvals_expected = [0.5 ,0.0, 2.0/3.0, 3.0/4, 4.0/5]
    @target_hits = scores.zip(Array.new(scores.size, 2)).map {|pair| Hit.new(*pair) } 
    @decoy_hits = scores.zip(Array.new(scores.size, 2)).map {|pair| Hit.new(pair.first-0.5, pair.last) }
    @target_hits_weird = scores.zip(Array.new(scores.size, 2)).map {|pair| HitWeird.new(*pair) } 
    @decoy_hits_weird = scores.zip(Array.new(scores.size, 2)).map {|pair| HitWeird.new(pair.first-0.5, pair.last) }
    @qval_by_hit = {}
    @target_hits.zip(qvals_expected) {|hit, qval|  @qval_by_hit[hit] = qval }
    @target_hits_weird.zip(qvals_expected) {|hit, qval|  @qval_by_hit[hit] = qval }
  end

  it 'can calculate qvalues on target/decoy sets (:score is default)' do
    pairs = Mspire::ErrorRate::Qvalue.target_decoy_qvalues(@target_hits, @decoy_hits)
    pairs.each do |hit, qval|
      @qval_by_hit[hit].should be_within(0.00000001).of(qval)
    end
  end

  it 'can calculate qvalues on target/decoy sets with custom sorting' do
    pairs = Mspire::ErrorRate::Qvalue.target_decoy_qvalues(@target_hits_weird, @decoy_hits_weird) {|hit| hit.some_obscure_score }
    pairs.each do |hit, qval|
      @qval_by_hit[hit].should be_within(0.00000001).of(qval)
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
mspire-0.10.8.0 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.7.3 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.7.2 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.7.1 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.7 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.6 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.5 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.4 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.3 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.2 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.1 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.10.0 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.9.2 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.9.1 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.9.0 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.8.7 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.8.6.2 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.8.6.1 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.8.6 spec/mspire/error_rate/qvalue_spec.rb
mspire-0.8.5 spec/mspire/error_rate/qvalue_spec.rb