class ProteinMaker

Attributes

amino_acid_strand[R]
codon_collection[R]
complementary_mRNA_sequence[R]
input_sequence[RW]
purified_array_sequence[R]

Public Class Methods

new(input_sequence=nil) click to toggle source
# File lib/protein_maker.rb, line 12
def initialize(input_sequence=nil)
  raise 'No Input Sequence' if input_sequence.nil?
  
  @input_sequence = input_sequence
  @codon_collection = []
end

Public Instance Methods

synthesize_amino_acid_strand() click to toggle source
# File lib/protein_maker.rb, line 19
def synthesize_amino_acid_strand
    @purified_array_sequence = @input_sequence.split('')
    @purified_array_sequence = @purified_array_sequence.map(&:upcase)
    @purified_array_sequence.select! { |ele| GeneticConstants.nitrogenous_base_pairs.keys.include?(ele.to_sym) }

    @complementary_mRNA_sequence = DnaWorker.print_complementary_base_pairing(@purified_array_sequence)
    @complementary_mRNA_sequence.join('')

    @complementary_mRNA_sequence.each_slice(3) { |codon| @codon_collection << codon }
    DnaWorker.initiate_translation(@codon_collection)
end