ensure successive matches to a regex have distinct annotation name (indice suffix...
[jalview.git] / src / jalview / schemes / ResidueProperties.java
index 9ac87ab..98868d2 100755 (executable)
@@ -277,7 +277,8 @@ public class ResidueProperties
       new Color(60, 136, 238), // T
       new Color(60, 136, 238) // U
   };
-  public static final Color[] color =
+  // Zappo
+  public static final Color[] zappo =
       {
       Color.pink, // A
       midBlue, // R
@@ -287,7 +288,7 @@ public class ResidueProperties
       Color.green, // Q
       Color.red, // E
       Color.magenta, // G
-      Color.red, // H
+      midBlue,// Color.red, // H
       Color.pink, // I
       Color.pink, // L
       midBlue, // K
@@ -1289,4 +1290,53 @@ public class ResidueProperties
     }
     return ss.toString();
   }
+  // main method generates perl representation of residue property hash
+  /// cut here
+  public static void main(String[] args)
+  {
+    Hashtable aa = new Hashtable(); 
+    System.out.println("my %aa = {");
+    // invert property hashes
+    Enumeration prop = propHash.keys();
+    while (prop.hasMoreElements())
+    {
+      String pname = (String) prop.nextElement();
+      Hashtable phash = (Hashtable) propHash.get(pname);
+      Enumeration res = phash.keys();
+      while (res.hasMoreElements())
+      {
+        String rname = (String) res.nextElement();
+        Vector aprops = (Vector) aa.get(rname);
+        if (aprops==null)
+        {
+          aprops = new Vector();
+          aa.put(rname, aprops);
+        }
+        Integer hasprop = (Integer) phash.get(rname);
+        if (hasprop.intValue()==1)
+        {
+          aprops.addElement(pname);
+        }
+      }
+    }
+    Enumeration res = aa.keys();
+    while (res.hasMoreElements())
+    {
+      String rname = (String) res.nextElement();
+      
+      System.out.print("'"+rname+"' => [");
+      Enumeration props = ((Vector) aa.get(rname)).elements();
+      while (props.hasMoreElements())
+      {
+        System.out.print("'"+(String)props.nextElement()+"'");
+        if (props.hasMoreElements())
+        {
+          System.out.println(", ");
+        }
+      }
+      System.out.println("]"+(res.hasMoreElements() ? "," : ""));
+    }
+    System.out.println("};");
+  }
+  // to here
 }