import jalview.bin.Cache;
import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.GraphLine;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
AlignCalcWorkerI
{
+ private static final String THRESHOLD = "THRESHOLD";
+
String typeName;
String methodName;
private static String INVISIBLE = "INVISIBLE";
static
{
+ // TODO: turn this into some kind of configuration file that's a bit easier to edit
featureMap = new HashMap<String, Map<String, String[]>>();
Map<String, String[]> fmap;
featureMap.put(compbio.ws.client.Services.IUPredWS.toString(),
amap = new HashMap<String, Map<String, Object>>());
amap.put("Dydx", new HashMap<String, Object>());
amap.get("Dydx").put(DONTCOMBINE, DONTCOMBINE);
+ amap.get("Dydx").put(THRESHOLD, new double[] {1, 0});
amap.put("SmoothedScore", new HashMap<String, Object>());
amap.get("SmoothedScore").put(INVISIBLE,INVISIBLE);
amap.put("RawScore", new HashMap<String, Object>());
amap.get("RawScore").put(INVISIBLE,INVISIBLE);
annotMap.put(compbio.ws.client.Services.DisemblWS.toString(),
amap = new HashMap<String, Map<String, Object>>());
+ amap.put("COILS", new HashMap<String, Object>());
+ amap.put("HOTLOOPS", new HashMap<String, Object>());
+ amap.put("REM465", new HashMap<String, Object>());
+ amap.get("COILS").put(THRESHOLD, new double[] { 1, 0.516});
+ amap.get("HOTLOOPS").put(THRESHOLD, new double[] { 1, 0.6});
+ amap.get("REM465").put(THRESHOLD, new double[] { 1, 0.1204});
+ annotMap.put(compbio.ws.client.Services.IUPredWS.toString(),
+ amap = new HashMap<String, Map<String, Object>>());
+ amap.put("Long", new HashMap<String, Object>());
+ amap.put("Short", new HashMap<String, Object>());
+ amap.get("Long").put(THRESHOLD, new double[] { 1, 0.5});
+ amap.get("Short").put(THRESHOLD, new double[] { 1, 0.5});
+
}
@Override
base, 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(THRESHOLD);
if (annotTypeMap==null || annotTypeMap.get(scr.getMethod())==null || annotTypeMap.get(scr.getMethod()).get(DONTCOMBINE) == null)
{
{
}
}
- annot.description = service.getActionText() + " - raw scores";
+ annot.description = "<html>"+service.getActionText() + " - raw scores";
+ if (thrsh!=null)
+ {
+ String threshNote=(thrsh[0]>0 ? "Above " : "Below ")+thrsh[1]+" indicates disorder";
+ annot.threshold=new GraphLine((float) thrsh[1], threshNote, Color.red);
+ annot.description+="<br/>"+threshNote;
+ }
+ annot.description+="</html>";
Color col = new UserColourScheme(typeName)
.createColourFromName(typeName + scr.getMethod());
for (int p = 0, ps = annot.annotations.length; p < ps; p++)