X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FAADisorderClient.java;h=fb6ffc412e5400057362cdf841366776ced174d6;hb=3d0101179759ef157b088ea135423cd909512d9f;hp=b2fe3bb15cf0c5a18d47afc2db7d7d1dc3bf489a;hpb=e1cd94839128776e14e51ded3f3be2dcc7e72273;p=jalview.git diff --git a/src/jalview/ws/jws2/AADisorderClient.java b/src/jalview/ws/jws2/AADisorderClient.java index b2fe3bb..fb6ffc4 100644 --- a/src/jalview/ws/jws2/AADisorderClient.java +++ b/src/jalview/ws/jws2/AADisorderClient.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,14 +21,15 @@ package jalview.ws.jws2; import jalview.api.AlignCalcWorkerI; +import jalview.api.FeatureColourI; import jalview.bin.Cache; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.GraphLine; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; -import jalview.schemes.GraduatedColor; -import jalview.schemes.UserColourScheme; +import jalview.schemes.FeatureColour; +import jalview.util.ColorUtils; import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.params.WsParamSetI; @@ -46,8 +47,7 @@ import compbio.data.sequence.Score; import compbio.data.sequence.ScoreManager.ScoreHolder; import compbio.metadata.Argument; -public class AADisorderClient extends JabawsCalcWorker implements - AlignCalcWorkerI +public class AADisorderClient extends JabawsCalcWorker { private static final String THRESHOLD = "THRESHOLD"; @@ -104,34 +104,32 @@ public class AADisorderClient extends JabawsCalcWorker implements Map fmap; featureMap.put(compbio.ws.client.Services.IUPredWS.toString(), fmap = new HashMap()); - fmap.put("Glob", new String[] - { "Globular Domain", "Predicted globular domain" }); + fmap.put("Glob", + new String[] + { "Globular Domain", "Predicted globular domain" }); featureMap.put(compbio.ws.client.Services.JronnWS.toString(), fmap = new HashMap()); featureMap.put(compbio.ws.client.Services.DisemblWS.toString(), fmap = new HashMap()); - fmap.put("REM465", new String[] - { "REM465", "Missing density" }); - fmap.put("HOTLOOPS", new String[] - { "HOTLOOPS", "Flexible loops" }); - fmap.put("COILS", new String[] - { "COILS", "Random coil" }); + fmap.put("REM465", new String[] { "REM465", "Missing density" }); + fmap.put("HOTLOOPS", new String[] { "HOTLOOPS", "Flexible loops" }); + fmap.put("COILS", new String[] { "COILS", "Random coil" }); featureMap.put(compbio.ws.client.Services.GlobPlotWS.toString(), fmap = new HashMap()); - fmap.put("GlobDoms", new String[] - { "Globular Domain", "Predicted globular domain" }); - fmap.put("Disorder", new String[] - { "Protein Disorder", "Probable unstructured peptide region" }); + fmap.put("GlobDoms", + new String[] + { "Globular Domain", "Predicted globular domain" }); + fmap.put("Disorder", + new String[] + { "Protein Disorder", "Probable unstructured peptide region" }); Map> amap; annotMap = new HashMap>>(); annotMap.put(compbio.ws.client.Services.GlobPlotWS.toString(), amap = new HashMap>()); amap.put("Dydx", new HashMap()); 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.get("Dydx").put(THRESHOLD, new double[] { 1, 0 }); + amap.get("Dydx").put(RANGE, new float[] { -1, +1 }); amap.put("SmoothedScore", new HashMap()); amap.get("SmoothedScore").put(INVISIBLE, INVISIBLE); @@ -142,39 +140,27 @@ public class AADisorderClient extends JabawsCalcWorker implements amap.put("COILS", new HashMap()); amap.put("HOTLOOPS", new HashMap()); amap.put("REM465", new HashMap()); - 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 }); + 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>()); amap.put("Long", new HashMap()); amap.put("Short", new HashMap()); - 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 }); + 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>()); amap.put("JRonn", new HashMap()); - amap.get("JRonn").put(THRESHOLD, new double[] - { 1, 0.5 }); - amap.get("JRonn").put(RANGE, new float[] - { 0, 1 }); + amap.get("JRonn").put(THRESHOLD, new double[] { 1, 0.5 }); + amap.get("JRonn").put(RANGE, new float[] { 0, 1 }); } @Override @@ -224,9 +210,7 @@ public class AADisorderClient extends JabawsCalcWorker implements { Cache.log .info("Couldn't recover disorder prediction for sequence " - + seq.getName() - + "(Prediction name was " - + seqId + + seq.getName() + "(Prediction name was " + seqId + ")" + "\nSee http://issues.jalview.org/browse/JAL-1319 for one possible reason why disorder predictions might fail."); } @@ -249,23 +233,23 @@ public class AADisorderClient extends JabawsCalcWorker implements if (type == null) { // create a default type for this feature - type = new String[] - { typeName + " (" + scr.getMethod() + ")", + type = new String[] { + typeName + " (" + scr.getMethod() + ")", service.getActionText() }; } if (vals.hasNext()) { - sf = new SequenceFeature(type[0], type[1], - base + rn.from, base + rn.to, val = vals.next() - .floatValue(), methodName); + sf = new SequenceFeature(type[0], type[1], base + rn.from, + base + rn.to, val = vals.next().floatValue(), + methodName); } else { - sf = new SequenceFeature(type[0], type[1], null, base - + rn.from, base + rn.to, methodName); + sf = new SequenceFeature(type[0], type[1], null, + base + rn.from, base + rn.to, methodName); } dseq.addSequenceFeature(sf); - if (last != val && last != Float.NaN) + if (last != val && !Float.isNaN(last)) { fc.put(sf.getType(), sf); } @@ -279,17 +263,21 @@ public class AADisorderClient extends JabawsCalcWorker implements { continue; } + String typename, calcName; AlignmentAnnotation annot = createAnnotationRowsForScores( ourAnnot, - service.serviceType + " (" + scr.getMethod() + ")", - service.getServiceTypeURI() + "/" + scr.getMethod(), + typename = service.serviceType + " (" + + scr.getMethod() + ")", + calcName = service.getServiceTypeURI() + "/" + + scr.getMethod(), aseq, base + 1, scr); annot.graph = AlignmentAnnotation.LINE_GRAPH; Map styleMap = (annotTypeMap == null) ? null : annotTypeMap.get(scr.getMethod()); - annot.visible = (styleMap == null || styleMap.get(INVISIBLE) == null); + annot.visible = (styleMap == null + || styleMap.get(INVISIBLE) == null); double[] thrsh = (styleMap == null) ? null : (double[]) styleMap.get(THRESHOLD); float[] range = (styleMap == null) ? null @@ -323,7 +311,7 @@ public class AADisorderClient extends JabawsCalcWorker implements annot.description += "
" + threshNote; } annot.description += ""; - Color col = new UserColourScheme(typeName) + Color col = ColorUtils .createColourFromName(typeName + scr.getMethod()); for (int p = 0, ps = annot.annotations.length; p < ps; p++) { @@ -333,6 +321,9 @@ public class AADisorderClient extends JabawsCalcWorker implements } } annot._linecolour = col; + // finally, update any dataset annotation + replaceAnnotationOnAlignmentWith(annot, typename, calcName, + aseq); } } } @@ -349,13 +340,13 @@ public class AADisorderClient extends JabawsCalcWorker implements .cloneFeatureRenderer(); for (String ft : fc.keySet()) { - Object gc = fr.getFeatureStyle(ft); - if (gc instanceof Color) + FeatureColourI gc = fr.getFeatureStyle(ft); + if (gc.isSimpleColour()) { // set graduated color as fading to white for minimum, and // autoscaling to values on alignment - GraduatedColor ggc = new GraduatedColor(Color.white, - (Color) gc, Float.MIN_VALUE, Float.MAX_VALUE); + FeatureColourI ggc = new FeatureColour(Color.white, + gc.getColour(), Float.MIN_VALUE, Float.MAX_VALUE); ggc.setAutoScaled(true); fr.setColour(ft, ggc); }