Hello,
I have been trying to create this function to call when entering nucleotides and then having the string divided by 3 and then read and changed into the appropriate amino acid. When I try to run the function it comes up with the error:
'Not enough input arguements'
If anyone could help to fix this code up it would be amazing!!
function [amino_acid_chain] = synthesize2(neucleotide_string)%Function to synthesize an amino acid chain from an mRNA molecule.
neucleotide_string = upper(neucleotide_string);%Loop to check for invalid characters in neucleotide string.
while any(neucleotide_string ~= 'A' && neucleotide_string ~= 'G' && neucleotide_string ~= 'U' && neucleotide_string ~= 'C'); error('Error! Neucleotide string contains invalid characters.');endamino_acid_chain = cellstr(reshape(neucleotide_string,3,[])');if length(amino_acid_chain)<3 amino_acid_chain = char([]); return;endif amino_acid_chain == 'UUU' or 'UUC' amino_acid_chain = replace(word,{'UUU','UUC'},{'F','F'});elseif amino_acid_chain == 'UUA' or 'UUG' or 'CUU' or 'CUA' or 'CUG' amino_acid_chain = replace(word,{'UUA','UUG','CUU','CUC','CUA','CUG'},{'L','L','L','L','L','L'});elseif amino_acid_chain == 'AUU' or 'AUC' or 'AUA' amino_acid_chain = replace(word,{'AUU', 'AUC', 'AUA'},{'I','I','I'});elseif amino_acid_chain == 'AUG' amino_acid_chain = replace(word,{'AUG'},{'M'});elseif amino_acid_chain == 'GUU' or 'GUC' or 'GUA' or 'GUG' amino_acid_chain = replace(word,{'GUU','GUC','GUA','GUG'},{'V','V','V','V'});elseif amino_acid_chain == 'UCU' or 'UCC' or 'UCA' or 'UCG' amino_acid_chain = replace(word,{'UCU','UCC','UCA','UCG'},{'S','S','S','S'});elseif amino_acid_chain == 'CCU' or 'CCC' or 'CCA' or 'CCG' amino_acid_chain = replace(word,{'CCU','CCC','CCA','CCG'},{'P','P','P','P'});elseif amino_acid_chain == 'ACU' or 'ACC' or 'ACA' or 'ACG' amino_acid_chain = replace(word,{'ACU','ACC','ACA','ACG'},{'T','T','T','T'});elseif amino_acid_chain == 'GCU' or 'GCC' or 'GCA' or 'GCG' amino_acid_chain = replace(word,{'GCU','GCC','GCA','GCG'},{'A','A','A','A'});elseif amino_acid_chain == 'UAU' or 'UAC' amino_acid_chain = replace(word,{'UAU','UAC'},{'Y','Y'});elseif amino_acid_chain == 'CAA' or 'CAG' amino_acid_chain = replace(word,{'CAA','CAG'},{'Q','Q'});elseif amino_acid_chain == 'AAU' or 'AAC' amino_acid_chain = replace(word,{'AAU','AAC'},{'N','N'});elseif amino_acid_chain == 'AAA' or 'AAG' amino_acid_chain = replace(word,{'AAA','AAG'},{'K','K'});elseif amino_acid_chain == 'GAU' or 'GAC' amino_acid_chain = replace(word,{'GAU','GAC'},{'D','D'});elseif amino_acid_chain == 'GAA' or 'GAG' amino_acid_chain = replace(word,{'GAA','GAG'},{'E','E'});elseif amino_acid_chain == 'UGU' or 'UGC' amino_acid_chain = replace(word,{'UGU','UGC'},{'C','C'});elseif amino_acid_chain == 'UGG' amino_acid_chain = replace(word,{'UGG'},{'W'});elseif amino_acid_chain == 'CGU' or 'CGC' or 'CGA' or 'CGG' amino_acid_chain = replace(word,{'CGU','CGC','CGA','CGG'},{'R','R','R','R'});elseif amino_acid_chain == 'AGU' or 'AGC' amino_acid_chain = replace(word,{'AGU','AGC'},{'S','S'}); elseif amino_acid_chain == 'AGA' or 'AGG' amino_acid_chain = replace(word,{'AGA','AGG'},{'R','R'});elseif amino_acid_chain == 'CGU' or 'GGC' or 'GGA' or 'GGG' amino_acid_chain = replace(word,{'GGU','GGC','GGA','GGG'},{'G','G','G','G'});elseif amino_acid_chain == 'UAA' or 'UAG' or 'UGA' amino_acid_chain = replace(word,{'UAA','UAG','UGA'},{'Stop','Stop','Stop'}); endend
I was also using 'or' in my if/elseif statement, however I don't think that is correct either…
Best Answer