1 package jalview.schemes;
3 import static org.junit.Assert.*;
5 import jalview.datamodel.AlignmentI;
6 import jalview.datamodel.ColumnSelection;
7 import jalview.datamodel.Sequence;
8 import jalview.datamodel.SequenceI;
10 import java.io.IOException;
12 import java.util.Vector;
14 import org.junit.AfterClass;
15 import org.junit.BeforeClass;
16 import org.junit.Test;
18 public class DnaCodonTests
22 public void testAmbiguityCodeGeneration()
24 assertTrue(ResidueProperties.ambiguityCodes.size()>0);
27 public void testAmbiguityCodon() {
28 for (String ac:ResidueProperties.ambiguityCodes.keySet())
30 assertTrue("Couldn't resolve GGN as glycine codon",ResidueProperties.codonHash2.get("GG"+ac).equals("G"));
34 public void regenerateCodonTable() {
35 for (Map.Entry<String, String> codon:ResidueProperties.codonHash2.entrySet())
37 System.out.println("ResidueProperties.codonHash2.set(\""+codon.getKey()+"\", \""+codon.getValue()+"\");");
41 public void checkOldCodonagainstNewCodonTable() {
42 // note - this test will be removed once the old codon table (including Vectors) is removed
43 String additional="",failtrans="",differentTr="";
44 for (Object aa:ResidueProperties.codonHash.keySet())
46 String amacid=(String) aa;
47 for (Object codons:((Vector)ResidueProperties.codonHash.get(amacid)))
49 String codon = (String) codons;
50 String trans = ResidueProperties.codonTranslate(codon);
51 String oldtrans = ResidueProperties._codonTranslate(codon);
53 additional+="\nOld translation table includes additional codons for "+amacid+" : "+codon;
56 failtrans+=("\nold translation routine failed for old translation entry (aa was "+amacid+" codon was "+codon+")");
58 if (!oldtrans.equals(trans))
60 differentTr+=("\nDifferent translation for old and new routines: "+amacid+" "+codon+" => expected "+oldtrans+" and got "+trans);
64 assertTrue(""+additional+"\n"+failtrans+"\n"+differentTr,additional.length()==0 && failtrans.length()==0 && differentTr.length()==0);