public class PolyP{ String[] st; String mcode; public PolyP(mRNA mR){ String mcode = mR.toString(); int i; String cd; char l,ca,cb; String rt = new String(); if ((mcode.length()/3)*3==mcode.length()){ st = new String[(int)(mcode.length()/3)]; }else{ st = new String[1+(int)(mcode.length()/3)]; } for (i=0; i < mcode.length();i=i+3){ try{ cd = mcode.substring(i,i+2); //using two letters cuts down on number of "if"'s l=mcode.charAt(i+2); }catch (StringIndexOutOfBoundsException e){ cd = "XX"; l='x'; } if (cd.equals("UU")){ if (l=='U' || l=='C'){ rt="Phe"; }else if (l=='A' || l=='G'){ rt="Leu"; } }else if (cd.equals("UC")){ rt="Ser"; }else if (cd.equals("UA")){ if (l=='U' || l=='C'){ rt="Tyr"; }else if (l=='A' || l=='G'){ rt="END"; } }else if (cd.equals("UG")){ if (l=='U' || l=='C'){ rt="Cyc"; }else if (l=='A'){ rt="END"; }else if (l=='G'){ rt="Trp"; } }else if (cd.equals("CU")){ rt="Leu"; }else if (cd.equals("CC")){ rt="Pro"; }else if (cd.equals("CA")){ if (l=='U' || l=='C'){ rt="His"; }else if (l=='A' || l=='G'){ rt="Gln"; } }else if (cd.equals("CG")){ rt="Arg"; }else if (cd.equals("AU")){ if (l=='G'){ rt="Met"; }else{ rt="Ile"; } }else if(cd.equals("AC")){ rt="Thr"; }else if (cd.equals("AA")){ if (l=='U' || l=='C'){ rt="Asn"; }else if (l=='A' || l=='G'){ rt="Lys"; } }else if (cd.equals("AG")){ if (l=='U' || l=='C'){ rt="Ser"; }else if (l=='A' || l=='G'){ rt="Arg"; } }else if (cd.equals("GU")){ rt="Val"; }else if (cd.equals("GC")){ rt="Ala"; }else if (cd.equals("GA")){ if (l=='U' || l=='C'){ rt="Asp"; }else if (l=='A' || l=='G'){ rt="Glu"; } }else if (cd.equals("GG")){ rt="Gly"; }else{ rt="eRR"; }//end of if st[(int)(i/3)]=rt; //set element of pp }//close for }//close method public String[] Ribosome(){ //code is mRNA codons return st; } }