mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			624 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			624 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
#!/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)
 |