dssp 7-state to three state lookup
authorjprocter <Jim Procter>
Mon, 30 Apr 2007 13:14:17 +0000 (13:14 +0000)
committerjprocter <Jim Procter>
Mon, 30 Apr 2007 13:14:17 +0000 (13:14 +0000)
src/jalview/schemes/ResidueProperties.java

index b14d9c6..9ac87ab 100755 (executable)
@@ -1251,4 +1251,42 @@ public class ResidueProperties
 
     return pog;
   }
+
+  public static Hashtable toDssp3State;
+  static {
+    toDssp3State = new Hashtable();
+    toDssp3State.put("H", "H");
+    toDssp3State.put("E", "E");
+    toDssp3State.put("C", " ");
+    toDssp3State.put(" ", " ");
+    toDssp3State.put("T", " ");
+    toDssp3State.put("B", "E");
+    toDssp3State.put("G", "H");
+    toDssp3State.put("I", "H");
+    toDssp3State.put("X", " ");
+  }
+  /**
+   * translate from other dssp secondary structure alphabets to 3-state
+   * @param ssstring
+   * @return ssstring as a three-state secondary structure assignment.
+   */
+  public static String getDssp3state(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 (toDssp3State.containsKey(ssc))
+      {
+        ss.append((String) toDssp3State.get(ssc));
+      } else {
+        ss.append(" ");
+      }
+    }
+    return ss.toString();
+  }
 }