diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-28 13:42:36 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-28 13:42:36 +0000 |
commit | fbebfdf23db958e3bb06dc0d4ccadca48d748dff (patch) | |
tree | 6e5ef2d8e4b3b913524839cc1f2c37bb3f3f0c30 /benchmark/bm_so_reverse_complement.rb | |
parent | d6c43c45eaf5a6813ba5c2b3a68df154a69bdf9b (diff) |
* benchmark/bm_so_fasta.rb: added.
* benchmark/bm_so_k_nucleotide.rb: added.
* benchmark/bm_so_reverse_complement.rb: added.
* benchmark/make_fasta_output.rb: added.
* benchmark/prepare_so_k_nucleotide.rb: added.
* benchmark/prepare_so_reverse_complement.rb: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'benchmark/bm_so_reverse_complement.rb')
-rw-r--r-- | benchmark/bm_so_reverse_complement.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/benchmark/bm_so_reverse_complement.rb b/benchmark/bm_so_reverse_complement.rb new file mode 100644 index 0000000000..5cf1a86ada --- /dev/null +++ b/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)
|