class ProteinTranslate::ProteinTranslate
Clase para traduciar una cadena en ARN a los codones y proteinas correspondientes
Attributes
equivalence[R]
stop[R]
Public Class Methods
new()
click to toggle source
# File lib/ProteinTranslate/protein.rb, line 11 def initialize #Hash que contiene las equivalencias entre #codones y las respectivas proteĆnas @equivalence = { "AUG" => "Methionine", "UUU" => "Phenylalanine", "UUC" => "Phenylalanine", "UUA" => "Leucine", "UUG" => "Leucine", "UCU" => "Serine", "UCC" => "Serine", "UCA" => "Serine", "UCG" => "Serine", "UAU" => "Tyrosine", "UAC" => "Tyrosine", "UGU" => "Cysteine", "UGC" => "Cysteine", "UGG"=> "Tryptophan" } #Array que contiene los valores que si son detectados #en la cadena indican que se pueden terminar la traduccion @stop = ["UAA", "UAG", "UGA"] end
Public Instance Methods
divideStringInCondons(cadena)
click to toggle source
Metodo que recibe una cadena y devuelve un array de codons que la conforman
# File lib/ProteinTranslate/protein.rb, line 39 def divideStringInCondons(cadena) array = Array.new i = 0 while i <= cadena.length-3 if (@stop.include?("#{cadena[i,3]}")) break end array << cadena[i,3] i += 3 end array end
translateString(cadena)
click to toggle source
Metodo que recibe una cadena y devuelve un array con las proteinas que la conforman Previamente se convierten en codones
# File lib/ProteinTranslate/protein.rb, line 55 def translateString(cadena) array = divideStringInCondons(cadena) proteina = Array.new i = 0 array.each do |value| if(@equivalence.has_key?("#{value}")) proteina[i] = @equivalence["#{value}"] i += 1 end end proteina end