Skip to content

Instantly share code, notes, and snippets.

@ryanmt
Created May 20, 2011 19:53
Show Gist options
  • Save ryanmt/983652 to your computer and use it in GitHub Desktop.
Save ryanmt/983652 to your computer and use it in GitHub Desktop.
Benchmarks for digestor fxn speed
#!/usr/bin/env ruby
require 'benchmark'
require 'spec_helper'
seq2 = "MKWVTFISLLLLFSSAYSRGVFRRDTHKSEIAHRFKDLGEEHFKGLVLIAFSQYLQQCPFDEHVKLVNELTEFAKTCVADESHAGCEKSLHTLFGDELCKVASLRETYGDMADCCEKQEPERNECFLSHKDDSPDLPKLKPDPNTLCDEFKADEKKFWGKYLYEIARRHPYFYAPELLYYANKYNGVFQECCQAEDKGACLLPKIETMREKVLASSARQRLRCASIQKFGERALKAWSVARLSQKFPKAEFVEVTKLVTDLTKVHKECCHGDLLECADDRADLAKYICDNQDTISSKLKECCDKPLLEKSHCIAEVEKDAIPENLPPLTADFAEDKDVCKNYQEAKDAFLGSFLYEYSRRHPEYAVSVLLRLAKEYEATLEECCAKDDPHACYSTVFDKLKHLVDEPQNLIKQNCDQFEKLGEYGFQNALIVRYTRKVPQVSTPTLVEVSRSLGKVGTRCCTKPESERMPCTEDYLSLILNRLCVLHEKTPVSEKVTKCCTESLVNRRPCFSALTPDETYVPKAFDEKLFTFHADICTLPDTEKQIKKQTALVELLKHKPKATEEQLKTVMENFVAFVDKCCAADDKEACFAVEGPKLVVSTQTALA"
Benchmark.bm(5) do |x|
x.report ('Trypsin @ 0 missed cleavages (100 times)') do
100.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 0)
end
end
x.report ('Trypsin @ 2 missed cleavages (100 times)') do
100.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 2)
end
end
x.report ('Trypsin @ 0 missed cleavages (1000 times)') do
1000.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 0)
end
end
x.report ('Trypsin @ 2 missed cleavages (1000 times)') do
1000.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 2)
end
end
x.report ('Trypsin @ 0 missed cleavages (10000 times)') do
10000.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 0)
end
end
x.report ('Trypsin @ 2 missed cleavages (10000 times)') do
10000.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 2)
end
end
x.report ('Trypsin @ 8 missed cleavages (10000 times)') do
10000.times do
d = Digestor.new('trypsin')
d.digest(seq2, :missed_cleavages => 8)
end
end
end # Benchmark
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment