JAL-1569 test for open/close RNA parenthesis character
authorJim Procter <jprocter@dundee.ac.uk>
Sun, 23 Nov 2014 16:37:33 +0000 (16:37 +0000)
committerJim Procter <jprocter@dundee.ac.uk>
Sun, 23 Nov 2014 16:37:33 +0000 (16:37 +0000)
src/jalview/schemes/ResidueProperties.java

index aca75b7..8acf1f2 100755 (executable)
@@ -1699,7 +1699,9 @@ public class ResidueProperties
    * Used by getRNASecStrucState
    * 
    */
-  public static Hashtable toRNAssState;
+  public static Hashtable<String, String> toRNAssState;
+
+  public static boolean RNAcloseParen[] = new boolean[255];
   static
   {
     toRNAssState = new Hashtable<String, String>();
@@ -1763,7 +1765,15 @@ public class ResidueProperties
     toRNAssState.put("y", "Y");
     toRNAssState.put("Z", "Z");
     toRNAssState.put("z", "Z");
-
+    for (int p = 0; p < RNAcloseParen.length; p++)
+    {
+      RNAcloseParen[p] = false;
+    }
+    for (String k : toRNAssState.keySet())
+    {
+      RNAcloseParen[k.charAt(0)] = k.charAt(0) != toRNAssState.get(k)
+              .charAt(0);
+    }
   }
 
   /**
@@ -1784,7 +1794,8 @@ public class ResidueProperties
       String ssc = ssstring.substring(i, i + 1);
       if (toRNAssState.containsKey(ssc))
       {
-        ss.append((String) toRNAssState.get(ssc));
+        // valid ss character - so return it
+        ss.append(ssc); // (String) toRNAssState.get(ssc));
       }
       else
       {
@@ -1794,6 +1805,11 @@ public class ResidueProperties
     return ss.toString();
   }
 
+  public static boolean isCloseParenRNA(char dc)
+  {
+    return RNAcloseParen[dc];
+  }
+
   // main method generates perl representation of residue property hash
   // / cut here
   public static void main(String[] args)