2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.schemes;
23 import static org.testng.AssertJUnit.assertTrue;
27 import org.testng.annotations.Test;
29 public class DnaCodonTests
32 @Test(groups = { "Functional" })
33 public void testAmbiguityCodeGeneration()
35 assertTrue(ResidueProperties.ambiguityCodes.size() > 0);
38 @Test(groups = { "Functional" })
39 public void testAmbiguityCodon()
41 for (String ac : ResidueProperties.ambiguityCodes.keySet())
43 assertTrue("Couldn't resolve GGN as glycine codon",
44 ResidueProperties.codonHash2.get("GG" + ac).equals("G"));
48 @Test(groups = { "Functional" })
49 public void regenerateCodonTable()
51 for (Map.Entry<String, String> codon : ResidueProperties.codonHash2
54 System.out.println("ResidueProperties.codonHash2.set(\""
55 + codon.getKey() + "\", \"" + codon.getValue() + "\");");
59 @Test(groups = { "Functional" })
60 public void checkOldCodonagainstNewCodonTable()
62 // note - this test will be removed once the old codon table (including
63 // Vectors) is removed
64 String additional = "", failtrans = "", differentTr = "";
65 for (String amacid : ResidueProperties.codonHash.keySet())
67 for (String codon : ResidueProperties.codonHash.get(amacid))
69 String trans = ResidueProperties.codonTranslate(codon);
70 String oldtrans = ResidueProperties._codonTranslate(codon);
73 additional += "\nOld translation table includes additional codons for "
74 + amacid + " : " + codon;
78 failtrans += ("\nold translation routine failed for old translation entry (aa was "
79 + amacid + " codon was " + codon + ")");
81 if (!oldtrans.equals(trans))
83 differentTr += ("\nDifferent translation for old and new routines: "
89 + " and got " + trans);
93 assertTrue("" + additional + "\n" + failtrans + "\n" + differentTr,
94 additional.length() == 0 && failtrans.length() == 0
95 && differentTr.length() == 0);