Clover icon

Coverage Report

  1. Project Clover database Tue Mar 10 2026 14:58:44 GMT
  2. Package jalview.schemes

File ResiduePropertiesTest.java

 

Code metrics

4
1,464
10
1
1,639
1,530
12
0.01
146.4
10
1.2

Classes

Class Line # Actions
ResiduePropertiesTest 35 1,464 12
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
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.
11    *
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.
16    *
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.
20    */
21    package jalview.schemes;
22   
23    import static org.testng.AssertJUnit.assertEquals;
24    import static org.testng.AssertJUnit.assertNull;
25   
26    import java.util.Collections;
27    import java.util.List;
28    import java.util.Map;
29   
30    import org.testng.annotations.BeforeClass;
31    import org.testng.annotations.Test;
32   
33    import jalview.gui.JvOptionPane;
34   
 
35    public class ResiduePropertiesTest
36    {
37   
 
38  0 toggle @BeforeClass(alwaysRun = true)
39    public void setUpJvOptionPane()
40    {
41  0 JvOptionPane.setInteractiveMode(false);
42  0 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
43    }
44   
45    /**
46    * Test 'standard' codon translations (no ambiguity codes)
47    */
 
48  0 toggle @Test(groups = { "Functional" })
49    public void testCodonTranslate()
50    {
51    // standard translation table order column 1/2/3/4
52  0 assertEquals("F", ResidueProperties.codonTranslate("TTT"));
53  0 assertEquals("F", ResidueProperties.codonTranslate("TTC"));
54  0 assertEquals("L", ResidueProperties.codonTranslate("TTA"));
55  0 assertEquals("L", ResidueProperties.codonTranslate("TTG"));
56  0 assertEquals("L", ResidueProperties.codonTranslate("CTT"));
57  0 assertEquals("L", ResidueProperties.codonTranslate("CTC"));
58  0 assertEquals("L", ResidueProperties.codonTranslate("CTA"));
59  0 assertEquals("L", ResidueProperties.codonTranslate("CTG"));
60  0 assertEquals("I", ResidueProperties.codonTranslate("ATT"));
61  0 assertEquals("I", ResidueProperties.codonTranslate("ATC"));
62  0 assertEquals("I", ResidueProperties.codonTranslate("ATA"));
63  0 assertEquals("M", ResidueProperties.codonTranslate("ATG"));
64  0 assertEquals("V", ResidueProperties.codonTranslate("GTT"));
65  0 assertEquals("V", ResidueProperties.codonTranslate("GTC"));
66  0 assertEquals("V", ResidueProperties.codonTranslate("GTA"));
67  0 assertEquals("V", ResidueProperties.codonTranslate("GTG"));
68  0 assertEquals("S", ResidueProperties.codonTranslate("TCT"));
69  0 assertEquals("S", ResidueProperties.codonTranslate("TCC"));
70  0 assertEquals("S", ResidueProperties.codonTranslate("TCA"));
71  0 assertEquals("S", ResidueProperties.codonTranslate("TCG"));
72  0 assertEquals("P", ResidueProperties.codonTranslate("CCT"));
73  0 assertEquals("P", ResidueProperties.codonTranslate("CCC"));
74  0 assertEquals("P", ResidueProperties.codonTranslate("CCA"));
75  0 assertEquals("P", ResidueProperties.codonTranslate("CCG"));
76  0 assertEquals("T", ResidueProperties.codonTranslate("ACT"));
77  0 assertEquals("T", ResidueProperties.codonTranslate("ACC"));
78  0 assertEquals("T", ResidueProperties.codonTranslate("ACA"));
79  0 assertEquals("T", ResidueProperties.codonTranslate("ACG"));
80  0 assertEquals("A", ResidueProperties.codonTranslate("GCT"));
81  0 assertEquals("A", ResidueProperties.codonTranslate("GCC"));
82  0 assertEquals("A", ResidueProperties.codonTranslate("GCA"));
83  0 assertEquals("A", ResidueProperties.codonTranslate("GCG"));
84  0 assertEquals("Y", ResidueProperties.codonTranslate("TAT"));
85  0 assertEquals("Y", ResidueProperties.codonTranslate("TAC"));
86  0 assertEquals("STOP", ResidueProperties.codonTranslate("TAA"));
87  0 assertEquals("STOP", ResidueProperties.codonTranslate("TAG"));
88  0 assertEquals("H", ResidueProperties.codonTranslate("CAT"));
89  0 assertEquals("H", ResidueProperties.codonTranslate("CAC"));
90  0 assertEquals("Q", ResidueProperties.codonTranslate("CAA"));
91  0 assertEquals("Q", ResidueProperties.codonTranslate("CAG"));
92  0 assertEquals("N", ResidueProperties.codonTranslate("AAT"));
93  0 assertEquals("N", ResidueProperties.codonTranslate("AAC"));
94  0 assertEquals("K", ResidueProperties.codonTranslate("AAA"));
95  0 assertEquals("K", ResidueProperties.codonTranslate("AAG"));
96  0 assertEquals("D", ResidueProperties.codonTranslate("GAT"));
97  0 assertEquals("D", ResidueProperties.codonTranslate("GAC"));
98  0 assertEquals("E", ResidueProperties.codonTranslate("GAA"));
99  0 assertEquals("E", ResidueProperties.codonTranslate("GAG"));
100  0 assertEquals("C", ResidueProperties.codonTranslate("TGT"));
101  0 assertEquals("C", ResidueProperties.codonTranslate("TGC"));
102  0 assertEquals("STOP", ResidueProperties.codonTranslate("TGA"));
103  0 assertEquals("W", ResidueProperties.codonTranslate("TGG"));
104  0 assertEquals("R", ResidueProperties.codonTranslate("CGT"));
105  0 assertEquals("R", ResidueProperties.codonTranslate("CGC"));
106  0 assertEquals("R", ResidueProperties.codonTranslate("CGA"));
107  0 assertEquals("R", ResidueProperties.codonTranslate("CGG"));
108  0 assertEquals("S", ResidueProperties.codonTranslate("AGT"));
109  0 assertEquals("S", ResidueProperties.codonTranslate("AGC"));
110  0 assertEquals("R", ResidueProperties.codonTranslate("AGA"));
111  0 assertEquals("R", ResidueProperties.codonTranslate("AGG"));
112  0 assertEquals("G", ResidueProperties.codonTranslate("GGT"));
113  0 assertEquals("G", ResidueProperties.codonTranslate("GGC"));
114  0 assertEquals("G", ResidueProperties.codonTranslate("GGA"));
115  0 assertEquals("G", ResidueProperties.codonTranslate("GGG"));
116    }
117   
118    /**
119    * Test a sample of codon translations involving ambiguity codes. Should
120    * return a protein value where the ambiguity does not affect the translation.
121    */
 
122  0 toggle @Test(groups = { "Functional" })
123    public void testCodonTranslate_ambiguityCodes()
124    {
125    // Y is C or T
126  0 assertEquals("C", ResidueProperties.codonTranslate("TGY"));
127    // Phenylalanine first base variation
128  0 assertEquals("L", ResidueProperties.codonTranslate("YTA"));
129   
130    // W is A or T
131  0 assertEquals("L", ResidueProperties.codonTranslate("CTW"));
132  0 assertNull(ResidueProperties.codonTranslate("TTW"));
133   
134    // S is G or C
135  0 assertEquals("G", ResidueProperties.codonTranslate("GGS"));
136  0 assertNull(ResidueProperties.codonTranslate("ATS"));
137   
138    // K is T or G
139  0 assertEquals("S", ResidueProperties.codonTranslate("TCK"));
140  0 assertNull(ResidueProperties.codonTranslate("ATK"));
141   
142    // M is C or A
143  0 assertEquals("T", ResidueProperties.codonTranslate("ACM"));
144    // Arginine first base variation
145  0 assertEquals("R", ResidueProperties.codonTranslate("MGA"));
146  0 assertEquals("R", ResidueProperties.codonTranslate("MGG"));
147  0 assertNull(ResidueProperties.codonTranslate("TAM"));
148   
149    // D is A, G or T
150  0 assertEquals("P", ResidueProperties.codonTranslate("CCD"));
151  0 assertNull(ResidueProperties.codonTranslate("AAD"));
152   
153    // V is A, C or G
154  0 assertEquals("V", ResidueProperties.codonTranslate("GTV"));
155  0 assertNull(ResidueProperties.codonTranslate("TTV"));
156   
157    // H is A, C or T
158  0 assertEquals("A", ResidueProperties.codonTranslate("GCH"));
159  0 assertEquals("I", ResidueProperties.codonTranslate("ATH"));
160  0 assertNull(ResidueProperties.codonTranslate("AGH"));
161   
162    // B is C, G or T
163  0 assertEquals("P", ResidueProperties.codonTranslate("CCB"));
164  0 assertNull(ResidueProperties.codonTranslate("TAB"));
165   
166    // R is A or G
167    // additional tests for JAL-1685 (resolved)
168  0 assertEquals("L", ResidueProperties.codonTranslate("CTR"));
169  0 assertEquals("V", ResidueProperties.codonTranslate("GTR"));
170  0 assertEquals("S", ResidueProperties.codonTranslate("TCR"));
171  0 assertEquals("P", ResidueProperties.codonTranslate("CCR"));
172  0 assertEquals("T", ResidueProperties.codonTranslate("ACR"));
173  0 assertEquals("A", ResidueProperties.codonTranslate("GCR"));
174  0 assertEquals("R", ResidueProperties.codonTranslate("CGR"));
175  0 assertEquals("G", ResidueProperties.codonTranslate("GGR"));
176  0 assertEquals("R", ResidueProperties.codonTranslate("AGR"));
177  0 assertEquals("E", ResidueProperties.codonTranslate("GAR"));
178  0 assertEquals("K", ResidueProperties.codonTranslate("AAR"));
179  0 assertEquals("L", ResidueProperties.codonTranslate("TTR"));
180  0 assertEquals("Q", ResidueProperties.codonTranslate("CAR"));
181  0 assertEquals("STOP", ResidueProperties.codonTranslate("TAR"));
182  0 assertEquals("STOP", ResidueProperties.codonTranslate("TRA"));
183    // Arginine first and third base ambiguity
184  0 assertEquals("R", ResidueProperties.codonTranslate("MGR"));
185  0 assertNull(ResidueProperties.codonTranslate("ATR"));
186   
187    // N is any base; 8 proteins accept any base in 3rd position
188  0 assertEquals("L", ResidueProperties.codonTranslate("CTN"));
189  0 assertEquals("V", ResidueProperties.codonTranslate("GTN"));
190  0 assertEquals("S", ResidueProperties.codonTranslate("TCN"));
191  0 assertEquals("P", ResidueProperties.codonTranslate("CCN"));
192  0 assertEquals("T", ResidueProperties.codonTranslate("ACN"));
193  0 assertEquals("A", ResidueProperties.codonTranslate("GCN"));
194  0 assertEquals("R", ResidueProperties.codonTranslate("CGN"));
195  0 assertEquals("G", ResidueProperties.codonTranslate("GGN"));
196  0 assertNull(ResidueProperties.codonTranslate("ATN"));
197  0 assertNull(ResidueProperties.codonTranslate("ANT"));
198  0 assertNull(ResidueProperties.codonTranslate("NAT"));
199  0 assertNull(ResidueProperties.codonTranslate("ANN"));
200  0 assertNull(ResidueProperties.codonTranslate("NNA"));
201  0 assertNull(ResidueProperties.codonTranslate("NNN"));
202   
203    // some random stuff
204  0 assertNull(ResidueProperties.codonTranslate("YWB"));
205  0 assertNull(ResidueProperties.codonTranslate("VHD"));
206  0 assertNull(ResidueProperties.codonTranslate("WSK"));
207    }
208   
 
209  0 toggle @Test(groups = { "Functional" })
210    public void testGetResidues_nucleotide()
211    {
212    /*
213    * Non-ambiguous only; we don't care about the order of the list, it is just
214    * sorted here to make assertions reliable
215    */
216  0 List<String> residues = ResidueProperties.getResidues(true, false);
217  0 Collections.sort(residues);
218  0 assertEquals("[A, C, G, T, U]", residues.toString());
219   
220    /*
221    * Including ambiguity codes I N R X Y
222    */
223  0 residues = ResidueProperties.getResidues(true, true);
224  0 Collections.sort(residues);
225  0 assertEquals("[A, B, C, D, G, H, I, K, M, N, R, S, T, U, V, W, X, Y]",
226    residues.toString());
227    }
228   
 
229  0 toggle @Test(groups = { "Functional" })
230    public void testGetResidues_peptide()
231    {
232    /*
233    * Non-ambiguous only; we don't care about the order of the list, it is just
234    * sorted here to make assertions reliable
235    */
236  0 List<String> residues = ResidueProperties.getResidues(false, false);
237  0 Collections.sort(residues);
238  0 assertEquals(
239    "[ALA, ARG, ASN, ASP, CYS, GLN, GLU, GLY, HIS, ILE, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR, VAL]",
240    residues.toString());
241   
242    /*
243    * Including ambiguity codes ASX, GLX, XAA
244    */
245  0 residues = ResidueProperties.getResidues(false, true);
246  0 Collections.sort(residues);
247  0 assertEquals(
248    "[ALA, ARG, ASN, ASP, ASX, CYS, GLN, GLU, GLX, GLY, HIS, ILE, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR, VAL, XAA]",
249    residues.toString());
250    }
251   
 
252  0 toggle @Test(groups = { "Functional" })
253    public void testGetCanonicalAminoAcid()
254    {
255  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MET"));
256  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSE"));
257   
258  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("00C"));
259  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("01W"));
260  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("02K"));
261  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("03Y"));
262  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("07O"));
263  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("08P"));
264  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("0A0"));
265  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("0A1"));
266  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("0A2"));
267  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0A8"));
268  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("0AA"));
269  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("0AB"));
270  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0AC"));
271  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0AD"));
272  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("0AF"));
273  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("0AG"));
274  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("0AH"));
275  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("0AK"));
276  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0AM"));
277  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0AP"));
278  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("0AU"));
279  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0AV"));
280  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("0AZ"));
281  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("0BN"));
282  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0C "));
283  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0CS"));
284  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0DC"));
285  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0DG"));
286  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("0DT"));
287  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0FL"));
288  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0G "));
289  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0NC"));
290  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0SP"));
291  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("0U "));
292  0 assertEquals("YG", ResidueProperties.getCanonicalAminoAcid("0YG"));
293  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("10C"));
294  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("125"));
295  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("126"));
296  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("127"));
297  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("128"));
298  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("12A"));
299  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("143"));
300  0 assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("175"));
301  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("193"));
302  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("1AP"));
303  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("1MA"));
304  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("1MG"));
305  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("1PA"));
306  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("1PI"));
307  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("1PR"));
308  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("1SC"));
309  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("1TQ"));
310  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("1TY"));
311  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("1X6"));
312  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("200"));
313  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("23F"));
314  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("23S"));
315  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("26B"));
316  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2AD"));
317  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2AG"));
318  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2AO"));
319  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2AR"));
320  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2AS"));
321  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2AT"));
322  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("2AU"));
323  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("2BD"));
324  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2BT"));
325  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2BU"));
326  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("2CO"));
327  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2DA"));
328  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2DF"));
329  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2DM"));
330  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2DO"));
331  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2DT"));
332  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("2EG"));
333  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2FE"));
334  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2FI"));
335  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("2FM"));
336  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2GT"));
337  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("2HF"));
338  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("2LU"));
339  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2MA"));
340  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("2MG"));
341  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("2ML"));
342  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("2MR"));
343  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("2MT"));
344  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("2MU"));
345  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2NT"));
346  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("2OM"));
347  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2OT"));
348  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2PI"));
349  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("2PR"));
350  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2SA"));
351  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2SI"));
352  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2ST"));
353  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2TL"));
354  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("2TY"));
355  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("2VA"));
356  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("2XA"));
357  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("32S"));
358  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("32T"));
359  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("3AH"));
360  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("3AR"));
361  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("3CF"));
362  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("3DA"));
363  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("3DR"));
364  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("3GA"));
365  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("3MD"));
366  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("3ME"));
367  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("3NF"));
368  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("3QN"));
369  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("3TY"));
370  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("3XH"));
371  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("4AC"));
372  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("4BF"));
373  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("4CF"));
374  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("4CY"));
375  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4DP"));
376  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("4F3"));
377  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("4FB"));
378  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4FW"));
379  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4HT"));
380  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4IN"));
381  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("4MF"));
382  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("4MM"));
383  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4OC"));
384  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4PC"));
385  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4PD"));
386  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4PE"));
387  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("4PH"));
388  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4SC"));
389  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("4SU"));
390  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("4TA"));
391  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("4U7"));
392  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("56A"));
393  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("5AA"));
394  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("5AB"));
395  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5AT"));
396  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5BU"));
397  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("5CG"));
398  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5CM"));
399  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5CS"));
400  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("5FA"));
401  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5FC"));
402  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5FU"));
403  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("5HP"));
404  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5HT"));
405  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5HU"));
406  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5IC"));
407  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5IT"));
408  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5IU"));
409  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5MC"));
410  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("5MD"));
411  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5MU"));
412  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5NC"));
413  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5PC"));
414  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5PY"));
415  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5SE"));
416  0 assertEquals("TWG", ResidueProperties.getCanonicalAminoAcid("5ZA"));
417  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("64T"));
418  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("6CL"));
419  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("6CT"));
420  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("6CW"));
421  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6HA"));
422  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("6HC"));
423  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("6HG"));
424  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("6HN"));
425  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("6HT"));
426  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6IA"));
427  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6MA"));
428  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6MC"));
429  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("6MI"));
430  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6MT"));
431  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("6MZ"));
432  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("6OG"));
433  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("70U"));
434  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("7DA"));
435  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("7GU"));
436  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("7JA"));
437  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("7MG"));
438  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("8AN"));
439  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("8FG"));
440  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("8MG"));
441  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("8OG"));
442  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("9NE"));
443  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("9NF"));
444  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("9NR"));
445  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("9NV"));
446  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A "));
447  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("A1P"));
448  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A23"));
449  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A2L"));
450  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A2M"));
451  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A34"));
452  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A35"));
453  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A38"));
454  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A39"));
455  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A3A"));
456  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A3P"));
457  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A40"));
458  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A43"));
459  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A44"));
460  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A47"));
461  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A5L"));
462  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("A5M"));
463  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("A5N"));
464  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A5O"));
465  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("A66"));
466  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AA3"));
467  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AA4"));
468  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AAR"));
469  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AB7"));
470  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ABA"));
471  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ABR"));
472  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ABS"));
473  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ABT"));
474  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ACB"));
475  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ACL"));
476  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AD2"));
477  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ADD"));
478  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ADX"));
479  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AEA"));
480  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AEI"));
481  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AET"));
482  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("AFA"));
483  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("AFF"));
484  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("AFG"));
485  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AGM"));
486  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("AGT"));
487  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("AHB"));
488  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AHH"));
489  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AHO"));
490  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AHP"));
491  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AHS"));
492  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AHT"));
493  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AIB"));
494  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AKL"));
495  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AKZ"));
496  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALA"));
497  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALC"));
498  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALM"));
499  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALN"));
500  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ALO"));
501  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ALQ"));
502  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALS"));
503  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALT"));
504  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALV"));
505  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("ALY"));
506  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AN8"));
507  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AP7"));
508  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("APE"));
509  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("APH"));
510  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("API"));
511  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("APK"));
512  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("APM"));
513  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("APP"));
514  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AR2"));
515  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("AR4"));
516  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AR7"));
517  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ARG"));
518  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ARM"));
519  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ARO"));
520  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ARV"));
521  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AS "));
522  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AS2"));
523  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AS9"));
524  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASA"));
525  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASB"));
526  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASI"));
527  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASK"));
528  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASL"));
529  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ASM"));
530  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ASN"));
531  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASP"));
532  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASQ"));
533  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ASU"));
534  0 assertEquals("ASX", ResidueProperties.getCanonicalAminoAcid("ASX"));
535  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ATD"));
536  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ATL"));
537  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ATM"));
538  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AVC"));
539  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AVN"));
540  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AYA"));
541  0 assertEquals("AYG", ResidueProperties.getCanonicalAminoAcid("AYG"));
542  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("AZK"));
543  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("AZS"));
544  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("AZY"));
545  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("B1F"));
546  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("B1P"));
547  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("B2A"));
548  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("B2F"));
549  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("B2I"));
550  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("B2V"));
551  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("B3A"));
552  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("B3D"));
553  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("B3E"));
554  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("B3K"));
555  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3L"));
556  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3M"));
557  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3Q"));
558  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("B3S"));
559  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3T"));
560  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("B3U"));
561  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("B3X"));
562  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("B3Y"));
563  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BB6"));
564  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BB7"));
565  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("BB8"));
566  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BB9"));
567  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BBC"));
568  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BCS"));
569  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BE2"));
570  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("BFD"));
571  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("BG1"));
572  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("BGM"));
573  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("BH2"));
574  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("BHD"));
575  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("BIF"));
576  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BIL"));
577  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("BIU"));
578  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BJH"));
579  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("BLE"));
580  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("BLY"));
581  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("BMP"));
582  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("BMT"));
583  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("BNN"));
584  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BNO"));
585  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("BOE"));
586  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("BOR"));
587  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BPE"));
588  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("BRU"));
589  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("BSE"));
590  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("BT5"));
591  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("BTA"));
592  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BTC"));
593  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("BTR"));
594  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BUC"));
595  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("BUG"));
596  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("BVP"));
597  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("BZG"));
598  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C "));
599  0 assertEquals("TYG", ResidueProperties.getCanonicalAminoAcid("C12"));
600  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("C1X"));
601  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C25"));
602  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C2L"));
603  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C2S"));
604  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C31"));
605  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C32"));
606  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C34"));
607  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C36"));
608  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C37"));
609  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C38"));
610  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C3Y"));
611  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C42"));
612  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C43"));
613  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C45"));
614  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C46"));
615  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C49"));
616  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C4R"));
617  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C4S"));
618  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C5C"));
619  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("C66"));
620  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C6C"));
621  0 assertEquals("TFG", ResidueProperties.getCanonicalAminoAcid("C99"));
622  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAF"));
623  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CAL"));
624  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAR"));
625  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAS"));
626  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CAV"));
627  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAY"));
628  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CB2"));
629  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CBR"));
630  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CBV"));
631  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CCC"));
632  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("CCL"));
633  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CCS"));
634  0 assertEquals("CYG", ResidueProperties.getCanonicalAminoAcid("CCY"));
635  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CDE"));
636  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CDV"));
637  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CDW"));
638  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CEA"));
639  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CFL"));
640  0 assertEquals("FCYG", ResidueProperties.getCanonicalAminoAcid("CFY")); // check
641  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CG1"));
642  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("CGA"));
643  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("CGU"));
644  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CH "));
645  0 assertEquals("MYG", ResidueProperties.getCanonicalAminoAcid("CH6"));
646  0 assertEquals("KYG", ResidueProperties.getCanonicalAminoAcid("CH7"));
647  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CHF"));
648  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CHG"));
649  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CHP"));
650  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CHS"));
651  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("CIR"));
652  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CJO"));
653  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("CLE"));
654  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("CLG"));
655  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("CLH"));
656  0 assertEquals("AFG", ResidueProperties.getCanonicalAminoAcid("CLV"));
657  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("CM0"));
658  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CME"));
659  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CMH"));
660  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CML"));
661  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CMR"));
662  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CMT"));
663  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("CNU"));
664  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CP1"));
665  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CPC"));
666  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CPI"));
667  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CQR"));
668  0 assertEquals("TLG", ResidueProperties.getCanonicalAminoAcid("CR0"));
669  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CR2"));
670  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CR5"));
671  0 assertEquals("KYG", ResidueProperties.getCanonicalAminoAcid("CR7"));
672  0 assertEquals("HYG", ResidueProperties.getCanonicalAminoAcid("CR8"));
673  0 assertEquals("TWG", ResidueProperties.getCanonicalAminoAcid("CRF"));
674  0 assertEquals("THG", ResidueProperties.getCanonicalAminoAcid("CRG"));
675  0 assertEquals("MYG", ResidueProperties.getCanonicalAminoAcid("CRK"));
676  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CRO"));
677  0 assertEquals("QYG", ResidueProperties.getCanonicalAminoAcid("CRQ"));
678  0 assertEquals("EYG", ResidueProperties.getCanonicalAminoAcid("CRU"));
679  0 assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("CRW"));
680  0 assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("CRX"));
681  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS0"));
682  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS1"));
683  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS3"));
684  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS4"));
685  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("CS8"));
686  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSA"));
687  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSB"));
688  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSD"));
689  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSE"));
690  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSF"));
691  0 assertEquals("SHG", ResidueProperties.getCanonicalAminoAcid("CSH"));
692  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CSI"));
693  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSJ"));
694  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSL"));
695  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSO"));
696  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSP"));
697  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSR"));
698  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSS"));
699  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSU"));
700  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSW"));
701  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSX"));
702  0 assertEquals("SYG", ResidueProperties.getCanonicalAminoAcid("CSY"));
703  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSZ"));
704  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("CTE"));
705  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("CTG"));
706  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("CTH"));
707  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CUC"));
708  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("CWR"));
709  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("CXM"));
710  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY0"));
711  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY1"));
712  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY3"));
713  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY4"));
714  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYA"));
715  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYD"));
716  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYF"));
717  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYG"));
718  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CYJ"));
719  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYM"));
720  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYQ"));
721  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYR"));
722  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYS"));
723  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CZ2"));
724  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CZO"));
725  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CZZ"));
726  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("D11"));
727  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("D1P"));
728  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("D3 "));
729  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("D33"));
730  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("D3P"));
731  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("D3T"));
732  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("D4M"));
733  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("D4P"));
734  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DA "));
735  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DA2"));
736  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DAB"));
737  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("DAH"));
738  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DAL"));
739  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("DAR"));
740  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DAS"));
741  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DBB"));
742  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DBM"));
743  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DBS"));
744  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DBU"));
745  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("DBY"));
746  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DBZ"));
747  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DC "));
748  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DC2"));
749  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DCG"));
750  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DCI"));
751  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DCL"));
752  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DCT"));
753  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DCY"));
754  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("DDE"));
755  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DDG"));
756  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DDN"));
757  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DDX"));
758  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DFC"));
759  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DFG"));
760  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DFI"));
761  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DFO"));
762  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DFT"));
763  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DG "));
764  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DGH"));
765  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DGI"));
766  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("DGL"));
767  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("DGN"));
768  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DHA"));
769  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("DHI"));
770  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DHL"));
771  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DHN"));
772  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DHP"));
773  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DHU"));
774  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DHV"));
775  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("DI "));
776  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("DIL"));
777  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("DIR"));
778  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DIV"));
779  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DLE"));
780  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DLS"));
781  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DLY"));
782  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DM0"));
783  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DMH"));
784  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DMK"));
785  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DMT"));
786  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DN "));
787  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DNE"));
788  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DNG"));
789  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DNL"));
790  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DNM"));
791  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DNP"));
792  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DNR"));
793  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DNS"));
794  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DOA"));
795  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DOC"));
796  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DOH"));
797  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DON"));
798  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DPB"));
799  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("DPH"));
800  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("DPL"));
801  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DPP"));
802  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("DPQ"));
803  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("DPR"));
804  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DPY"));
805  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DRM"));
806  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DRP"));
807  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DRT"));
808  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DRZ"));
809  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DSE"));
810  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DSG"));
811  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DSN"));
812  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DSP"));
813  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DT "));
814  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DTH"));
815  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("DTR"));
816  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("DTY"));
817  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DU "));
818  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DVA"));
819  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DXD"));
820  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DXN"));
821  0 assertEquals("DYG", ResidueProperties.getCanonicalAminoAcid("DYG"));
822  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DYS"));
823  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DZM"));
824  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("E "));
825  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("E1X"));
826  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("ECC"));
827  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("EDA"));
828  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("EFC"));
829  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("EHP"));
830  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("EIT"));
831  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ENP"));
832  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("ESB"));
833  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("ESC"));
834  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("EXB"));
835  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("EXY"));
836  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("EY5"));
837  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("EYS"));
838  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("F2F"));
839  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FA2"));
840  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FA5"));
841  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FAG"));
842  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FAI"));
843  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FB5"));
844  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FB6"));
845  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("FCL"));
846  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FFD"));
847  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("FGA"));
848  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("FGL"));
849  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("FGP"));
850  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("FHL"));
851  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("FHO"));
852  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("FHU"));
853  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FLA"));
854  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("FLE"));
855  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("FLT"));
856  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("FME"));
857  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("FMG"));
858  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FMU"));
859  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("FOE"));
860  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("FOX"));
861  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("FP9"));
862  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("FPA"));
863  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("FRD"));
864  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("FT6"));
865  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("FTR"));
866  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("FTY"));
867  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("FVA"));
868  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("FZN"));
869  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G "));
870  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G25"));
871  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G2L"));
872  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G2S"));
873  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G31"));
874  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G32"));
875  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G33"));
876  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G36"));
877  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G38"));
878  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G42"));
879  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G46"));
880  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G47"));
881  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G48"));
882  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G49"));
883  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("G4P"));
884  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G7M"));
885  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GAO"));
886  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GAU"));
887  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("GCK"));
888  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GCM"));
889  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GDP"));
890  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GDR"));
891  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GFL"));
892  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GGL"));
893  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GH3"));
894  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("GHG"));
895  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GHP"));
896  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GL3"));
897  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("GLH"));
898  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLJ"));
899  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLK"));
900  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GLM"));
901  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("GLN"));
902  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLQ"));
903  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLU"));
904  0 assertEquals("GLX", ResidueProperties.getCanonicalAminoAcid("GLX"));
905  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GLY"));
906  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GLZ"));
907  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GMA"));
908  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GMS"));
909  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("GMU"));
910  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GN7"));
911  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GND"));
912  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("GNE"));
913  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GOM"));
914  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("GPL"));
915  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GS "));
916  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GSC"));
917  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GSR"));
918  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GSS"));
919  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GSU"));
920  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("GT9"));
921  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GTP"));
922  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GVL"));
923  0 assertEquals("CYG", ResidueProperties.getCanonicalAminoAcid("GYC"));
924  0 assertEquals("SYG", ResidueProperties.getCanonicalAminoAcid("GYS"));
925  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("H2U"));
926  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("H5M"));
927  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("HAC"));
928  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("HAR"));
929  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HBN"));
930  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("HCS"));
931  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("HDP"));
932  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("HEU"));
933  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("HFA"));
934  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("HGL"));
935  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HHI"));
936  0 assertEquals("AK", ResidueProperties.getCanonicalAminoAcid("HHK")); // check
937  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIA"));
938  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIC"));
939  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIP"));
940  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIQ"));
941  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIS"));
942  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("HL2"));
943  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("HLU"));
944  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("HMR"));
945  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("HOL"));
946  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPC"));
947  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPE"));
948  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPH"));
949  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPQ"));
950  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("HQA"));
951  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("HRG"));
952  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("HRP"));
953  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HS8"));
954  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HS9"));
955  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("HSE"));
956  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("HSL"));
957  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HSO"));
958  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("HTI"));
959  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("HTN"));
960  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("HTR"));
961  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("HV5"));
962  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("HVA"));
963  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("HY3"));
964  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("HYP"));
965  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("HZP"));
966  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("I "));
967  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("I2M"));
968  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("I58"));
969  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("I5C"));
970  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("IAM"));
971  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("IAR"));
972  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("IAS"));
973  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("IC "));
974  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("IEL"));
975  0 assertEquals("HYG", ResidueProperties.getCanonicalAminoAcid("IEY"));
976  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IG "));
977  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IGL"));
978  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IGU"));
979  0 assertEquals("SHG", ResidueProperties.getCanonicalAminoAcid("IIC"));
980  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("IIL"));
981  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("ILE"));
982  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("ILG"));
983  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("ILX"));
984  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("IMC"));
985  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("IML"));
986  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("IOY"));
987  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IPG"));
988  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("IPN"));
989  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("IRN"));
990  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("IT1"));
991  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("IU "));
992  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("IYR"));
993  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("IYT"));
994  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("IZO"));
995  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("JJJ"));
996  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("JJK"));
997  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("JJL"));
998  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("JW5"));
999  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("K1R"));
1000  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("KAG"));
1001  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KCX"));
1002  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KGC"));
1003  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("KNB"));
1004  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("KOR"));
1005  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KPI"));
1006  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KST"));
1007  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KYQ"));
1008  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("L2A"));
1009  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LA2"));
1010  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("LAA"));
1011  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("LAL"));
1012  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LBY"));
1013  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("LC "));
1014  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("LCA"));
1015  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LCC"));
1016  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LCG"));
1017  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LCH"));
1018  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LCK"));
1019  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LCX"));
1020  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LDH"));
1021  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LED"));
1022  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEF"));
1023  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEH"));
1024  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("LEI"));
1025  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEM"));
1026  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEN"));
1027  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LET"));
1028  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEU"));
1029  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEX"));
1030  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LG "));
1031  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LGP"));
1032  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LHC"));
1033  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("LHU"));
1034  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LKC"));
1035  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LLP"));
1036  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LLY"));
1037  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("LME"));
1038  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LMF"));
1039  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("LMQ"));
1040  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LMS"));
1041  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LP6"));
1042  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("LPD"));
1043  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LPG"));
1044  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LPL"));
1045  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("LPS"));
1046  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LSO"));
1047  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LTA"));
1048  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("LTR"));
1049  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LVG"));
1050  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("LVN"));
1051  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYF"));
1052  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYK"));
1053  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYM"));
1054  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYN"));
1055  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYR"));
1056  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYS"));
1057  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYX"));
1058  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYZ"));
1059  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("M0H"));
1060  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("M1G"));
1061  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("M2G"));
1062  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("M2L"));
1063  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("M2S"));
1064  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("M30"));
1065  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("M3L"));
1066  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("M5M"));
1067  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MA "));
1068  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MA6"));
1069  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MA7"));
1070  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MAA"));
1071  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MAD"));
1072  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("MAI"));
1073  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("MBQ"));
1074  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MBZ"));
1075  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("MC1"));
1076  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MCG"));
1077  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("MCL"));
1078  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("MCS"));
1079  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("MCY"));
1080  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("MD3"));
1081  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MD6"));
1082  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MDH"));
1083  0 assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("MDO"));
1084  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MDR"));
1085  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("MEA"));
1086  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MED"));
1087  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("MEG"));
1088  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MEN"));
1089  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("MEP"));
1090  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("MEQ"));
1091  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MET"));
1092  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MEU"));
1093  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MF3"));
1094  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("MFC"));
1095  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MG1"));
1096  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("MGG"));
1097  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("MGN"));
1098  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MGQ"));
1099  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MGV"));
1100  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MGY"));
1101  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MHL"));
1102  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MHO"));
1103  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("MHS"));
1104  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MIA"));
1105  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("MIS"));
1106  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MK8"));
1107  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("ML3"));
1108  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MLE"));
1109  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MLL"));
1110  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("MLY"));
1111  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("MLZ"));
1112  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MME"));
1113  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("MMO"));
1114  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("MMT"));
1115  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MND"));
1116  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MNL"));
1117  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("MNU"));
1118  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("MNV"));
1119  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MOD"));
1120  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("MP8"));
1121  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MPH"));
1122  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MPJ"));
1123  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MPQ"));
1124  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MRG"));
1125  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MSA"));
1126  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSE"));
1127  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSL"));
1128  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSO"));
1129  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MSP"));
1130  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MT2"));
1131  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("MTR"));
1132  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MTU"));
1133  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("MTY"));
1134  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("MVA"));
1135  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("N "));
1136  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("N10"));
1137  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("N2C"));
1138  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("N5I"));
1139  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("N5M"));
1140  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("N6G"));
1141  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("N7P"));
1142  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NA8"));
1143  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NAL"));
1144  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NAM"));
1145  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NB8"));
1146  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("NBQ"));
1147  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("NC1"));
1148  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NCB"));
1149  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NCX"));
1150  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("NCY"));
1151  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("NDF"));
1152  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("NDN"));
1153  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("NEM"));
1154  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("NEP"));
1155  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NF2"));
1156  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("NFA"));
1157  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("NHL"));
1158  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("NIT"));
1159  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("NIY"));
1160  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLE"));
1161  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLN"));
1162  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLO"));
1163  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLP"));
1164  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("NLQ"));
1165  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("NMC"));
1166  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("NMM"));
1167  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("NMS"));
1168  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("NMT"));
1169  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("NNH"));
1170  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NP3"));
1171  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("NPH"));
1172  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NPI"));
1173  0 assertEquals("LYG", ResidueProperties.getCanonicalAminoAcid("NRP"));
1174  0 assertEquals("MYG", ResidueProperties.getCanonicalAminoAcid("NRQ"));
1175  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("NSK"));
1176  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("NTY"));
1177  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("NVA"));
1178  0 assertEquals("TWG", ResidueProperties.getCanonicalAminoAcid("NYC"));
1179  0 assertEquals("NYG", ResidueProperties.getCanonicalAminoAcid("NYG"));
1180  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NYM"));
1181  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("NYS"));
1182  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("NZH"));
1183  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("O12"));
1184  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("O2C"));
1185  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("O2G"));
1186  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("OAD"));
1187  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("OAS"));
1188  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OBF"));
1189  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OBS"));
1190  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("OCS"));
1191  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("OCY"));
1192  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ODP"));
1193  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("OHI"));
1194  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("OHS"));
1195  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OIC"));
1196  0 assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("OIP"));
1197  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OLE"));
1198  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("OLT"));
1199  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("OLZ"));
1200  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("OMC"));
1201  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("OMG"));
1202  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("OMT"));
1203  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("OMU"));
1204  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("ONE"));
1205  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ONH"));
1206  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ONL"));
1207  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("OPR"));
1208  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ORN"));
1209  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ORQ"));
1210  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("OSE"));
1211  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OTB"));
1212  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("OTH"));
1213  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("OTY"));
1214  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("OXX"));
1215  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("P "));
1216  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("P1L"));
1217  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("P1P"));
1218  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("P2T"));
1219  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("P2U"));
1220  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("P2Y"));
1221  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("P5P"));
1222  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PAQ"));
1223  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("PAS"));
1224  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("PAT"));
1225  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PAU"));
1226  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PBB"));
1227  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PBF"));
1228  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PBT"));
1229  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("PCA"));
1230  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PCC"));
1231  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PCE"));
1232  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PCS"));
1233  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PDL"));
1234  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("PDU"));
1235  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PEC"));
1236  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PF5"));
1237  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PFF"));
1238  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PFX"));
1239  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("PG1"));
1240  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PG7"));
1241  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PG9"));
1242  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PGL"));
1243  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PGN"));
1244  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PGP"));
1245  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PGY"));
1246  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHA"));
1247  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("PHD"));
1248  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHE"));
1249  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHI"));
1250  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHL"));
1251  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHM"));
1252  0 assertEquals("AYG", ResidueProperties.getCanonicalAminoAcid("PIA"));
1253  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PIV"));
1254  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("PLE"));
1255  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PM3"));
1256  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PMT"));
1257  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("POM"));
1258  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PPN"));
1259  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PPU"));
1260  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PPW"));
1261  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PQ1"));
1262  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PR3"));
1263  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PR5"));
1264  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PR9"));
1265  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PRN"));
1266  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PRO"));
1267  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PRS"));
1268  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PSA"));
1269  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("PSH"));
1270  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("PST"));
1271  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("PSU"));
1272  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PSW"));
1273  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PTA"));
1274  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PTH"));
1275  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PTM"));
1276  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PTR"));
1277  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PU "));
1278  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PUY"));
1279  0 assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("PVH"));
1280  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PVL"));
1281  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PYA"));
1282  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("PYO"));
1283  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PYX"));
1284  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PYY"));
1285  0 assertEquals("QLG", ResidueProperties.getCanonicalAminoAcid("QLG"));
1286  0 assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("QMM"));
1287  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("QPA"));
1288  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("QPH"));
1289  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("QUO"));
1290  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("R "));
1291  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("R1A"));
1292  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("R4K"));
1293  0 assertEquals("HYG", ResidueProperties.getCanonicalAminoAcid("RC7"));
1294  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("RE0"));
1295  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("RE3"));
1296  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("RIA"));
1297  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("RMP"));
1298  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("RON"));
1299  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("RT "));
1300  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("RTP"));
1301  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("S1H"));
1302  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("S2C"));
1303  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("S2D"));
1304  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("S2M"));
1305  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("S2P"));
1306  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("S4A"));
1307  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("S4C"));
1308  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("S4G"));
1309  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("S4U"));
1310  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("S6G"));
1311  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SAC"));
1312  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SAH"));
1313  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("SAR"));
1314  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SBL"));
1315  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SC "));
1316  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SCH"));
1317  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SCS"));
1318  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SCY"));
1319  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("SD2"));
1320  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("SDG"));
1321  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SDP"));
1322  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEB"));
1323  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SEC"));
1324  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SEG"));
1325  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEL"));
1326  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEM"));
1327  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEN"));
1328  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEP"));
1329  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SER"));
1330  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SET"));
1331  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SGB"));
1332  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SHC"));
1333  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("SHP"));
1334  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("SHR"));
1335  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SIB"));
1336  0 assertEquals("DC", ResidueProperties.getCanonicalAminoAcid("SIC")); // check
1337  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("SLA"));
1338  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("SLR"));
1339  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("SLZ"));
1340  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SMC"));
1341  0 assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("SME"));
1342  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("SMF"));
1343  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SMP"));
1344  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("SMT"));
1345  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SNC"));
1346  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("SNN"));
1347  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SOC"));
1348  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("SOS"));
1349  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SOY"));
1350  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("SPT"));
1351  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SRA"));
1352  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("SSU"));
1353  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("STY"));
1354  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("SUB"));
1355  0 assertEquals("DG", ResidueProperties.getCanonicalAminoAcid("SUI"));
1356  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SUN"));
1357  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("SUR"));
1358  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVA"));
1359  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVV"));
1360  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVW"));
1361  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVX"));
1362  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVY"));
1363  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("SVZ"));
1364  0 assertEquals("SWG", ResidueProperties.getCanonicalAminoAcid("SWG"));
1365  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SYS"));
1366  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T "));
1367  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("T11"));
1368  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T23"));
1369  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T2S"));
1370  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("T2T"));
1371  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("T31"));
1372  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T32"));
1373  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T36"));
1374  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T37"));
1375  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T38"));
1376  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T39"));
1377  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T3P"));
1378  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T41"));
1379  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T48"));
1380  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T49"));
1381  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T4S"));
1382  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("T5O"));
1383  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T5S"));
1384  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("T66"));
1385  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("T6A"));
1386  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TA3"));
1387  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TA4"));
1388  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TAF"));
1389  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TAL"));
1390  0 assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("TAV"));
1391  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("TBG"));
1392  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TBM"));
1393  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("TC1"));
1394  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TCP"));
1395  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TCQ"));
1396  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TCR"));
1397  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("TCY"));
1398  0 assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("TDD"));
1399  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TDY"));
1400  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TFE"));
1401  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("TFO"));
1402  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("TFQ"));
1403  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TFT"));
1404  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("TGP"));
1405  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TH6"));
1406  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("THC"));
1407  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("THO"));
1408  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("THR"));
1409  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("THX"));
1410  0 assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("THZ"));
1411  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("TIH"));
1412  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TLB"));
1413  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TLC"));
1414  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("TLN"));
1415  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TMB"));
1416  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TMD"));
1417  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("TNB"));
1418  0 assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("TNR"));
1419  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TOX"));
1420  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TP1"));
1421  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("TPC"));
1422  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("TPG"));
1423  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TPH"));
1424  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TPL"));
1425  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TPO"));
1426  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TPQ"));
1427  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TQI"));
1428  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TQQ"));
1429  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRF"));
1430  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("TRG"));
1431  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRN"));
1432  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRO"));
1433  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRP"));
1434  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRQ"));
1435  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRW"));
1436  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRX"));
1437  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TS "));
1438  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TST"));
1439  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TT "));
1440  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TTD"));
1441  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("TTI"));
1442  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TTM"));
1443  0 assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TTQ"));
1444  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TTS"));
1445  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY1"));
1446  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY2"));
1447  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY3"));
1448  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY5"));
1449  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYB"));
1450  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYI"));
1451  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYJ"));
1452  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYN"));
1453  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYO"));
1454  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYQ"));
1455  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYR"));
1456  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYS"));
1457  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYT"));
1458  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TYU"));
1459  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYW"));
1460  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TYX"));
1461  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYY"));
1462  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TZB"));
1463  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TZO"));
1464  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U "));
1465  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U25"));
1466  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U2L"));
1467  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U2N"));
1468  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U2P"));
1469  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U31"));
1470  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U33"));
1471  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U34"));
1472  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U36"));
1473  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U37"));
1474  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U8U"));
1475  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UAR"));
1476  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UCL"));
1477  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UD5"));
1478  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("UDP"));
1479  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("UFP"));
1480  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UFR"));
1481  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UFT"));
1482  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("UMA"));
1483  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UMP"));
1484  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UMS"));
1485  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("UN1"));
1486  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("UN2"));
1487  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("UNK"));
1488  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UR3"));
1489  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("URD"));
1490  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("US1"));
1491  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("US2"));
1492  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("US3"));
1493  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("US5"));
1494  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("USM"));
1495  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("VAD"));
1496  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("VAF"));
1497  0 assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("VAL"));
1498  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("VB1"));
1499  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VDL"));
1500  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VLL"));
1501  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VLM"));
1502  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VMS"));
1503  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VOL"));
1504  0 assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("WCR"));
1505  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("X "));
1506  0 assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("X2W"));
1507  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("X4A"));
1508  0 assertEquals("AFG", ResidueProperties.getCanonicalAminoAcid("X9Q"));
1509  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("XAD"));
1510  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XAE"));
1511  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("XAL"));
1512  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XAR"));
1513  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCL"));
1514  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCN"));
1515  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("XCP"));
1516  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCR"));
1517  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XCS"));
1518  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCT"));
1519  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCY"));
1520  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XGA"));
1521  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XGL"));
1522  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XGR"));
1523  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XGU"));
1524  0 assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("XPR"));
1525  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XSN"));
1526  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("XTH"));
1527  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("XTL"));
1528  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("XTR"));
1529  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XTS"));
1530  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XTY"));
1531  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("XUA"));
1532  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XUG"));
1533  0 assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("XX1"));
1534  0 assertEquals("THG", ResidueProperties.getCanonicalAminoAcid("XXY"));
1535  0 assertEquals("DYG", ResidueProperties.getCanonicalAminoAcid("XYG"));
1536  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("Y "));
1537  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("YCM"));
1538  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("YG "));
1539  0 assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("YOF"));
1540  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("YRR"));
1541  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("YYG"));
1542  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("Z "));
1543  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("Z01"));
1544  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ZAD"));
1545  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ZAL"));
1546  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("ZBC"));
1547  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("ZBU"));
1548  0 assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("ZCL"));
1549  0 assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("ZCY"));
1550  0 assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("ZDU"));
1551  0 assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ZFB"));
1552  0 assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("ZGU"));
1553  0 assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ZHP"));
1554  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ZTH"));
1555  0 assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ZU0"));
1556  0 assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ZZJ"));
1557   
1558  0 assertEquals(null, ResidueProperties.getCanonicalAminoAcid(null));
1559    }
1560   
 
