/*
* Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
* Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Jalview. If not, see .
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.schemes;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNull;
import jalview.gui.JvOptionPane;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class ResiduePropertiesTest
{
@BeforeClass(alwaysRun = true)
public void setUpJvOptionPane()
{
JvOptionPane.setInteractiveMode(false);
JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
}
/**
* Test 'standard' codon translations (no ambiguity codes)
*/
@Test(groups = { "Functional" })
public void testCodonTranslate()
{
// standard translation table order column 1/2/3/4
assertEquals("F", ResidueProperties.codonTranslate("TTT"));
assertEquals("F", ResidueProperties.codonTranslate("TTC"));
assertEquals("L", ResidueProperties.codonTranslate("TTA"));
assertEquals("L", ResidueProperties.codonTranslate("TTG"));
assertEquals("L", ResidueProperties.codonTranslate("CTT"));
assertEquals("L", ResidueProperties.codonTranslate("CTC"));
assertEquals("L", ResidueProperties.codonTranslate("CTA"));
assertEquals("L", ResidueProperties.codonTranslate("CTG"));
assertEquals("I", ResidueProperties.codonTranslate("ATT"));
assertEquals("I", ResidueProperties.codonTranslate("ATC"));
assertEquals("I", ResidueProperties.codonTranslate("ATA"));
assertEquals("M", ResidueProperties.codonTranslate("ATG"));
assertEquals("V", ResidueProperties.codonTranslate("GTT"));
assertEquals("V", ResidueProperties.codonTranslate("GTC"));
assertEquals("V", ResidueProperties.codonTranslate("GTA"));
assertEquals("V", ResidueProperties.codonTranslate("GTG"));
assertEquals("S", ResidueProperties.codonTranslate("TCT"));
assertEquals("S", ResidueProperties.codonTranslate("TCC"));
assertEquals("S", ResidueProperties.codonTranslate("TCA"));
assertEquals("S", ResidueProperties.codonTranslate("TCG"));
assertEquals("P", ResidueProperties.codonTranslate("CCT"));
assertEquals("P", ResidueProperties.codonTranslate("CCC"));
assertEquals("P", ResidueProperties.codonTranslate("CCA"));
assertEquals("P", ResidueProperties.codonTranslate("CCG"));
assertEquals("T", ResidueProperties.codonTranslate("ACT"));
assertEquals("T", ResidueProperties.codonTranslate("ACC"));
assertEquals("T", ResidueProperties.codonTranslate("ACA"));
assertEquals("T", ResidueProperties.codonTranslate("ACG"));
assertEquals("A", ResidueProperties.codonTranslate("GCT"));
assertEquals("A", ResidueProperties.codonTranslate("GCC"));
assertEquals("A", ResidueProperties.codonTranslate("GCA"));
assertEquals("A", ResidueProperties.codonTranslate("GCG"));
assertEquals("Y", ResidueProperties.codonTranslate("TAT"));
assertEquals("Y", ResidueProperties.codonTranslate("TAC"));
assertEquals("STOP", ResidueProperties.codonTranslate("TAA"));
assertEquals("STOP", ResidueProperties.codonTranslate("TAG"));
assertEquals("H", ResidueProperties.codonTranslate("CAT"));
assertEquals("H", ResidueProperties.codonTranslate("CAC"));
assertEquals("Q", ResidueProperties.codonTranslate("CAA"));
assertEquals("Q", ResidueProperties.codonTranslate("CAG"));
assertEquals("N", ResidueProperties.codonTranslate("AAT"));
assertEquals("N", ResidueProperties.codonTranslate("AAC"));
assertEquals("K", ResidueProperties.codonTranslate("AAA"));
assertEquals("K", ResidueProperties.codonTranslate("AAG"));
assertEquals("D", ResidueProperties.codonTranslate("GAT"));
assertEquals("D", ResidueProperties.codonTranslate("GAC"));
assertEquals("E", ResidueProperties.codonTranslate("GAA"));
assertEquals("E", ResidueProperties.codonTranslate("GAG"));
assertEquals("C", ResidueProperties.codonTranslate("TGT"));
assertEquals("C", ResidueProperties.codonTranslate("TGC"));
assertEquals("STOP", ResidueProperties.codonTranslate("TGA"));
assertEquals("W", ResidueProperties.codonTranslate("TGG"));
assertEquals("R", ResidueProperties.codonTranslate("CGT"));
assertEquals("R", ResidueProperties.codonTranslate("CGC"));
assertEquals("R", ResidueProperties.codonTranslate("CGA"));
assertEquals("R", ResidueProperties.codonTranslate("CGG"));
assertEquals("S", ResidueProperties.codonTranslate("AGT"));
assertEquals("S", ResidueProperties.codonTranslate("AGC"));
assertEquals("R", ResidueProperties.codonTranslate("AGA"));
assertEquals("R", ResidueProperties.codonTranslate("AGG"));
assertEquals("G", ResidueProperties.codonTranslate("GGT"));
assertEquals("G", ResidueProperties.codonTranslate("GGC"));
assertEquals("G", ResidueProperties.codonTranslate("GGA"));
assertEquals("G", ResidueProperties.codonTranslate("GGG"));
}
/**
* Test a sample of codon translations involving ambiguity codes. Should
* return a protein value where the ambiguity does not affect the translation.
*/
@Test(groups = { "Functional" })
public void testCodonTranslate_ambiguityCodes()
{
// Y is C or T
assertEquals("C", ResidueProperties.codonTranslate("TGY"));
// Phenylalanine first base variation
assertEquals("L", ResidueProperties.codonTranslate("YTA"));
// W is A or T
assertEquals("L", ResidueProperties.codonTranslate("CTW"));
assertNull(ResidueProperties.codonTranslate("TTW"));
// S is G or C
assertEquals("G", ResidueProperties.codonTranslate("GGS"));
assertNull(ResidueProperties.codonTranslate("ATS"));
// K is T or G
assertEquals("S", ResidueProperties.codonTranslate("TCK"));
assertNull(ResidueProperties.codonTranslate("ATK"));
// M is C or A
assertEquals("T", ResidueProperties.codonTranslate("ACM"));
// Arginine first base variation
assertEquals("R", ResidueProperties.codonTranslate("MGA"));
assertEquals("R", ResidueProperties.codonTranslate("MGG"));
assertNull(ResidueProperties.codonTranslate("TAM"));
// D is A, G or T
assertEquals("P", ResidueProperties.codonTranslate("CCD"));
assertNull(ResidueProperties.codonTranslate("AAD"));
// V is A, C or G
assertEquals("V", ResidueProperties.codonTranslate("GTV"));
assertNull(ResidueProperties.codonTranslate("TTV"));
// H is A, C or T
assertEquals("A", ResidueProperties.codonTranslate("GCH"));
assertEquals("I", ResidueProperties.codonTranslate("ATH"));
assertNull(ResidueProperties.codonTranslate("AGH"));
// B is C, G or T
assertEquals("P", ResidueProperties.codonTranslate("CCB"));
assertNull(ResidueProperties.codonTranslate("TAB"));
// R is A or G
// additional tests for JAL-1685 (resolved)
assertEquals("L", ResidueProperties.codonTranslate("CTR"));
assertEquals("V", ResidueProperties.codonTranslate("GTR"));
assertEquals("S", ResidueProperties.codonTranslate("TCR"));
assertEquals("P", ResidueProperties.codonTranslate("CCR"));
assertEquals("T", ResidueProperties.codonTranslate("ACR"));
assertEquals("A", ResidueProperties.codonTranslate("GCR"));
assertEquals("R", ResidueProperties.codonTranslate("CGR"));
assertEquals("G", ResidueProperties.codonTranslate("GGR"));
assertEquals("R", ResidueProperties.codonTranslate("AGR"));
assertEquals("E", ResidueProperties.codonTranslate("GAR"));
assertEquals("K", ResidueProperties.codonTranslate("AAR"));
assertEquals("L", ResidueProperties.codonTranslate("TTR"));
assertEquals("Q", ResidueProperties.codonTranslate("CAR"));
assertEquals("STOP", ResidueProperties.codonTranslate("TAR"));
assertEquals("STOP", ResidueProperties.codonTranslate("TRA"));
// Arginine first and third base ambiguity
assertEquals("R", ResidueProperties.codonTranslate("MGR"));
assertNull(ResidueProperties.codonTranslate("ATR"));
// N is any base; 8 proteins accept any base in 3rd position
assertEquals("L", ResidueProperties.codonTranslate("CTN"));
assertEquals("V", ResidueProperties.codonTranslate("GTN"));
assertEquals("S", ResidueProperties.codonTranslate("TCN"));
assertEquals("P", ResidueProperties.codonTranslate("CCN"));
assertEquals("T", ResidueProperties.codonTranslate("ACN"));
assertEquals("A", ResidueProperties.codonTranslate("GCN"));
assertEquals("R", ResidueProperties.codonTranslate("CGN"));
assertEquals("G", ResidueProperties.codonTranslate("GGN"));
assertNull(ResidueProperties.codonTranslate("ATN"));
assertNull(ResidueProperties.codonTranslate("ANT"));
assertNull(ResidueProperties.codonTranslate("NAT"));
assertNull(ResidueProperties.codonTranslate("ANN"));
assertNull(ResidueProperties.codonTranslate("NNA"));
assertNull(ResidueProperties.codonTranslate("NNN"));
// some random stuff
assertNull(ResidueProperties.codonTranslate("YWB"));
assertNull(ResidueProperties.codonTranslate("VHD"));
assertNull(ResidueProperties.codonTranslate("WSK"));
}
@Test(groups = { "Functional" })
public void testGetResidues_nucleotide()
{
/*
* Non-ambiguous only; we don't care about the order of the list, it is just
* sorted here to make assertions reliable
*/
List residues = ResidueProperties.getResidues(true, false);
Collections.sort(residues);
assertEquals("[A, C, G, T, U]", residues.toString());
/*
* Including ambiguity codes I N R X Y
*/
residues = ResidueProperties.getResidues(true, true);
Collections.sort(residues);
assertEquals("[A, C, G, I, N, R, T, U, X, Y]", residues.toString());
}
@Test(groups = { "Functional" })
public void testGetResidues_peptide()
{
/*
* Non-ambiguous only; we don't care about the order of the list, it is just
* sorted here to make assertions reliable
*/
List residues = ResidueProperties.getResidues(false, false);
Collections.sort(residues);
assertEquals(
"[ALA, ARG, ASN, ASP, CYS, GLN, GLU, GLY, HIS, ILE, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR, VAL]",
residues.toString());
/*
* Including ambiguity codes ASX, GLX, XAA
*/
residues = ResidueProperties.getResidues(false, true);
Collections.sort(residues);
assertEquals(
"[ALA, ARG, ASN, ASP, ASX, CYS, GLN, GLU, GLX, GLY, HIS, ILE, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR, VAL, XAA]",
residues.toString());
}
@Test(groups = { "Functional" })
public void testGetCanonicalAminoAcid()
{
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MET"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSE"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("00C"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("01W"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("02K"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("03Y"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("07O"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("08P"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("0A0"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("0A1"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("0A2"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0A8"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("0AA"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("0AB"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0AC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0AD"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("0AF"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("0AG"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("0AH"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("0AK"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0AM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0AP"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("0AU"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0AV"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("0AZ"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("0BN"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0C "));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0CS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("0DC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0DG"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("0DT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0FL"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("0G "));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0NC"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("0SP"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("0U "));
assertEquals("YG", ResidueProperties.getCanonicalAminoAcid("0YG"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("10C"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("125"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("126"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("127"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("128"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("12A"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("143"));
assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("175"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("193"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("1AP"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("1MA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("1MG"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("1PA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("1PI"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("1PR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("1SC"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("1TQ"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("1TY"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("1X6"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("200"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("23F"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("23S"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("26B"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2AD"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2AG"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2AO"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2AR"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2AS"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2AT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("2AU"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("2BD"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2BT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2BU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("2CO"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2DA"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2DF"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2DM"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2DO"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2DT"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("2EG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2FE"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2FI"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("2FM"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2GT"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("2HF"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("2LU"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("2MA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("2MG"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("2ML"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("2MR"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("2MT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("2MU"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2NT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("2OM"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2OT"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2PI"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("2PR"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("2SA"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("2SI"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2ST"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("2TL"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("2TY"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("2VA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("2XA"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("32S"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("32T"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("3AH"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("3AR"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("3CF"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("3DA"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("3DR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("3GA"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("3MD"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("3ME"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("3NF"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("3QN"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("3TY"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("3XH"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("4AC"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("4BF"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("4CF"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("4CY"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4DP"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("4F3"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("4FB"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4FW"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4HT"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("4IN"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("4MF"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("4MM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4OC"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4PC"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4PD"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4PE"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("4PH"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("4SC"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("4SU"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("4TA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("4U7"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("56A"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("5AA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("5AB"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5AT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5BU"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("5CG"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5CM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5CS"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("5FA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5FC"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5FU"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("5HP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5HT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5HU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5IC"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5IT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5IU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5MC"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("5MD"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5MU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5NC"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("5PC"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("5PY"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("5SE"));
assertEquals("TWG", ResidueProperties.getCanonicalAminoAcid("5ZA"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("64T"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("6CL"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("6CT"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("6CW"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6HA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("6HC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("6HG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("6HN"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("6HT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6IA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6MA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6MC"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("6MI"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("6MT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("6MZ"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("6OG"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("70U"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("7DA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("7GU"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("7JA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("7MG"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("8AN"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("8FG"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("8MG"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("8OG"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("9NE"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("9NF"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("9NR"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("9NV"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A "));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("A1P"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A23"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A2L"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A2M"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A34"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A35"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A38"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A39"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A3A"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A3P"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A40"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A43"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A44"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A47"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A5L"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("A5M"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("A5N"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("A5O"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("A66"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AA3"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AA4"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AAR"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AB7"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ABA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ABR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ABS"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ABT"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ACB"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ACL"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AD2"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ADD"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ADX"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AEA"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AEI"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AET"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("AFA"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("AFF"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("AFG"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AGM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("AGT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("AHB"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AHH"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AHO"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AHP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AHS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AHT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AIB"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AKL"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AKZ"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALC"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALM"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALN"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ALO"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ALQ"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALS"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ALV"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("ALY"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AN8"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AP7"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("APE"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("APH"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("API"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("APK"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("APM"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("APP"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AR2"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("AR4"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("AR7"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ARG"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ARM"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ARO"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ARV"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AS "));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("AS2"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AS9"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASA"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASB"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASI"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASK"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASL"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ASM"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ASN"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASP"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("ASQ"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ASU"));
assertEquals("ASX", ResidueProperties.getCanonicalAminoAcid("ASX"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ATD"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ATL"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ATM"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AVC"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("AVN"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("AYA"));
assertEquals("AYG", ResidueProperties.getCanonicalAminoAcid("AYG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("AZK"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("AZS"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("AZY"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("B1F"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("B1P"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("B2A"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("B2F"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("B2I"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("B2V"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("B3A"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("B3D"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("B3E"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("B3K"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3L"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3M"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3Q"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("B3S"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("B3T"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("B3U"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("B3X"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("B3Y"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BB6"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BB7"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("BB8"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BB9"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BBC"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BCS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BE2"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("BFD"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("BG1"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("BGM"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("BH2"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("BHD"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("BIF"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BIL"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("BIU"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BJH"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("BLE"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("BLY"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("BMP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("BMT"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("BNN"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("BNO"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("BOE"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("BOR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BPE"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("BRU"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("BSE"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("BT5"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("BTA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BTC"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("BTR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("BUC"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("BUG"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("BVP"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("BZG"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C "));
assertEquals("TYG", ResidueProperties.getCanonicalAminoAcid("C12"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("C1X"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C25"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C2L"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C2S"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C31"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C32"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C34"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C36"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C37"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C38"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C3Y"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C42"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C43"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C45"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C46"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C49"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C4R"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C4S"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C5C"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("C66"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("C6C"));
assertEquals("TFG", ResidueProperties.getCanonicalAminoAcid("C99"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAF"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CAL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CAV"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CAY"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CB2"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CBR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CBV"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CCC"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("CCL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CCS"));
assertEquals("CYG", ResidueProperties.getCanonicalAminoAcid("CCY"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CDE"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CDV"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CDW"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CEA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CFL"));
assertEquals("FCYG", ResidueProperties.getCanonicalAminoAcid("CFY")); // check
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CG1"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("CGA"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("CGU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CH "));
assertEquals("MYG", ResidueProperties.getCanonicalAminoAcid("CH6"));
assertEquals("KYG", ResidueProperties.getCanonicalAminoAcid("CH7"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CHF"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CHG"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CHP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CHS"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("CIR"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CJO"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("CLE"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("CLG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("CLH"));
assertEquals("AFG", ResidueProperties.getCanonicalAminoAcid("CLV"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("CM0"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CME"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CMH"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CML"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CMR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CMT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("CNU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CP1"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CPC"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CPI"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CQR"));
assertEquals("TLG", ResidueProperties.getCanonicalAminoAcid("CR0"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CR2"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CR5"));
assertEquals("KYG", ResidueProperties.getCanonicalAminoAcid("CR7"));
assertEquals("HYG", ResidueProperties.getCanonicalAminoAcid("CR8"));
assertEquals("TWG", ResidueProperties.getCanonicalAminoAcid("CRF"));
assertEquals("THG", ResidueProperties.getCanonicalAminoAcid("CRG"));
assertEquals("MYG", ResidueProperties.getCanonicalAminoAcid("CRK"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CRO"));
assertEquals("QYG", ResidueProperties.getCanonicalAminoAcid("CRQ"));
assertEquals("EYG", ResidueProperties.getCanonicalAminoAcid("CRU"));
assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("CRW"));
assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("CRX"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS0"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS1"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS3"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CS4"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("CS8"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSB"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSD"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSE"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSF"));
assertEquals("SHG", ResidueProperties.getCanonicalAminoAcid("CSH"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("CSI"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSJ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSO"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSP"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSW"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSX"));
assertEquals("SYG", ResidueProperties.getCanonicalAminoAcid("CSY"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CSZ"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("CTE"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("CTG"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("CTH"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CUC"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("CWR"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("CXM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY0"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY1"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY3"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CY4"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYD"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYF"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYG"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("CYJ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYQ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CYS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CZ2"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("CZO"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("CZZ"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("D11"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("D1P"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("D3 "));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("D33"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("D3P"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("D3T"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("D4M"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("D4P"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DA "));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DA2"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DAB"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("DAH"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DAL"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("DAR"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DAS"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DBB"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DBM"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DBS"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DBU"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("DBY"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DBZ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DC "));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DC2"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DCG"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DCI"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DCL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DCT"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DCY"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("DDE"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DDG"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DDN"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DDX"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DFC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DFG"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DFI"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DFO"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DFT"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DG "));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DGH"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("DGI"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("DGL"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("DGN"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DHA"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("DHI"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DHL"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DHN"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DHP"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DHU"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DHV"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("DI "));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("DIL"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("DIR"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DIV"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DLE"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DLS"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DLY"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DM0"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DMH"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DMK"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DMT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DN "));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DNE"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DNG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DNL"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DNM"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DNP"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DNR"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("DNS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("DOA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DOC"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DOH"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("DON"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DPB"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("DPH"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("DPL"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DPP"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("DPQ"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("DPR"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DPY"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DRM"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DRP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DRT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DRZ"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DSE"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DSG"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("DSN"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("DSP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DT "));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("DTH"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("DTR"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("DTY"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("DU "));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("DVA"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DXD"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("DXN"));
assertEquals("DYG", ResidueProperties.getCanonicalAminoAcid("DYG"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("DYS"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("DZM"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("E "));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("E1X"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("ECC"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("EDA"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("EFC"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("EHP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("EIT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ENP"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("ESB"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("ESC"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("EXB"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("EXY"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("EY5"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("EYS"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("F2F"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FA2"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FA5"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FAG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FAI"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FB5"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FB6"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("FCL"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FFD"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("FGA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("FGL"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("FGP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("FHL"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("FHO"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("FHU"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("FLA"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("FLE"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("FLT"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("FME"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("FMG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("FMU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("FOE"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("FOX"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("FP9"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("FPA"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("FRD"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("FT6"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("FTR"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("FTY"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("FVA"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("FZN"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G "));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G25"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G2L"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G2S"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G31"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G32"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G33"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G36"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G38"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G42"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G46"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G47"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G48"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G49"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("G4P"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("G7M"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GAO"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GAU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("GCK"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GCM"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GDP"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GDR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GFL"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GGL"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GH3"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("GHG"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GHP"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GL3"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("GLH"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLJ"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLK"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GLM"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("GLN"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLQ"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GLU"));
assertEquals("GLX", ResidueProperties.getCanonicalAminoAcid("GLX"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GLY"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GLZ"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GMA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GMS"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("GMU"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GN7"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GND"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("GNE"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GOM"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("GPL"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GS "));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GSC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GSR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GSS"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("GSU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("GT9"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("GTP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("GVL"));
assertEquals("CYG", ResidueProperties.getCanonicalAminoAcid("GYC"));
assertEquals("SYG", ResidueProperties.getCanonicalAminoAcid("GYS"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("H2U"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("H5M"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("HAC"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("HAR"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HBN"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("HCS"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("HDP"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("HEU"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("HFA"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("HGL"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HHI"));
assertEquals("AK", ResidueProperties.getCanonicalAminoAcid("HHK")); // check
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIA"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIC"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIP"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIQ"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HIS"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("HL2"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("HLU"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("HMR"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("HOL"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPC"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPE"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPH"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("HPQ"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("HQA"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("HRG"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("HRP"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HS8"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HS9"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("HSE"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("HSL"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("HSO"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("HTI"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("HTN"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("HTR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("HV5"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("HVA"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("HY3"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("HYP"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("HZP"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("I "));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("I2M"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("I58"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("I5C"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("IAM"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("IAR"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("IAS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("IC "));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("IEL"));
assertEquals("HYG", ResidueProperties.getCanonicalAminoAcid("IEY"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IG "));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IGL"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IGU"));
assertEquals("SHG", ResidueProperties.getCanonicalAminoAcid("IIC"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("IIL"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("ILE"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("ILG"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("ILX"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("IMC"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("IML"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("IOY"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("IPG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("IPN"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("IRN"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("IT1"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("IU "));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("IYR"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("IYT"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("IZO"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("JJJ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("JJK"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("JJL"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("JW5"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("K1R"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("KAG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KCX"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KGC"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("KNB"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("KOR"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KPI"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KST"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("KYQ"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("L2A"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LA2"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("LAA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("LAL"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LBY"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("LC "));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("LCA"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LCC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LCG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LCH"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LCK"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LCX"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LDH"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LED"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEF"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEH"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("LEI"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEM"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEN"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LET"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEU"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("LEX"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LG "));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LGP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LHC"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("LHU"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LKC"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LLP"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LLY"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("LME"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LMF"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("LMQ"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("LMS"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LP6"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("LPD"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LPG"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LPL"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("LPS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LSO"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("LTA"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("LTR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("LVG"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("LVN"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYF"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYK"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYM"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYN"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYR"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYS"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYX"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("LYZ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("M0H"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("M1G"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("M2G"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("M2L"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("M2S"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("M30"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("M3L"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("M5M"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MA "));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MA6"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MA7"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MAA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MAD"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("MAI"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("MBQ"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MBZ"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("MC1"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MCG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("MCL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("MCS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("MCY"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("MD3"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MD6"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MDH"));
assertEquals("ASG", ResidueProperties.getCanonicalAminoAcid("MDO"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MDR"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("MEA"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MED"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("MEG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MEN"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("MEP"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("MEQ"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MET"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MEU"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MF3"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("MFC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MG1"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("MGG"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("MGN"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MGQ"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MGV"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MGY"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MHL"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MHO"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("MHS"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MIA"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("MIS"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MK8"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("ML3"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MLE"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MLL"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("MLY"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("MLZ"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MME"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("MMO"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("MMT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("MND"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("MNL"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("MNU"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("MNV"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MOD"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("MP8"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MPH"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MPJ"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MPQ"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MRG"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("MSA"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSE"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSL"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MSO"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("MSP"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("MT2"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("MTR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("MTU"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("MTY"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("MVA"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("N "));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("N10"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("N2C"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("N5I"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("N5M"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("N6G"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("N7P"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NA8"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NAL"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NAM"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NB8"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("NBQ"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("NC1"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NCB"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NCX"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("NCY"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("NDF"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("NDN"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("NEM"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("NEP"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NF2"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("NFA"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("NHL"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("NIT"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("NIY"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLE"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLN"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLO"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("NLP"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("NLQ"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("NMC"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("NMM"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("NMS"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("NMT"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("NNH"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NP3"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("NPH"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("NPI"));
assertEquals("LYG", ResidueProperties.getCanonicalAminoAcid("NRP"));
assertEquals("MYG", ResidueProperties.getCanonicalAminoAcid("NRQ"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("NSK"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("NTY"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("NVA"));
assertEquals("TWG", ResidueProperties.getCanonicalAminoAcid("NYC"));
assertEquals("NYG", ResidueProperties.getCanonicalAminoAcid("NYG"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("NYM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("NYS"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("NZH"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("O12"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("O2C"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("O2G"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("OAD"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("OAS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OBF"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OBS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("OCS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("OCY"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ODP"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("OHI"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("OHS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OIC"));
assertEquals("ILE", ResidueProperties.getCanonicalAminoAcid("OIP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OLE"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("OLT"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("OLZ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("OMC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("OMG"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("OMT"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("OMU"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("ONE"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ONH"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ONL"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("OPR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ORN"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("ORQ"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("OSE"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("OTB"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("OTH"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("OTY"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("OXX"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("P "));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("P1L"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("P1P"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("P2T"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("P2U"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("P2Y"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("P5P"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PAQ"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("PAS"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("PAT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PAU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PBB"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PBF"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PBT"));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("PCA"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PCC"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PCE"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PCS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PDL"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("PDU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PEC"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PF5"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PFF"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PFX"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("PG1"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PG7"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PG9"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PGL"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PGN"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PGP"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PGY"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHA"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("PHD"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHE"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHI"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHL"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PHM"));
assertEquals("AYG", ResidueProperties.getCanonicalAminoAcid("PIA"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PIV"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("PLE"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PM3"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PMT"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("POM"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PPN"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PPU"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("PPW"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PQ1"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PR3"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PR5"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PR9"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PRN"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PRO"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("PRS"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("PSA"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("PSH"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("PST"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("PSU"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PSW"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PTA"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PTH"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PTM"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("PTR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PU "));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PUY"));
assertEquals("HIS", ResidueProperties.getCanonicalAminoAcid("PVH"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("PVL"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("PYA"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("PYO"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("PYX"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("PYY"));
assertEquals("QLG", ResidueProperties.getCanonicalAminoAcid("QLG"));
assertEquals("GLN", ResidueProperties.getCanonicalAminoAcid("QMM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("QPA"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("QPH"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("QUO"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("R "));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("R1A"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("R4K"));
assertEquals("HYG", ResidueProperties.getCanonicalAminoAcid("RC7"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("RE0"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("RE3"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("RIA"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("RMP"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("RON"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("RT "));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("RTP"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("S1H"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("S2C"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("S2D"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("S2M"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("S2P"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("S4A"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("S4C"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("S4G"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("S4U"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("S6G"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SAC"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SAH"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("SAR"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SBL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SC "));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SCH"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SCS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SCY"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("SD2"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("SDG"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SDP"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEB"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SEC"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SEG"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEL"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEM"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEN"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SEP"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SER"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SET"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SGB"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SHC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("SHP"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("SHR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SIB"));
assertEquals("DC", ResidueProperties.getCanonicalAminoAcid("SIC")); // check
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("SLA"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("SLR"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("SLZ"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SMC"));
assertEquals("MET", ResidueProperties.getCanonicalAminoAcid("SME"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("SMF"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SMP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("SMT"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SNC"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("SNN"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SOC"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("SOS"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SOY"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("SPT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("SRA"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("SSU"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("STY"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("SUB"));
assertEquals("DG", ResidueProperties.getCanonicalAminoAcid("SUI"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SUN"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("SUR"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVA"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVV"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVW"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVX"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("SVY"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("SVZ"));
assertEquals("SWG", ResidueProperties.getCanonicalAminoAcid("SWG"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("SYS"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T "));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("T11"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T23"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T2S"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("T2T"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("T31"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T32"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T36"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T37"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T38"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T39"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T3P"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T41"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T48"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T49"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T4S"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("T5O"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("T5S"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("T66"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("T6A"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TA3"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TA4"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TAF"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TAL"));
assertEquals("ASP", ResidueProperties.getCanonicalAminoAcid("TAV"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("TBG"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TBM"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("TC1"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TCP"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TCQ"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TCR"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("TCY"));
assertEquals("LEU", ResidueProperties.getCanonicalAminoAcid("TDD"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TDY"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TFE"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("TFO"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("TFQ"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TFT"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("TGP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TH6"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("THC"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("THO"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("THR"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("THX"));
assertEquals("ARG", ResidueProperties.getCanonicalAminoAcid("THZ"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("TIH"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TLB"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TLC"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("TLN"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TMB"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TMD"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("TNB"));
assertEquals("SER", ResidueProperties.getCanonicalAminoAcid("TNR"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TOX"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TP1"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("TPC"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("TPG"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TPH"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TPL"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TPO"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TPQ"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TQI"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TQQ"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRF"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("TRG"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRN"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRO"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRP"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRQ"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRW"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TRX"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TS "));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TST"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TT "));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TTD"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("TTI"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("TTM"));
assertEquals("TRP", ResidueProperties.getCanonicalAminoAcid("TTQ"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TTS"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY1"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY2"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY3"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TY5"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYB"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYI"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYJ"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYN"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYO"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYQ"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYR"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYS"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYT"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("TYU"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYW"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TYX"));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("TYY"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TZB"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("TZO"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U "));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U25"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U2L"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U2N"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U2P"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U31"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U33"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U34"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U36"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U37"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("U8U"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UAR"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UCL"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UD5"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("UDP"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("UFP"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UFR"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UFT"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("UMA"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UMP"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UMS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("UN1"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("UN2"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("UNK"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("UR3"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("URD"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("US1"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("US2"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("US3"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("US5"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("USM"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("VAD"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("VAF"));
assertEquals("VAL", ResidueProperties.getCanonicalAminoAcid("VAL"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("VB1"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VDL"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VLL"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VLM"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VMS"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("VOL"));
assertEquals("GYG", ResidueProperties.getCanonicalAminoAcid("WCR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("X "));
assertEquals("GLU", ResidueProperties.getCanonicalAminoAcid("X2W"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("X4A"));
assertEquals("AFG", ResidueProperties.getCanonicalAminoAcid("X9Q"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("XAD"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XAE"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("XAL"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XAR"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCN"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("XCP"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCR"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XCS"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCT"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("XCY"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XGA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XGL"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XGR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XGU"));
assertEquals("PRO", ResidueProperties.getCanonicalAminoAcid("XPR"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XSN"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("XTH"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("XTL"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("XTR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XTS"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("XTY"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("XUA"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("XUG"));
assertEquals("LYS", ResidueProperties.getCanonicalAminoAcid("XX1"));
assertEquals("THG", ResidueProperties.getCanonicalAminoAcid("XXY"));
assertEquals("DYG", ResidueProperties.getCanonicalAminoAcid("XYG"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("Y "));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("YCM"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("YG "));
assertEquals("TYR", ResidueProperties.getCanonicalAminoAcid("YOF"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("YRR"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("YYG"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("Z "));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("Z01"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ZAD"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ZAL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("ZBC"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("ZBU"));
assertEquals("PHE", ResidueProperties.getCanonicalAminoAcid("ZCL"));
assertEquals("CYS", ResidueProperties.getCanonicalAminoAcid("ZCY"));
assertEquals("UR3", ResidueProperties.getCanonicalAminoAcid("ZDU"));
assertEquals("XAA", ResidueProperties.getCanonicalAminoAcid("ZFB"));
assertEquals("GLY", ResidueProperties.getCanonicalAminoAcid("ZGU"));
assertEquals("ASN", ResidueProperties.getCanonicalAminoAcid("ZHP"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ZTH"));
assertEquals("THR", ResidueProperties.getCanonicalAminoAcid("ZU0"));
assertEquals("ALA", ResidueProperties.getCanonicalAminoAcid("ZZJ"));
assertEquals(null, ResidueProperties.getCanonicalAminoAcid(null));
}
@Test(groups = { "Functional" })
public void testGetSingleCharacterCode()
{
assertEquals('0', ResidueProperties.getSingleCharacterCode(null));
assertEquals('0', ResidueProperties.getSingleCharacterCode(null));
assertEquals('0', ResidueProperties.getSingleCharacterCode(""));
assertEquals('Q', ResidueProperties.getSingleCharacterCode("GLN"));
assertEquals('Q', ResidueProperties.getSingleCharacterCode("Gln"));
assertEquals('Q', ResidueProperties.getSingleCharacterCode("gln"));
}
@Test(groups = { "Functional" })
public void testGetDssp3State()
{
assertNull(ResidueProperties.getDssp3state(null));
assertEquals("", ResidueProperties.getDssp3state(""));
String foo = "0123 []<>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
String bar = " E E HHH ";
assertEquals(bar, ResidueProperties.getDssp3state(foo));
}
@Test(groups = { "Functional" })
public void testPhysicoChemicalProperties()
{
checkProperty("aromatic", "FYWH-*");
checkProperty("aliphatic", "IVL-*");
checkProperty("tiny", "GAS-*");
checkProperty("small", "VCTGACSDNP-*");
checkProperty("charged", "HKRDE-*");
checkProperty("negative", "DE-*");
checkProperty("polar", "YWHRKTSNDEQ-*X");
checkProperty("positive", "HKR-*");
checkProperty("proline", "P-*");
checkProperty("hydrophobic", "MILVFYWHKTGAC-*X");
}
/**
* Verify that the residues in the list have the named property, and other
* residues do not
*
* @param property
* @param residues
*/
void checkProperty(String property, String residues)
{
Map props = ResidueProperties.propHash.get(property);
/*
* assert residues have the property (value 1 in lookup)
*/
for (char res : residues.toCharArray())
{
assertEquals(res + " should be " + property, 1,
props.get(String.valueOf(res)).intValue());
}
/*
* assert other residues do not (value 0 in lookup)
*/
for (String res : ResidueProperties.aa)
{
if (!residues.contains(res))
{
Integer propValue = props.get(String.valueOf(res));
if (propValue != null)
{
/*
* conservation calculation assigns unexpected symbols
* the same value as '-'; here we just check those which
* explicitly do not have the property
*/
assertEquals(res + " should not be " + property, 0,
propValue.intValue());
}
}
}
}
}