X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FResidueProperties.java;h=4c8394ff147a72f91e7b18f8fbbd0eda7b927a5c;hb=3e51d4b043f8ac3e262f9b3660ec1f8561d1db93;hp=67211cd5434f6a32dc8bb93f4610c7a74a855256;hpb=153dd62dc91da13ae732600e6ea55ddbe15eab39;p=jalview.git diff --git a/src/jalview/schemes/ResidueProperties.java b/src/jalview/schemes/ResidueProperties.java index 67211cd..4c8394f 100755 --- a/src/jalview/schemes/ResidueProperties.java +++ b/src/jalview/schemes/ResidueProperties.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle * * This file is part of Jalview. * @@ -30,6 +30,8 @@ public class ResidueProperties public static final int[] nucleotideIndex; + public static final int[] purinepyrimidineIndex; + public static final Hashtable aa3Hash = new Hashtable(); public static final Hashtable aa2Triplet = new Hashtable(); @@ -144,6 +146,54 @@ public class ResidueProperties nucleotideName.put("y", "Unknown Pyrimidine"); nucleotideName.put("N", "Unknown"); nucleotideName.put("n", "Unknown"); + nucleotideName.put("W", "Weak nucleotide (A or T)"); + nucleotideName.put("w", "Weak nucleotide (A or T)"); + nucleotideName.put("S", "Strong nucleotide (G or C)"); + nucleotideName.put("s", "Strong nucleotide (G or C)"); + nucleotideName.put("M", "Amino (A or C)"); + nucleotideName.put("m", "Amino (A or C)"); + nucleotideName.put("K", "Keto (G or T)"); + nucleotideName.put("k", "Keto (G or T)"); + nucleotideName.put("B", "Not A (G or C or T)"); + nucleotideName.put("b", "Not A (G or C or T)"); + nucleotideName.put("H", "Not G (A or C or T)"); + nucleotideName.put("h", "Not G (A or C or T)"); + nucleotideName.put("D", "Not C (A or G or T)"); + nucleotideName.put("d", "Not C (A or G or T)"); + nucleotideName.put("V", "Not T (A or G or C"); + nucleotideName.put("v", "Not T (A or G or C"); + + } + + static + { + purinepyrimidineIndex = new int[255]; + for (int i = 0; i < 255; i++) + { + purinepyrimidineIndex[i] = 3; // non-nucleotide symbols are all non-gap + // gaps. + } + + purinepyrimidineIndex['A'] = 0; + purinepyrimidineIndex['a'] = 0; + purinepyrimidineIndex['C'] = 1; + purinepyrimidineIndex['c'] = 1; + purinepyrimidineIndex['G'] = 0; + purinepyrimidineIndex['g'] = 0; + purinepyrimidineIndex['T'] = 1; + purinepyrimidineIndex['t'] = 1; + purinepyrimidineIndex['U'] = 1; + purinepyrimidineIndex['u'] = 1; + purinepyrimidineIndex['I'] = 2; + purinepyrimidineIndex['i'] = 2; + purinepyrimidineIndex['X'] = 2; + purinepyrimidineIndex['x'] = 2; + purinepyrimidineIndex['R'] = 0; + purinepyrimidineIndex['r'] = 0; + purinepyrimidineIndex['Y'] = 1; + purinepyrimidineIndex['y'] = 1; + purinepyrimidineIndex['N'] = 2; + purinepyrimidineIndex['n'] = 2; } static @@ -280,14 +330,22 @@ public class ResidueProperties new Color(235, 65, 60), // G new Color(60, 136, 238), // T new Color(60, 136, 238), // U - Color.white, // I - Color.white, // X + Color.white, // I (inosine) + Color.white, // X (xanthine) Color.white, // R Color.white, // Y Color.white, // N Color.white, // Gap }; + // Added for PurinePyrimidineColourScheme + 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 + }; + // Zappo public static final Color[] zappo = { Color.pink, // A @@ -540,7 +598,7 @@ public class ResidueProperties public static final Color[] pidColours = { midBlue, new Color(153, 153, 255), - // Color.lightGray, + // Color.lightGray, new Color(204, 204, 255), }; public static final float[] pidThresholds = @@ -1258,6 +1316,46 @@ public class ResidueProperties return ss.toString(); } + /** + * Used by getRNASecStrucState + * + */ + public static Hashtable toRNAssState; + static + { + toRNAssState = new Hashtable(); + toRNAssState.put(")", "S"); + toRNAssState.put("(", "S"); + } + + /** + * translate to RNA secondary structure representation + * + * @param ssstring + * @return ssstring as a RNA-state secondary structure assignment. + */ + public static String getRNASecStrucState(String ssstring) + { + if (ssstring == null) + { + return null; + } + StringBuffer ss = new StringBuffer(); + for (int i = 0; i < ssstring.length(); i++) + { + String ssc = ssstring.substring(i, i + 1); + if (toRNAssState.containsKey(ssc)) + { + ss.append((String) toRNAssState.get(ssc)); + } + else + { + ss.append(" "); + } + } + return ss.toString(); + } + // main method generates perl representation of residue property hash // / cut here public static void main(String[] args)