patch for JAL-1465 - set min/max thresholds for each disorder annotation row
authorJim Procter <jprocter@dundee.ac.uk>
Tue, 15 Apr 2014 15:21:02 +0000 (16:21 +0100)
committerJim Procter <jprocter@dundee.ac.uk>
Mon, 21 Apr 2014 13:09:17 +0000 (14:09 +0100)
src/jalview/ws/jws2/AADisorderClient.java

index 630c974..49a904c 100644 (file)
@@ -47,6 +47,7 @@ public class AADisorderClient extends JabawsCalcWorker implements
 {
 
   private static final String THRESHOLD = "THRESHOLD";
+  private static final String RANGE = "RANGE";
 
   String typeName;
 
@@ -118,6 +119,9 @@ public class AADisorderClient extends JabawsCalcWorker implements
     amap.get("Dydx").put(DONTCOMBINE, DONTCOMBINE);
     amap.get("Dydx").put(THRESHOLD, new double[]
     { 1, 0 });
+    amap.get("Dydx").put(RANGE, new float[]
+            { -1, +1 });
+
     amap.put("SmoothedScore", new HashMap<String, Object>());
     amap.get("SmoothedScore").put(INVISIBLE, INVISIBLE);
     amap.put("RawScore", new HashMap<String, Object>());
@@ -129,10 +133,18 @@ public class AADisorderClient extends JabawsCalcWorker implements
     amap.put("REM465", new HashMap<String, Object>());
     amap.get("COILS").put(THRESHOLD, new double[]
     { 1, 0.516 });
+    amap.get("COILS").put(RANGE, new float[]
+            { 0, 1 });
+
     amap.get("HOTLOOPS").put(THRESHOLD, new double[]
     { 1, 0.6 });
+    amap.get("HOTLOOPS").put(RANGE, new float[]
+            { 0, 1 });
     amap.get("REM465").put(THRESHOLD, new double[]
     { 1, 0.1204 });
+    amap.get("REM465").put(RANGE, new float[]
+            { 0, 1 });
+
 
     annotMap.put(compbio.ws.client.Services.IUPredWS.toString(),
             amap = new HashMap<String, Map<String, Object>>());
@@ -140,13 +152,19 @@ public class AADisorderClient extends JabawsCalcWorker implements
     amap.put("Short", new HashMap<String, Object>());
     amap.get("Long").put(THRESHOLD, new double[]
     { 1, 0.5 });
+    amap.get("Long").put(RANGE, new float[]
+            { 0, 1 });
     amap.get("Short").put(THRESHOLD, new double[]
     { 1, 0.5 });
+    amap.get("Short").put(RANGE, new float[]
+            { 0, 1 });
     annotMap.put(compbio.ws.client.Services.JronnWS.toString(),
             amap = new HashMap<String, Map<String, Object>>());
     amap.put("JRonn", new HashMap<String, Object>());
     amap.get("JRonn").put(THRESHOLD, new double[]
     { 1, 0.5 });
+    amap.get("JRonn").put(RANGE, new float[]
+            { 0, 1 });
   }
 
   @Override
@@ -244,16 +262,21 @@ public class AADisorderClient extends JabawsCalcWorker implements
                       service.getServiceTypeURI() + "/" + scr.getMethod(),
                       aseq, base + 1, scr);
               annot.graph = AlignmentAnnotation.LINE_GRAPH;
-              annot.visible = (annotTypeMap == null
-                      || annotTypeMap.get(scr.getMethod()) == null || annotTypeMap
-                      .get(scr.getMethod()).get(INVISIBLE) == null);
-              double[] thrsh = (annotTypeMap == null || annotTypeMap
-                      .get(scr.getMethod()) == null) ? null
-                      : (double[]) annotTypeMap.get(scr.getMethod()).get(
+              
+              Map<String,Object> styleMap = (annotTypeMap == null) ? null : annotTypeMap.get(scr.getMethod());
+              
+              annot.visible = (styleMap == null || styleMap.get(INVISIBLE) == null);
+              double[] thrsh = (styleMap==null) ? null
+                      : (double[]) styleMap.get(
                               THRESHOLD);
-              if (annotTypeMap == null
-                      || annotTypeMap.get(scr.getMethod()) == null
-                      || annotTypeMap.get(scr.getMethod()).get(DONTCOMBINE) == null)
+              float[] range = (styleMap==null) ? null : (float[]) styleMap.get(
+                      RANGE);
+              if (range!=null)
+              {
+                annot.graphMin = range[0];
+                annot.graphMax = range[1];
+              }
+              if (styleMap==null || styleMap.get(DONTCOMBINE) == null)
               {
                 {
                   if (!sameGroup)