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 | 95a7ec14b2735632977ca91fa88d7eda915eeaa0 (patch) | |
tree | 6e5ef2d8e4b3b913524839cc1f2c37bb3f3f0c30 /benchmark/bm_so_reverse_complement.rb | |
parent | fd03b336e9213ba61638912d6f1548915999c0f9 (diff) | |
download | ruby-95a7ec14b2735632977ca91fa88d7eda915eeaa0.tar.gz ruby-95a7ec14b2735632977ca91fa88d7eda915eeaa0.tar.xz ruby-95a7ec14b2735632977ca91fa88d7eda915eeaa0.zip |
* 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: http://svn.ruby-lang.org/repos/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 000000000..5cf1a86ad --- /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)
|