1561  0 toggle @Test(groups = { "Functional" })
1562    public void testGetSingleCharacterCode()
1563    {
1564  0 assertEquals('0', ResidueProperties.getSingleCharacterCode(null));
1565  0 assertEquals('0', ResidueProperties.getSingleCharacterCode(null));
1566  0 assertEquals('0', ResidueProperties.getSingleCharacterCode(""));
1567  0 assertEquals('Q', ResidueProperties.getSingleCharacterCode("GLN"));
1568  0 assertEquals('Q', ResidueProperties.getSingleCharacterCode("Gln"));
1569  0 assertEquals('Q', ResidueProperties.getSingleCharacterCode("gln"));
1570    }
1571   
 
1572  0 toggle @Test(groups = { "Functional" })
1573    public void testGetDssp3State()
1574    {
1575  0 assertNull(ResidueProperties.getDssp3state(null));
1576  0 assertEquals("", ResidueProperties.getDssp3state(""));
1577  0 String foo = "0123 []<>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
1578  0 String bar = " E E HHH ";
1579  0 assertEquals(bar, ResidueProperties.getDssp3state(foo));
1580    }
1581   
 
1582  0 toggle @Test(groups = { "Functional" })
1583    public void testPhysicoChemicalProperties()
1584    {
1585  0 checkProperty("aromatic", "FYWH-*");
1586  0 checkProperty("aliphatic", "IVL-*");
1587  0 checkProperty("tiny", "GAS-*");
1588  0 checkProperty("small", "VCTGACSDNP-*");
1589  0 checkProperty("charged", "HKRDE-*");
1590  0 checkProperty("negative", "DE-*");
1591  0 checkProperty("polar", "YWHRKTSNDEQ-*X");
1592  0 checkProperty("positive", "HKR-*");
1593  0 checkProperty("proline", "P-*");
1594  0 checkProperty("hydrophobic", "MILVFYWHKTGAC-*X");
1595    }
1596   
1597    /**
1598    * Verify that the residues in the list have the named property, and other
1599    * residues do not
1600    *
1601    * @param property
1602    * @param residues
1603    */
 
1604  0 toggle void checkProperty(String property, String residues)
1605    {
1606  0 Map<String, Integer> props = ResidueProperties.propHash.get(property);
1607   
1608    /*
1609    * assert residues have the property (value 1 in lookup)
1610    */
1611  0 for (char res : residues.toCharArray())
1612    {
1613  0 assertEquals(res + " should be " + property, 1,
1614    props.get(String.valueOf(res)).intValue());
1615    }
1616   
1617    /*
1618    * assert other residues do not (value 0 in lookup)
1619    */
1620  0 for (String res : ResidueProperties.aa)
1621    {
1622  0 if (!residues.contains(res))
1623    {
1624  0 Integer propValue = props.get(String.valueOf(res));
1625   
1626  0 if (propValue != null)
1627    {
1628    /*
1629    * conservation calculation assigns unexpected symbols
1630    * the same value as '-'; here we just check those which
1631    * explicitly do not have the property
1632    */
1633  0 assertEquals(res + " should not be " + property, 0,
1634    propValue.intValue());
1635    }
1636    }
1637    }
1638    }
1639    }