X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FResidueProperties.java;h=55df1d180bf46c70f89ed25f4babdc9109cddcd1;hb=3d0101179759ef157b088ea135423cd909512d9f;hp=d0d26b05bef0e2ee415d9659ae53f8ff452f9b2c;hpb=566041d3e8ca1d8783b4572a695e83784c0b6bc7;p=jalview.git diff --git a/src/jalview/schemes/ResidueProperties.java b/src/jalview/schemes/ResidueProperties.java index d0d26b0..55df1d1 100755 --- a/src/jalview/schemes/ResidueProperties.java +++ b/src/jalview/schemes/ResidueProperties.java @@ -20,12 +20,9 @@ */ package jalview.schemes; -import jalview.analysis.scoremodels.FeatureScoreModel; -import jalview.analysis.scoremodels.PIDScoreModel; -import jalview.api.analysis.ScoreModelI; - import java.awt.Color; import java.util.ArrayList; +import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.Hashtable; @@ -35,8 +32,6 @@ import java.util.Vector; public class ResidueProperties { - public static Hashtable scoreMatrices = new Hashtable(); - // Stores residue codes/names and colours and other things public static final int[] aaIndex; // aaHash version 2.1.1 and below @@ -221,38 +216,42 @@ public class ResidueProperties purinepyrimidineIndex['n'] = 2; } + private static final Integer ONE = Integer.valueOf(1); + + private static final Integer ZERO = Integer.valueOf(0); + static { - aa3Hash.put("ALA", new Integer(0)); - aa3Hash.put("ARG", new Integer(1)); - aa3Hash.put("ASN", new Integer(2)); - aa3Hash.put("ASP", new Integer(3)); // D - aa3Hash.put("CYS", new Integer(4)); - aa3Hash.put("GLN", new Integer(5)); // Q - aa3Hash.put("GLU", new Integer(6)); // E - aa3Hash.put("GLY", new Integer(7)); - aa3Hash.put("HIS", new Integer(8)); - aa3Hash.put("ILE", new Integer(9)); - aa3Hash.put("LEU", new Integer(10)); - aa3Hash.put("LYS", new Integer(11)); - aa3Hash.put("MET", new Integer(12)); - aa3Hash.put("PHE", new Integer(13)); - aa3Hash.put("PRO", new Integer(14)); - aa3Hash.put("SER", new Integer(15)); - aa3Hash.put("THR", new Integer(16)); - aa3Hash.put("TRP", new Integer(17)); - aa3Hash.put("TYR", new Integer(18)); - aa3Hash.put("VAL", new Integer(19)); + aa3Hash.put("ALA", ZERO); + aa3Hash.put("ARG", ONE); + aa3Hash.put("ASN", Integer.valueOf(2)); + aa3Hash.put("ASP", Integer.valueOf(3)); // D + aa3Hash.put("CYS", Integer.valueOf(4)); + aa3Hash.put("GLN", Integer.valueOf(5)); // Q + aa3Hash.put("GLU", Integer.valueOf(6)); // E + aa3Hash.put("GLY", Integer.valueOf(7)); + aa3Hash.put("HIS", Integer.valueOf(8)); + aa3Hash.put("ILE", Integer.valueOf(9)); + aa3Hash.put("LEU", Integer.valueOf(10)); + aa3Hash.put("LYS", Integer.valueOf(11)); + aa3Hash.put("MET", Integer.valueOf(12)); + aa3Hash.put("PHE", Integer.valueOf(13)); + aa3Hash.put("PRO", Integer.valueOf(14)); + aa3Hash.put("SER", Integer.valueOf(15)); + aa3Hash.put("THR", Integer.valueOf(16)); + aa3Hash.put("TRP", Integer.valueOf(17)); + aa3Hash.put("TYR", Integer.valueOf(18)); + aa3Hash.put("VAL", Integer.valueOf(19)); // IUB Nomenclature for ambiguous peptides - aa3Hash.put("ASX", new Integer(20)); // "B"; - aa3Hash.put("GLX", new Integer(21)); // Z - aa3Hash.put("XAA", new Integer(22)); // X unknown - aa3Hash.put("-", new Integer(23)); - aa3Hash.put("*", new Integer(23)); - aa3Hash.put(".", new Integer(23)); - aa3Hash.put(" ", new Integer(23)); - aa3Hash.put("Gap", new Integer(23)); - aa3Hash.put("UR3", new Integer(24)); + aa3Hash.put("ASX", Integer.valueOf(20)); // "B"; + aa3Hash.put("GLX", Integer.valueOf(21)); // Z + aa3Hash.put("XAA", Integer.valueOf(22)); // X unknown + aa3Hash.put("-", Integer.valueOf(23)); + aa3Hash.put("*", Integer.valueOf(23)); + aa3Hash.put(".", Integer.valueOf(23)); + aa3Hash.put(" ", Integer.valueOf(23)); + aa3Hash.put("Gap", Integer.valueOf(23)); + aa3Hash.put("UR3", Integer.valueOf(24)); } static @@ -305,24 +304,24 @@ public class ResidueProperties public static final Color midBlue = new Color(100, 100, 255); - public static final Vector scaleColours = new Vector(); - - static - { - scaleColours.addElement(new Color(114, 0, 147)); - scaleColours.addElement(new Color(156, 0, 98)); - scaleColours.addElement(new Color(190, 0, 0)); - scaleColours.addElement(Color.red); - scaleColours.addElement(new Color(255, 125, 0)); - scaleColours.addElement(Color.orange); - scaleColours.addElement(new Color(255, 194, 85)); - scaleColours.addElement(Color.yellow); - scaleColours.addElement(new Color(255, 255, 181)); - scaleColours.addElement(Color.white); - } - - public static final Color[] taylor = { new Color(204, 255, 0), // A - // Greenish-yellowy-yellow + // not currently in use + // public static final Vector scaleColours = new Vector(); + // static + // { + // scaleColours.addElement(new Color(114, 0, 147)); + // scaleColours.addElement(new Color(156, 0, 98)); + // scaleColours.addElement(new Color(190, 0, 0)); + // scaleColours.addElement(Color.red); + // scaleColours.addElement(new Color(255, 125, 0)); + // scaleColours.addElement(Color.orange); + // scaleColours.addElement(new Color(255, 194, 85)); + // scaleColours.addElement(Color.yellow); + // scaleColours.addElement(new Color(255, 255, 181)); + // scaleColours.addElement(Color.white); + // } + + public static final Color[] taylor = { new Color(204, 255, 0), + // A Greenish-yellowy-yellow new Color(0, 0, 255), // R Blueish-bluey-blue new Color(204, 0, 255), // N Blueish-reddy-blue new Color(255, 0, 0), // D Reddish-reddy-red @@ -364,8 +363,11 @@ public class ResidueProperties }; // Added for PurinePyrimidineColourScheme - public static final Color[] purinepyrimidine = { - new Color(255, 131, 250), // A, G, R purines purplish/orchid + public static final Color[] purinepyrimidine = { new Color(255, 131, 250), // A, + // G, + // R + // purines + // purplish/orchid new Color(64, 224, 208), // C,U, T, Y pyrimidines turquoise Color.white, // all other nucleotides Color.white // Gap @@ -380,7 +382,7 @@ public class ResidueProperties Color.green, // Q Color.red, // E Color.magenta, // G - midBlue,// Color.red, // H + midBlue, // Color.red, // H Color.pink, // I Color.pink, // L midBlue, // K @@ -427,9 +429,9 @@ public class ResidueProperties 0.0 // X }; - public static final double[] helix = { 1.42, 0.98, 0.67, 1.01, 0.70, - 1.11, 1.51, 0.57, 1.00, 1.08, 1.21, 1.16, 1.45, 1.13, 0.57, 0.77, - 0.83, 1.08, 0.69, 1.06, 0.84, 1.31, 1.00, 0.0 }; + public static final double[] helix = { 1.42, 0.98, 0.67, 1.01, 0.70, 1.11, + 1.51, 0.57, 1.00, 1.08, 1.21, 1.16, 1.45, 1.13, 0.57, 0.77, 0.83, + 1.08, 0.69, 1.06, 0.84, 1.31, 1.00, 0.0 }; public static final double helixmin = 0.57; @@ -451,9 +453,9 @@ public class ResidueProperties public static final double turnmax = 1.56; - public static final double[] buried = { 1.7, 0.1, 0.4, 0.4, 4.6, 0.3, - 0.3, 1.8, 0.8, 3.1, 2.4, 0.05, 1.9, 2.2, 0.6, 0.8, 0.7, 1.6, 0.5, - 2.9, 0.4, 0.3, 1.358, 0.00 }; + public static final double[] buried = { 1.7, 0.1, 0.4, 0.4, 4.6, 0.3, 0.3, + 1.8, 0.8, 3.1, 2.4, 0.05, 1.9, 2.2, 0.6, 0.8, 0.7, 1.6, 0.5, 2.9, 0.4, + 0.3, 1.358, 0.00 }; public static final double buriedmin = 0.05; @@ -472,233 +474,32 @@ public class ResidueProperties // public static final double hydmax = 1.38; // public static final double hydmin = -2.53; - private static final int[][] BLOSUM62 = { - { 4, -1, -2, -2, 0, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -3, - -2, 0, -2, -1, 0, -4 }, - { -1, 5, 0, -2, -3, 1, 0, -2, 0, -3, -2, 2, -1, -3, -2, -1, -1, -3, - -2, -3, -1, 0, -1, -4 }, - { -2, 0, 6, 1, -3, 0, 0, 0, 1, -3, -3, 0, -2, -3, -2, 1, 0, -4, -2, - -3, 3, 0, -1, -4 }, - { -2, -2, 1, 6, -3, 0, 2, -1, -1, -3, -4, -1, -3, -3, -1, 0, -1, -4, - -3, -3, 4, 1, -1, -4 }, - { 0, 3, -3, -3, 9, -3, -4, -3, -3, -1, -1, -3, -1, -2, -3, -1, -1, - -2, -2, -1, -3, -3, -2, -4 }, - { -1, 1, 0, 0, -3, 5, 2, -2, 0, -3, -2, 1, 0, -3, -1, 0, -1, -2, -1, - -2, 0, 3, -1, -4 }, - { -1, 0, 0, 2, -4, 2, 5, -2, 0, -3, -3, 1, -2, -3, -1, 0, -1, -3, -2, - -2, 1, 4, -1, -4 }, - { 0, -2, 0, -1, -3, -2, -2, 6, -2, -4, -4, -2, -3, -3, -2, 0, -2, -2, - -3, -3, -1, -2, -1, -4 }, - { -2, 0, 1, -1, -3, 0, 0, -2, 8, -3, -3, -1, -2, -1, -2, -1, -2, -2, - 2, -3, 0, 0, -1, -4 }, - { -1, -3, -3, -3, -1, -3, -3, -4, -3, 4, 2, -3, 1, 0, -3, -2, -1, -3, - -1, 3, -3, -3, -1, -4 }, - { -1, -2, -3, -4, -1, -2, -3, -4, -3, 2, 4, -2, 2, 0, -3, -2, -1, -2, - -1, 1, -4, -3, -1, -4 }, - { -1, 2, 0, -1, -3, 1, 1, -2, -1, -3, -2, 5, -1, -3, -1, 0, -1, -3, - -2, -2, 0, 1, -1, -4 }, - { -1, -1, -2, -3, -1, 0, -2, -3, -2, 1, 2, -1, 5, 0, -2, -1, -1, -1, - -1, 1, -3, -1, -1, -4 }, - { -2, -3, -3, -3, -2, -3, -3, -3, -1, 0, 0, -3, 0, 6, -4, -2, -2, 1, - 3, -1, -3, -3, -1, -4 }, - { -1, -2, -2, -1, -3, -1, -1, -2, -2, -3, -3, -1, -2, -4, 7, -1, -1, - -4, -3, -2, -2, -1, -2, -4 }, - { 1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -2, 0, -1, -2, -1, 4, 1, -3, -2, - -2, 0, 0, 0, -4 }, - { 0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 1, 5, -2, - -2, 0, -1, -1, 0, -4 }, - { -3, -3, -4, -4, -2, -2, -3, -2, -2, -3, -2, -3, -1, 1, -4, -3, -2, - 11, 2, -3, -4, -3, -2, -4 }, - { -2, -2, -2, -3, -2, -1, -2, -3, 2, -1, -1, -2, -1, 3, -3, -2, -2, - 2, 7, -1, -3, -2, -1, -4 }, - { 0, -3, -3, -3, -1, -2, -2, -3, -3, 3, 1, -2, 1, -1, -2, -2, 0, -3, - -1, 4, -3, -2, -1, -4 }, - { -2, -1, 3, 4, -3, 0, 1, -1, 0, -3, -4, 0, -3, -3, -2, 0, -1, -4, - -3, -3, 4, 1, -1, -4 }, - { -1, 0, 0, 1, -3, 3, 4, -2, 0, -3, -3, 1, -1, -3, -1, 0, -1, -3, -2, - -2, 1, 4, -1, -4 }, - { 0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, 0, 0, - -2, -1, -1, -1, -1, -1, -4 }, - { -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, - -4, -4, -4, -4, -4, -4, 1 }, }; - - static final int[][] PAM250 = { - { 2, -2, 0, 0, -2, 0, 0, 1, -1, -1, -2, -1, -1, -3, 1, 1, 1, -6, -3, - 0, 0, 0, 0, -8 }, - { -2, 6, 0, -1, -4, 1, -1, -3, 2, -2, -3, 3, 0, -4, 0, 0, -1, 2, -4, - -2, -1, 0, -1, -8 }, - { 0, 0, 2, 2, -4, 1, 1, 0, 2, -2, -3, 1, -2, -3, 0, 1, 0, -4, -2, -2, - 2, 1, 0, -8 }, - { 0, -1, 2, 4, -5, 2, 3, 1, 1, -2, -4, 0, -3, -6, -1, 0, 0, -7, -4, - -2, 3, 3, -1, -8 }, - { -2, -4, -4, -5, 12, -5, -5, -3, -3, -2, -6, -5, -5, -4, -3, 0, -2, - -8, 0, -2, -4, -5, -3, -8 }, - { 0, 1, 1, 2, -5, 4, 2, -1, 3, -2, -2, 1, -1, -5, 0, -1, -1, -5, -4, - -2, 1, 3, -1, -8 }, - { 0, -1, 1, 3, -5, 2, 4, 0, 1, -2, -3, 0, -2, -5, -1, 0, 0, -7, -4, - -2, 3, 3, -1, -8 }, - { 1, -3, 0, 1, -3, -1, 0, 5, -2, -3, -4, -2, -3, -5, 0, 1, 0, -7, -5, - -1, 0, 0, -1, -8 }, - { -1, 2, 2, 1, -3, 3, 1, -2, 6, -2, -2, 0, -2, -2, 0, -1, -1, -3, 0, - -2, 1, 2, -1, -8 }, - { -1, -2, -2, -2, -2, -2, -2, -3, -2, 5, 2, -2, 2, 1, -2, -1, 0, -5, - -1, 4, -2, -2, -1, -8 }, - { -2, -3, -3, -4, -6, -2, -3, -4, -2, 2, 6, -3, 4, 2, -3, -3, -2, -2, - -1, 2, -3, -3, -1, -8 }, - { -1, 3, 1, 0, -5, 1, 0, -2, 0, -2, -3, 5, 0, -5, -1, 0, 0, -3, -4, - -2, 1, 0, -1, -8 }, - { -1, 0, -2, -3, -5, -1, -2, -3, -2, 2, 4, 0, 6, 0, -2, -2, -1, -4, - -2, 2, -2, -2, -1, -8 }, - { -3, -4, -3, -6, -4, -5, -5, -5, -2, 1, 2, -5, 0, 9, -5, -3, -3, 0, - 7, -1, -4, -5, -2, -8 }, - { 1, 0, 0, -1, -3, 0, -1, 0, 0, -2, -3, -1, -2, -5, 6, 1, 0, -6, -5, - -1, -1, 0, -1, -8 }, - { 1, 0, 1, 0, 0, -1, 0, 1, -1, -1, -3, 0, -2, -3, 1, 2, 1, -2, -3, - -1, 0, 0, 0, -8 }, - { 1, -1, 0, 0, -2, -1, 0, 0, -1, 0, -2, 0, -1, -3, 0, 1, 3, -5, -3, - 0, 0, -1, 0, -8 }, - { -6, 2, -4, -7, -8, -5, -7, -7, -3, -5, -2, -3, -4, 0, -6, -2, -5, - 17, 0, -6, -5, -6, -4, -8 }, - { -3, -4, -2, -4, 0, -4, -4, -5, 0, -1, -1, -4, -2, 7, -5, -3, -3, 0, - 10, -2, -3, -4, -2, -8 }, - { 0, -2, -2, -2, -2, -2, -2, -1, -2, 4, 2, -2, 2, -1, -1, -1, 0, -6, - -2, 4, -2, -2, -1, -8 }, - { 0, -1, 2, 3, -4, 1, 3, 0, 1, -2, -3, 1, -2, -4, -1, 0, 0, -5, -3, - -2, 3, 2, -1, -8 }, - { 0, 0, 1, 3, -5, 3, 3, 0, 2, -2, -3, 0, -2, -5, 0, 0, -1, -6, -4, - -2, 2, 3, -1, -8 }, - { 0, -1, 0, -1, -3, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, 0, 0, -4, - -2, -1, -1, -1, -1, -8 }, - { -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, 1 }, }; - - public static final Hashtable ssHash = new Hashtable(); // stores the number - // value of the aa - static - { - ssHash.put("H", Color.magenta); - ssHash.put("E", Color.yellow); - ssHash.put("-", Color.white); - ssHash.put(".", Color.white); - ssHash.put("S", Color.cyan); - ssHash.put("T", Color.blue); - ssHash.put("G", Color.pink); - ssHash.put("I", Color.pink); - ssHash.put("B", Color.yellow); - } + // not currently used + // public static final Map ssHash = new Hashtable(); + // static + // { + // ssHash.put("H", Color.magenta); + // ssHash.put("E", Color.yellow); + // ssHash.put("-", Color.white); + // ssHash.put(".", Color.white); + // ssHash.put("S", Color.cyan); + // ssHash.put("T", Color.blue); + // ssHash.put("G", Color.pink); + // ssHash.put("I", Color.pink); + // ssHash.put("B", Color.yellow); + // } /* * new Color(60, 136, 238), // U Color.white, // I Color.white, // X * Color.white, // R Color.white, // Y Color.white, // N Color.white, // Gap */ - // JBPNote: patch matrix for T/U equivalence when working with DNA or RNA. - // Will equate sequences if working with mixed nucleotide sets. - // treats T and U identically. R and Y weak equivalence with AG and CTU. - // N matches any other base weakly - // - static final int[][] DNA = { { 10, -8, -8, -8, -8, 1, 1, 1, -8, 1, 1 }, // A - { -8, 10, -8, -8, -8, 1, 1, -8, 1, 1, 1 }, // C - { -8, -8, 10, -8, -8, 1, 1, 1, -8, 1, 1 }, // G - { -8, -8, -8, 10, 10, 1, 1, -8, 1, 1, 1 }, // T - { -8, -8, -8, 10, 10, 1, 1, -8, 1, 1, 1 }, // U - { 1, 1, 1, 1, 1, 10, 0, 0, 0, 1, 1 }, // I - { 1, 1, 1, 1, 1, 0, 10, 0, 0, 1, 1 }, // X - { 1, -8, 1, -8, -8, 0, 0, 10, -8, 1, 1 }, // R - { -8, 1, -8, 1, 1, 0, 0, -8, 10, 1, 1 }, // Y - { 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1 }, // N - { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, // - - }; - /** - * register matrices in list - */ - static - { - scoreMatrices.put("BLOSUM62", new ScoreMatrix("BLOSUM62", BLOSUM62, 0)); - scoreMatrices.put("PAM250", new ScoreMatrix("PAM250", PAM250, 0)); - scoreMatrices.put("DNA", new ScoreMatrix("DNA", DNA, 1)); - - } - - public static final Color[] pidColours = { midBlue, - new Color(153, 153, 255), - // Color.lightGray, - new Color(204, 204, 255), }; - - public static final float[] pidThresholds = { 80, 60, 40, }; - - public static Map> codonHash = new HashMap>(); - - private static List Lys = new ArrayList(); - - private static List Asn = new ArrayList(); - - private static List Gln = new ArrayList(); - - private static List His = new ArrayList(); - - private static List Glu = new ArrayList(); - - private static List Asp = new ArrayList(); - - private static List Tyr = new ArrayList(); - - private static List Thr = new ArrayList(); - - private static List Pro = new ArrayList(); - - private static List Ala = new ArrayList(); - - private static List Ser = new ArrayList(); - - private static List Arg = new ArrayList(); - - private static List Gly = new ArrayList(); - - private static List Trp = new ArrayList(); - - private static List Cys = new ArrayList(); - - private static List Ile = new ArrayList(); - - private static List Met = new ArrayList(); - - private static List Leu = new ArrayList(); - - private static List Val = new ArrayList(); - - private static List Phe = new ArrayList(); - - public static List STOP = new ArrayList(); + public static List STOP = Arrays.asList("TGA", "TAA", "TAG"); public static String START = "ATG"; - static - { - codonHash.put("K", Lys); - codonHash.put("N", Asn); - codonHash.put("Q", Gln); - codonHash.put("H", His); - codonHash.put("E", Glu); - codonHash.put("D", Asp); - codonHash.put("Y", Tyr); - codonHash.put("T", Thr); - codonHash.put("P", Pro); - codonHash.put("A", Ala); - codonHash.put("S", Ser); - codonHash.put("R", Arg); - codonHash.put("G", Gly); - codonHash.put("W", Trp); - codonHash.put("C", Cys); - codonHash.put("I", Ile); - codonHash.put("M", Met); - codonHash.put("L", Leu); - codonHash.put("V", Val); - codonHash.put("F", Phe); - codonHash.put("STOP", STOP); - } - /** * Nucleotide Ambiguity Codes */ @@ -845,16 +646,16 @@ public class ResidueProperties } else { - System.err - .println("Inconsistency in the IUBMB ambiguity code nomenclature table: collision for " + System.err.println( + "Inconsistency in the IUBMB ambiguity code nomenclature table: collision for " + acode.getKey() + " in residue " + r); } } } // and programmatically add in the ambiguity codes that yield the same amino // acid - String[] unambcodons = codonHash2.keySet().toArray( - new String[codonHash2.size()]); + String[] unambcodons = codonHash2.keySet() + .toArray(new String[codonHash2.size()]); for (String codon : unambcodons) { String residue = codonHash2.get(codon); @@ -873,7 +674,8 @@ public class ResidueProperties } } // enumerate all combinations and test for veracity of translation - int tpos[] = new int[codon.length()], cpos[] = new int[codon.length()]; + int tpos[] = new int[codon.length()], + cpos[] = new int[codon.length()]; for (int i = 0; i < tpos.length; i++) { tpos[i] = -1; @@ -885,7 +687,6 @@ public class ResidueProperties // make all codons for this combination char allres[][] = new char[tpos.length][]; String _acodon = ""; - char _anuc; for (ipos = 0; ipos < tpos.length; ipos++) { if (acodon[ipos].length == 0 || tpos[ipos] < 0) @@ -951,379 +752,294 @@ public class ResidueProperties } } } - - } - - static - { - Lys.add("AAA"); - Lys.add("AAG"); - Asn.add("AAC"); - Asn.add("AAT"); - - Gln.add("CAA"); - Gln.add("CAG"); - His.add("CAC"); - His.add("CAT"); - - Glu.add("GAA"); - Glu.add("GAG"); - Asp.add("GAC"); - Asp.add("GAT"); - - Tyr.add("TAC"); - Tyr.add("TAT"); - - Thr.add("ACA"); - Thr.add("ACG"); - Thr.add("ACC"); - Thr.add("ACT"); - - Pro.add("CCA"); - Pro.add("CCG"); - Pro.add("CCC"); - Pro.add("CCT"); - - Ala.add("GCA"); - Ala.add("GCG"); - Ala.add("GCC"); - Ala.add("GCT"); - - Ser.add("TCA"); - Ser.add("TCG"); - Ser.add("TCC"); - Ser.add("TCT"); - Ser.add("AGC"); - Ser.add("AGT"); - - Arg.add("AGA"); - Arg.add("AGG"); - Arg.add("CGA"); - Arg.add("CGG"); - Arg.add("CGC"); - Arg.add("CGT"); - - Gly.add("GGA"); - Gly.add("GGG"); - Gly.add("GGC"); - Gly.add("GGT"); - - STOP.add("TGA"); - STOP.add("TAA"); - STOP.add("TAG"); - - Trp.add("TGG"); - - Cys.add("TGC"); - Cys.add("TGT"); - - Ile.add("ATA"); - Ile.add("ATC"); - Ile.add("ATT"); - - Met.add("ATG"); - - Leu.add("CTA"); - Leu.add("CTG"); - Leu.add("CTC"); - Leu.add("CTT"); - Leu.add("TTA"); - Leu.add("TTG"); - - Val.add("GTA"); - Val.add("GTG"); - Val.add("GTC"); - Val.add("GTT"); - - Phe.add("TTC"); - Phe.add("TTT"); } // Stores residue codes/names and colours and other things - public static Hashtable propHash = new Hashtable(); + public static Map> propHash = new Hashtable>(); - public static Hashtable hydrophobic = new Hashtable(); + public static Map hydrophobic = new Hashtable(); - public static Hashtable polar = new Hashtable(); + public static Map polar = new Hashtable(); - public static Hashtable small = new Hashtable(); + public static Map small = new Hashtable(); - public static Hashtable positive = new Hashtable(); + public static Map positive = new Hashtable(); - public static Hashtable negative = new Hashtable(); + public static Map negative = new Hashtable(); - public static Hashtable charged = new Hashtable(); + public static Map charged = new Hashtable(); - public static Hashtable aromatic = new Hashtable(); + public static Map aromatic = new Hashtable(); - public static Hashtable aliphatic = new Hashtable(); + public static Map aliphatic = new Hashtable(); - public static Hashtable tiny = new Hashtable(); + public static Map tiny = new Hashtable(); - public static Hashtable proline = new Hashtable(); + public static Map proline = new Hashtable(); static { - hydrophobic.put("I", new Integer(1)); - hydrophobic.put("L", new Integer(1)); - hydrophobic.put("V", new Integer(1)); - hydrophobic.put("C", new Integer(1)); - hydrophobic.put("A", new Integer(1)); - hydrophobic.put("G", new Integer(1)); - hydrophobic.put("M", new Integer(1)); - hydrophobic.put("F", new Integer(1)); - hydrophobic.put("Y", new Integer(1)); - hydrophobic.put("W", new Integer(1)); - hydrophobic.put("H", new Integer(1)); - hydrophobic.put("K", new Integer(1)); - hydrophobic.put("X", new Integer(1)); - hydrophobic.put("-", new Integer(1)); - hydrophobic.put("*", new Integer(1)); - hydrophobic.put("R", new Integer(0)); - hydrophobic.put("E", new Integer(0)); - hydrophobic.put("Q", new Integer(0)); - hydrophobic.put("D", new Integer(0)); - hydrophobic.put("N", new Integer(0)); - hydrophobic.put("S", new Integer(0)); - hydrophobic.put("T", new Integer(0)); - hydrophobic.put("P", new Integer(0)); + hydrophobic.put("I", ONE); + hydrophobic.put("L", ONE); + hydrophobic.put("V", ONE); + hydrophobic.put("C", ONE); + hydrophobic.put("A", ONE); + hydrophobic.put("G", ONE); + hydrophobic.put("M", ONE); + hydrophobic.put("F", ONE); + hydrophobic.put("Y", ONE); + hydrophobic.put("W", ONE); + hydrophobic.put("H", ONE); + hydrophobic.put("K", ONE); + hydrophobic.put("X", ONE); + hydrophobic.put("-", ONE); + hydrophobic.put("*", ONE); + hydrophobic.put("R", ZERO); + hydrophobic.put("E", ZERO); + hydrophobic.put("Q", ZERO); + hydrophobic.put("D", ZERO); + hydrophobic.put("N", ZERO); + hydrophobic.put("S", ZERO); + hydrophobic.put("T", ONE); + hydrophobic.put("P", ZERO); } static { - polar.put("Y", new Integer(1)); - polar.put("W", new Integer(1)); - polar.put("H", new Integer(1)); - polar.put("K", new Integer(1)); - polar.put("R", new Integer(1)); - polar.put("E", new Integer(1)); - polar.put("Q", new Integer(1)); - polar.put("D", new Integer(1)); - polar.put("N", new Integer(1)); - polar.put("S", new Integer(1)); - polar.put("T", new Integer(1)); - polar.put("X", new Integer(1)); - polar.put("-", new Integer(1)); - polar.put("*", new Integer(1)); - polar.put("I", new Integer(0)); - polar.put("L", new Integer(0)); - polar.put("V", new Integer(0)); - polar.put("C", new Integer(0)); - polar.put("A", new Integer(0)); - polar.put("G", new Integer(0)); - polar.put("M", new Integer(0)); - polar.put("F", new Integer(0)); - polar.put("P", new Integer(0)); + polar.put("Y", ONE); + polar.put("W", ONE); + polar.put("H", ONE); + polar.put("K", ONE); + polar.put("R", ONE); + polar.put("E", ONE); + polar.put("Q", ONE); + polar.put("D", ONE); + polar.put("N", ONE); + polar.put("S", ONE); + polar.put("T", ONE); + polar.put("X", ONE); + polar.put("-", ONE); + polar.put("*", ONE); + polar.put("I", ZERO); + polar.put("L", ZERO); + polar.put("V", ZERO); + polar.put("C", ZERO); + polar.put("A", ZERO); + polar.put("G", ZERO); + polar.put("M", ZERO); + polar.put("F", ZERO); + polar.put("P", ZERO); } static { - small.put("I", new Integer(0)); - small.put("L", new Integer(0)); - small.put("V", new Integer(1)); - small.put("C", new Integer(1)); - small.put("A", new Integer(1)); - small.put("G", new Integer(1)); - small.put("M", new Integer(0)); - small.put("F", new Integer(0)); - small.put("Y", new Integer(0)); - small.put("W", new Integer(0)); - small.put("H", new Integer(0)); - small.put("K", new Integer(0)); - small.put("R", new Integer(0)); - small.put("E", new Integer(0)); - small.put("Q", new Integer(0)); - small.put("D", new Integer(1)); - small.put("N", new Integer(1)); - small.put("S", new Integer(1)); - small.put("T", new Integer(1)); - small.put("P", new Integer(1)); - small.put("-", new Integer(1)); - small.put("*", new Integer(1)); + small.put("I", ZERO); + small.put("L", ZERO); + small.put("V", ONE); + small.put("C", ONE); + small.put("A", ONE); + small.put("G", ONE); + small.put("M", ZERO); + small.put("F", ZERO); + small.put("Y", ZERO); + small.put("W", ZERO); + small.put("H", ZERO); + small.put("K", ZERO); + small.put("R", ZERO); + small.put("E", ZERO); + small.put("Q", ZERO); + small.put("D", ONE); + small.put("N", ONE); + small.put("S", ONE); + small.put("T", ONE); + small.put("P", ONE); + small.put("-", ONE); + small.put("*", ONE); } static { - positive.put("I", new Integer(0)); - positive.put("L", new Integer(0)); - positive.put("V", new Integer(0)); - positive.put("C", new Integer(0)); - positive.put("A", new Integer(0)); - positive.put("G", new Integer(0)); - positive.put("M", new Integer(0)); - positive.put("F", new Integer(0)); - positive.put("Y", new Integer(0)); - positive.put("W", new Integer(0)); - positive.put("H", new Integer(1)); - positive.put("K", new Integer(1)); - positive.put("R", new Integer(1)); - positive.put("E", new Integer(0)); - positive.put("Q", new Integer(0)); - positive.put("D", new Integer(0)); - positive.put("N", new Integer(0)); - positive.put("S", new Integer(0)); - positive.put("T", new Integer(0)); - positive.put("P", new Integer(0)); - positive.put("-", new Integer(1)); - positive.put("*", new Integer(1)); + positive.put("I", ZERO); + positive.put("L", ZERO); + positive.put("V", ZERO); + positive.put("C", ZERO); + positive.put("A", ZERO); + positive.put("G", ZERO); + positive.put("M", ZERO); + positive.put("F", ZERO); + positive.put("Y", ZERO); + positive.put("W", ZERO); + positive.put("H", ONE); + positive.put("K", ONE); + positive.put("R", ONE); + positive.put("E", ZERO); + positive.put("Q", ZERO); + positive.put("D", ZERO); + positive.put("N", ZERO); + positive.put("S", ZERO); + positive.put("T", ZERO); + positive.put("P", ZERO); + positive.put("-", ONE); + positive.put("*", ONE); } static { - negative.put("I", new Integer(0)); - negative.put("L", new Integer(0)); - negative.put("V", new Integer(0)); - negative.put("C", new Integer(0)); - negative.put("A", new Integer(0)); - negative.put("G", new Integer(0)); - negative.put("M", new Integer(0)); - negative.put("F", new Integer(0)); - negative.put("Y", new Integer(0)); - negative.put("W", new Integer(0)); - negative.put("H", new Integer(0)); - negative.put("K", new Integer(0)); - negative.put("R", new Integer(0)); - negative.put("E", new Integer(1)); - negative.put("Q", new Integer(0)); - negative.put("D", new Integer(1)); - negative.put("N", new Integer(0)); - negative.put("S", new Integer(0)); - negative.put("T", new Integer(0)); - negative.put("P", new Integer(0)); - negative.put("-", new Integer(1)); - negative.put("*", new Integer(1)); + negative.put("I", ZERO); + negative.put("L", ZERO); + negative.put("V", ZERO); + negative.put("C", ZERO); + negative.put("A", ZERO); + negative.put("G", ZERO); + negative.put("M", ZERO); + negative.put("F", ZERO); + negative.put("Y", ZERO); + negative.put("W", ZERO); + negative.put("H", ZERO); + negative.put("K", ZERO); + negative.put("R", ZERO); + negative.put("E", ONE); + negative.put("Q", ZERO); + negative.put("D", ONE); + negative.put("N", ZERO); + negative.put("S", ZERO); + negative.put("T", ZERO); + negative.put("P", ZERO); + negative.put("-", ONE); + negative.put("*", ONE); } static { - charged.put("I", new Integer(0)); - charged.put("L", new Integer(0)); - charged.put("V", new Integer(0)); - charged.put("C", new Integer(0)); - charged.put("A", new Integer(0)); - charged.put("G", new Integer(0)); - charged.put("M", new Integer(0)); - charged.put("F", new Integer(0)); - charged.put("Y", new Integer(0)); - charged.put("W", new Integer(0)); - charged.put("H", new Integer(1)); - charged.put("K", new Integer(1)); - charged.put("R", new Integer(1)); - charged.put("E", new Integer(1)); - charged.put("Q", new Integer(0)); - charged.put("D", new Integer(1)); - charged.put("N", new Integer(0)); // Asparagine is polar but not charged. - // Alternative would be charged and - // negative (in basic form)? - charged.put("S", new Integer(0)); - charged.put("T", new Integer(0)); - charged.put("P", new Integer(0)); - charged.put("-", new Integer(1)); - charged.put("*", new Integer(1)); + charged.put("I", ZERO); + charged.put("L", ZERO); + charged.put("V", ZERO); + charged.put("C", ZERO); + charged.put("A", ZERO); + charged.put("G", ZERO); + charged.put("M", ZERO); + charged.put("F", ZERO); + charged.put("Y", ZERO); + charged.put("W", ZERO); + charged.put("H", ONE); + charged.put("K", ONE); + charged.put("R", ONE); + charged.put("E", ONE); + charged.put("Q", ZERO); + charged.put("D", ONE); + charged.put("N", ZERO); // Asparagine is polar but not + // charged. + // Alternative would be charged and + // negative (in basic form)? + charged.put("S", ZERO); + charged.put("T", ZERO); + charged.put("P", ZERO); + charged.put("-", ONE); + charged.put("*", ONE); } static { - aromatic.put("I", new Integer(0)); - aromatic.put("L", new Integer(0)); - aromatic.put("V", new Integer(0)); - aromatic.put("C", new Integer(0)); - aromatic.put("A", new Integer(0)); - aromatic.put("G", new Integer(0)); - aromatic.put("M", new Integer(0)); - aromatic.put("F", new Integer(1)); - aromatic.put("Y", new Integer(1)); - aromatic.put("W", new Integer(1)); - aromatic.put("H", new Integer(1)); - aromatic.put("K", new Integer(0)); - aromatic.put("R", new Integer(0)); - aromatic.put("E", new Integer(0)); - aromatic.put("Q", new Integer(0)); - aromatic.put("D", new Integer(0)); - aromatic.put("N", new Integer(0)); - aromatic.put("S", new Integer(0)); - aromatic.put("T", new Integer(0)); - aromatic.put("P", new Integer(0)); - aromatic.put("-", new Integer(1)); - aromatic.put("*", new Integer(1)); + aromatic.put("I", ZERO); + aromatic.put("L", ZERO); + aromatic.put("V", ZERO); + aromatic.put("C", ZERO); + aromatic.put("A", ZERO); + aromatic.put("G", ZERO); + aromatic.put("M", ZERO); + aromatic.put("F", ONE); + aromatic.put("Y", ONE); + aromatic.put("W", ONE); + aromatic.put("H", ONE); + aromatic.put("K", ZERO); + aromatic.put("R", ZERO); + aromatic.put("E", ZERO); + aromatic.put("Q", ZERO); + aromatic.put("D", ZERO); + aromatic.put("N", ZERO); + aromatic.put("S", ZERO); + aromatic.put("T", ZERO); + aromatic.put("P", ZERO); + aromatic.put("-", ONE); + aromatic.put("*", ONE); } static { - aliphatic.put("I", new Integer(1)); - aliphatic.put("L", new Integer(1)); - aliphatic.put("V", new Integer(1)); - aliphatic.put("C", new Integer(0)); - aliphatic.put("A", new Integer(0)); - aliphatic.put("G", new Integer(0)); - aliphatic.put("M", new Integer(0)); - aliphatic.put("F", new Integer(0)); - aliphatic.put("Y", new Integer(0)); - aliphatic.put("W", new Integer(0)); - aliphatic.put("H", new Integer(0)); - aliphatic.put("K", new Integer(0)); - aliphatic.put("R", new Integer(0)); - aliphatic.put("E", new Integer(0)); - aliphatic.put("Q", new Integer(0)); - aliphatic.put("D", new Integer(0)); - aliphatic.put("N", new Integer(0)); - aliphatic.put("S", new Integer(0)); - aliphatic.put("T", new Integer(0)); - aliphatic.put("P", new Integer(0)); - aliphatic.put("-", new Integer(1)); - aliphatic.put("*", new Integer(1)); + aliphatic.put("I", ONE); + aliphatic.put("L", ONE); + aliphatic.put("V", ONE); + aliphatic.put("C", ZERO); + aliphatic.put("A", ZERO); + aliphatic.put("G", ZERO); + aliphatic.put("M", ZERO); + aliphatic.put("F", ZERO); + aliphatic.put("Y", ZERO); + aliphatic.put("W", ZERO); + aliphatic.put("H", ZERO); + aliphatic.put("K", ZERO); + aliphatic.put("R", ZERO); + aliphatic.put("E", ZERO); + aliphatic.put("Q", ZERO); + aliphatic.put("D", ZERO); + aliphatic.put("N", ZERO); + aliphatic.put("S", ZERO); + aliphatic.put("T", ZERO); + aliphatic.put("P", ZERO); + aliphatic.put("-", ONE); + aliphatic.put("*", ONE); } static { - tiny.put("I", new Integer(0)); - tiny.put("L", new Integer(0)); - tiny.put("V", new Integer(0)); - tiny.put("C", new Integer(0)); - tiny.put("A", new Integer(1)); - tiny.put("G", new Integer(1)); - tiny.put("M", new Integer(0)); - tiny.put("F", new Integer(0)); - tiny.put("Y", new Integer(0)); - tiny.put("W", new Integer(0)); - tiny.put("H", new Integer(0)); - tiny.put("K", new Integer(0)); - tiny.put("R", new Integer(0)); - tiny.put("E", new Integer(0)); - tiny.put("Q", new Integer(0)); - tiny.put("D", new Integer(0)); - tiny.put("N", new Integer(0)); - tiny.put("S", new Integer(1)); - tiny.put("T", new Integer(0)); - tiny.put("P", new Integer(0)); - tiny.put("-", new Integer(1)); - tiny.put("*", new Integer(1)); + tiny.put("I", ZERO); + tiny.put("L", ZERO); + tiny.put("V", ZERO); + tiny.put("C", ZERO); + tiny.put("A", ONE); + tiny.put("G", ONE); + tiny.put("M", ZERO); + tiny.put("F", ZERO); + tiny.put("Y", ZERO); + tiny.put("W", ZERO); + tiny.put("H", ZERO); + tiny.put("K", ZERO); + tiny.put("R", ZERO); + tiny.put("E", ZERO); + tiny.put("Q", ZERO); + tiny.put("D", ZERO); + tiny.put("N", ZERO); + tiny.put("S", ONE); + tiny.put("T", ZERO); + tiny.put("P", ZERO); + tiny.put("-", ONE); + tiny.put("*", ONE); } static { - proline.put("I", new Integer(0)); - proline.put("L", new Integer(0)); - proline.put("V", new Integer(0)); - proline.put("C", new Integer(0)); - proline.put("A", new Integer(0)); - proline.put("G", new Integer(0)); - proline.put("M", new Integer(0)); - proline.put("F", new Integer(0)); - proline.put("Y", new Integer(0)); - proline.put("W", new Integer(0)); - proline.put("H", new Integer(0)); - proline.put("K", new Integer(0)); - proline.put("R", new Integer(0)); - proline.put("E", new Integer(0)); - proline.put("Q", new Integer(0)); - proline.put("D", new Integer(0)); - proline.put("N", new Integer(0)); - proline.put("S", new Integer(0)); - proline.put("T", new Integer(0)); - proline.put("P", new Integer(1)); - proline.put("-", new Integer(1)); - proline.put("*", new Integer(1)); + proline.put("I", ZERO); + proline.put("L", ZERO); + proline.put("V", ZERO); + proline.put("C", ZERO); + proline.put("A", ZERO); + proline.put("G", ZERO); + proline.put("M", ZERO); + proline.put("F", ZERO); + proline.put("Y", ZERO); + proline.put("W", ZERO); + proline.put("H", ZERO); + proline.put("K", ZERO); + proline.put("R", ZERO); + proline.put("E", ZERO); + proline.put("Q", ZERO); + proline.put("D", ZERO); + proline.put("N", ZERO); + proline.put("S", ZERO); + proline.put("T", ZERO); + proline.put("P", ONE); + proline.put("-", ONE); + proline.put("*", ONE); } static @@ -1341,7 +1057,9 @@ public class ResidueProperties } static { - int[][] propMatrixF = new int[maxProteinIndex][maxProteinIndex], propMatrixPos = new int[maxProteinIndex][maxProteinIndex], propMatrixEpos = new int[maxProteinIndex][maxProteinIndex]; + int[][] propMatrixF = new int[maxProteinIndex][maxProteinIndex], + propMatrixPos = new int[maxProteinIndex][maxProteinIndex], + propMatrixEpos = new int[maxProteinIndex][maxProteinIndex]; for (int i = 0; i < maxProteinIndex; i++) { int maxF = 0, maxP = 0, maxEP = 0; @@ -1368,11 +1086,9 @@ public class ResidueProperties propMatrixF[i][j] = 0; propMatrixPos[i][j] = 0; propMatrixEpos[i][j] = 0; - for (Enumeration en = propHash.keys(); en.hasMoreElements();) + for (String ph : propHash.keySet()) { - String ph = en.nextElement(); - Map pph = (Map) propHash - .get(ph); + Map pph = propHash.get(ph); if (pph.get(ic) != null && pph.get(jc) != null) { int icp = pph.get(ic).intValue(), jcp = pph.get(jc).intValue(); @@ -1402,15 +1118,6 @@ public class ResidueProperties propMatrixPos[i][i] = maxP; propMatrixEpos[i][i] = maxEP; } - // JAL-1512 comment out physicochemical score matrices for 2.8.1 release - // scoreMatrices.put("Conservation Pos", new - // ScoreMatrix("Conservation Pos",propMatrixPos,0)); - // scoreMatrices.put("Conservation Both", new - // ScoreMatrix("Conservation Both",propMatrixF,0)); - // scoreMatrices.put("Conservation EnhPos", new - // ScoreMatrix("Conservation EnhPos",propMatrixEpos,0)); - scoreMatrices.put("PID", new PIDScoreModel()); - scoreMatrices.put("Displayed Features", new FeatureScoreModel()); } private ResidueProperties() @@ -1437,55 +1144,8 @@ public class ResidueProperties return aa3Hash; } - public static int[][] getDNA() - { - return ResidueProperties.DNA; - } - - public static int[][] getBLOSUM62() - { - return ResidueProperties.BLOSUM62; - } - - public static int getPAM250(String A1, String A2) - { - return getPAM250(A1.charAt(0), A2.charAt(0)); - } - - public static int getBLOSUM62(char c1, char c2) - { - int pog = 0; - - try - { - int a = aaIndex[c1]; - int b = aaIndex[c2]; - - pog = ResidueProperties.BLOSUM62[a][b]; - } catch (Exception e) - { - // System.out.println("Unknown residue in " + A1 + " " + A2); - } - - return pog; - } - - public static Vector getCodons(String res) - { - if (codonHash.containsKey(res)) - { - return (Vector) codonHash.get(res); - } - - return null; - } - public static String codonTranslate(String lccodon) { - if (false) - { - return _codonTranslate(lccodon); - } String cdn = codonHash2.get(lccodon.toUpperCase()); if ("*".equals(cdn)) { @@ -1494,76 +1154,10 @@ public class ResidueProperties return cdn; } - public static String _codonTranslate(String lccodon) - { - String codon = lccodon.toUpperCase(); - // all base ambiguity codes yield an 'X' amino acid residue - if (codon.indexOf('X') > -1 || codon.indexOf('N') > -1) - { - return "X"; - } - for (String key : codonHash.keySet()) - { - if (codonHash.get(key).contains(codon)) - { - return key; - } - } - - return null; - } - - public static int[][] getDefaultPeptideMatrix() - { - return ResidueProperties.getBLOSUM62(); - } - - public static int[][] getDefaultDnaMatrix() - { - return ResidueProperties.getDNA(); - } - - /** - * get a ScoreMatrix based on its string name - * - * @param pwtype - * @return matrix in scoreMatrices with key pwtype or null - */ - public static ScoreMatrix getScoreMatrix(String pwtype) - { - Object val = scoreMatrices.get(pwtype); - if (val != null && val instanceof ScoreMatrix) - { - return (ScoreMatrix) val; - } - return null; - } - - /** - * get a ScoreModel based on its string name - * - * @param pwtype - * @return scoremodel of type pwtype or null - */ - public static ScoreModelI getScoreModel(String pwtype) - { - return scoreMatrices.get(pwtype); - } - - public static int getPAM250(char c, char d) - { - int a = aaIndex[c]; - int b = aaIndex[d]; - - int pog = ResidueProperties.PAM250[a][b]; - - return pog; - } - - public static Hashtable toDssp3State; + public static Hashtable toDssp3State; static { - toDssp3State = new Hashtable(); + toDssp3State = new Hashtable(); toDssp3State.put("H", "H"); toDssp3State.put("E", "E"); toDssp3State.put("C", " "); @@ -1593,7 +1187,7 @@ public class ResidueProperties String ssc = ssstring.substring(i, i + 1); if (toDssp3State.containsKey(ssc)) { - ss.append((String) toDssp3State.get(ssc)); + ss.append(toDssp3State.get(ssc)); } else { @@ -2921,51 +2515,47 @@ public class ResidueProperties } - public static String getCanonicalAminoAcid(String aa) + public static String getCanonicalAminoAcid(String aA) { - String canonical = modifications.get(aa); - return canonical == null ? aa : canonical; + String canonical = modifications.get(aA); + return canonical == null ? aA : canonical; } // main method generates perl representation of residue property hash // / cut here public static void main(String[] args) { - Hashtable aa = new Hashtable(); + Hashtable> aaProps = new Hashtable>(); System.out.println("my %aa = {"); // invert property hashes - Enumeration prop = propHash.keys(); - while (prop.hasMoreElements()) + for (String pname : propHash.keySet()) { - String pname = (String) prop.nextElement(); - Hashtable phash = (Hashtable) propHash.get(pname); - Enumeration res = phash.keys(); - while (res.hasMoreElements()) + Map phash = propHash.get(pname); + for (String rname : phash.keySet()) { - String rname = (String) res.nextElement(); - Vector aprops = (Vector) aa.get(rname); + Vector aprops = aaProps.get(rname); if (aprops == null) { - aprops = new Vector(); - aa.put(rname, aprops); + aprops = new Vector(); + aaProps.put(rname, aprops); } - Integer hasprop = (Integer) phash.get(rname); + Integer hasprop = phash.get(rname); if (hasprop.intValue() == 1) { aprops.addElement(pname); } } } - Enumeration res = aa.keys(); + Enumeration res = aaProps.keys(); while (res.hasMoreElements()) { - String rname = (String) res.nextElement(); + String rname = res.nextElement(); System.out.print("'" + rname + "' => ["); - Enumeration props = ((Vector) aa.get(rname)).elements(); + Enumeration props = aaProps.get(rname).elements(); while (props.hasMoreElements()) { - System.out.print("'" + (String) props.nextElement() + "'"); + System.out.print("'" + props.nextElement() + "'"); if (props.hasMoreElements()) { System.out.println(", "); @@ -2981,15 +2571,15 @@ public class ResidueProperties /** * Returns a list of residue characters for the specified inputs * - * @param nucleotide + * @param forNucleotide * @param includeAmbiguous * @return */ - public static List getResidues(boolean nucleotide, + public static List getResidues(boolean forNucleotide, boolean includeAmbiguous) { List result = new ArrayList(); - if (nucleotide) + if (forNucleotide) { for (String nuc : nucleotideName.keySet()) { @@ -3041,8 +2631,8 @@ public class ResidueProperties { return '0'; } - Integer index = ResidueProperties.aa3Hash.get(threeLetterCode - .toUpperCase()); + Integer index = ResidueProperties.aa3Hash + .get(threeLetterCode.toUpperCase()); return index == null ? '0' : aa[index].charAt(0); } }