X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FAADisorderClient.java;h=41f0fd5bfe635fa162b5769ea9efbdd3341f3f27;hb=6fb502e4a8749d1d98f5442c3b8156ab47996b77;hp=3faa390fa7705460b9d2decec67bd535fbc7a27b;hpb=59d682209891099d46b960509907c79e3fb276fe;p=jalview.git diff --git a/src/jalview/ws/jws2/AADisorderClient.java b/src/jalview/ws/jws2/AADisorderClient.java index 3faa390..41f0fd5 100644 --- a/src/jalview/ws/jws2/AADisorderClient.java +++ b/src/jalview/ws/jws2/AADisorderClient.java @@ -18,7 +18,6 @@ package jalview.ws.jws2; import jalview.api.AlignCalcWorkerI; -import jalview.bin.Cache; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.GraphLine; @@ -41,9 +40,8 @@ import compbio.data.sequence.Range; import compbio.data.sequence.Score; import compbio.data.sequence.ScoreManager.ScoreHolder; import compbio.metadata.Argument; -import compbio.ws.client.Services; -public class AADisorderClient extends JabawsAlignCalcWorker implements +public class AADisorderClient extends JabawsCalcWorker implements AlignCalcWorkerI { @@ -183,7 +181,7 @@ public class AADisorderClient extends JabawsAlignCalcWorker implements { boolean sameGroup = false; SequenceI dseq, aseq, seq = seqNames.get(seqId); - int base = seq.getStart() - 1; + int base = seq.findPosition(start)-1; aseq = seq; while ((dseq = seq).getDatasetSequence() != null) { @@ -193,99 +191,102 @@ public class AADisorderClient extends JabawsAlignCalcWorker implements ScoreHolder scores = scoremanager.getAnnotationForSequence(seqId); float last = Float.NaN, val = Float.NaN; int lastAnnot = ourAnnot.size(); - for (Score scr : scores.scores) - { - - if (scr.getRanges() != null && scr.getRanges().size() > 0) + if (scores!=null && scores.scores!=null) { + for (Score scr : scores.scores) { - Iterator vals = scr.getScores().iterator(); - // make features on sequence - for (Range rn : scr.getRanges()) - { - SequenceFeature sf; - String[] type = featureTypeMap.get(scr.getMethod()); - if (type == null) + if (scr.getRanges() != null && scr.getRanges().size() > 0) + { + Iterator vals = scr.getScores().iterator(); + // make features on sequence + for (Range rn : scr.getRanges()) { - // create a default type for this feature - type = new String[] - { typeName + " (" + scr.getMethod() + ")", - service.getActionText() }; + + SequenceFeature sf; + String[] type = featureTypeMap.get(scr.getMethod()); + if (type == null) + { + // create a default type for this feature + 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); + } + else + { + sf = new SequenceFeature(type[0], type[1], null, base + + rn.from, base + rn.to, methodName); + } + dseq.addSequenceFeature(sf); + if (last != val && last != Float.NaN) + { + fc.put(sf.getType(), sf); + } + last = val; + dispFeatures = true; } - if (vals.hasNext()) + } + else + { + if (scr.getScores().size() == 0) { - sf = new SequenceFeature(type[0], type[1], base + rn.from, - base + rn.to, val = vals.next().floatValue(), - methodName); + continue; } - else + AlignmentAnnotation annot = createAnnotationRowsForScores( + ourAnnot, + service.serviceType + " (" + scr.getMethod() + ")", + 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( + THRESHOLD); + if (annotTypeMap == null + || annotTypeMap.get(scr.getMethod()) == null + || annotTypeMap.get(scr.getMethod()).get(DONTCOMBINE) == null) { - sf = new SequenceFeature(type[0], type[1], null, base - + rn.from, base + rn.to, methodName); + { + if (!sameGroup) + { + graphGroup++; + sameGroup = true; + } + + annot.graphGroup = graphGroup; + } } - dseq.addSequenceFeature(sf); - if (last != val && last != Float.NaN) + + annot.description = "" + service.getActionText() + + " - raw scores"; + if (thrsh != null) { - fc.put(sf.getType(), sf); + String threshNote = (thrsh[0] > 0 ? "Above " : "Below ") + + thrsh[1] + " indicates disorder"; + annot.threshold = new GraphLine((float) thrsh[1], + threshNote, Color.red); + annot.description += "
" + threshNote; } - last = val; - dispFeatures = true; - } - } - else - { - if (scr.getScores().size() == 0) - { - continue; - } - AlignmentAnnotation annot = createAnnotationRowsForScores( - ourAnnot, service.serviceType + " (" + scr.getMethod() - + ")", - 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(THRESHOLD); - if (annotTypeMap == null - || annotTypeMap.get(scr.getMethod()) == null - || annotTypeMap.get(scr.getMethod()).get(DONTCOMBINE) == null) - { + annot.description += ""; + Color col = new UserColourScheme(typeName) + .createColourFromName(typeName + scr.getMethod()); + for (int p = 0, ps = annot.annotations.length; p < ps; p++) { - if (!sameGroup) + if (annot.annotations[p] != null) { - graphGroup++; - sameGroup = true; + annot.annotations[p].colour = col; } - - annot.graphGroup = graphGroup; - } - } - - annot.description = "" + 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 += "
" + threshNote; - } - annot.description += ""; - Color col = new UserColourScheme(typeName) - .createColourFromName(typeName + scr.getMethod()); - for (int p = 0, ps = annot.annotations.length; p < ps; p++) - { - if (annot.annotations[p] != null) - { - annot.annotations[p].colour = col; } + annot._linecolour = col; } - annot._linecolour = col; } } if (lastAnnot + 1 == ourAnnot.size())