diff options
Diffstat (limited to 'trunk/benchmark/bm_so_reverse_complement.rb')
-rw-r--r-- | trunk/benchmark/bm_so_reverse_complement.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/trunk/benchmark/bm_so_reverse_complement.rb b/trunk/benchmark/bm_so_reverse_complement.rb new file mode 100644 index 0000000000..82ea666994 --- /dev/null +++ b/trunk/benchmark/bm_so_reverse_complement.rb @@ -0,0 +1,30 @@ +#!/usr/bin/ruby +# The Great Computer Language Shootout +# http://shootout.alioth.debian.org/ +# +# Contributed by Peter Bjarke Olsen +# Modified by Doug King + +seq=Array.new + +def revcomp(seq) + seq.reverse!.tr!('wsatugcyrkmbdhvnATUGCYRKMBDHVN','WSTAACGRYMKVHDBNTAACGRYMKVHDBN') + stringlen=seq.length + 0.step(stringlen-1,60) {|x| print seq.slice(x,60) , "\n"} +end + +input = open(File.join(File.dirname($0), 'fasta.output.2500000'), 'rb') + +while input.gets + if $_ =~ />/ + if seq.length != 0 + revcomp(seq.join) + seq=Array.new + end + puts $_ + else + $_.sub(/\n/,'') + seq.push $_ + end +end +revcomp(seq.join) |