Merge branch 'develop' into trial_merge/JAL-1950 spike/JAL-1950_hmmer3client
authorJim Procter <jprocter@issues.jalview.org>
Mon, 21 Aug 2017 18:57:44 +0000 (19:57 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Mon, 21 Aug 2017 18:57:44 +0000 (19:57 +0100)
 Conflicts:
src/jalview/gui/RestServiceEditorPane.java
src/jalview/schemes/AnnotationColourGradient.java
src/jalview/ws/rest/RestClient.java
src/jalview/ws/rest/RestJobThread.java
Shmmr client definition refactored.
AnnotationColourGradient includes 'fade to grey' P-value+E-value shading

1  2 
src/jalview/datamodel/AlignmentAnnotation.java
src/jalview/gui/AlignViewport.java
src/jalview/gui/RestServiceEditorPane.java
src/jalview/schemes/AnnotationColourGradient.java
src/jalview/util/Comparison.java
src/jalview/ws/rest/RestClient.java
src/jalview/ws/rest/RestJobThread.java

Simple merge
@@@ -187,18 -188,17 +200,19 @@@ public class AnnotationColourGradient e
          seqannot = new IdentityHashMap<SequenceI, AlignmentAnnotation>();
        }
        // resolve the context containing all the annotation for the sequence
-       AnnotatedCollectionI alcontext = alignment instanceof AlignmentI ? alignment
+       AnnotatedCollectionI alcontext = alignment instanceof AlignmentI
+               ? alignment
                : alignment.getContext();
 -      boolean f = true, rna = false;
 -      for (AlignmentAnnotation alan : alcontext
 -              .findAnnotation(annotation.getCalcId()))
 +      boolean f = true, sf = true, rna = false;
 +      long plcount = 0, ancount = 0;
 +      for (AlignmentAnnotation alan : alcontext.findAnnotation(annotation
 +              .getCalcId()))
        {
          if (alan.sequenceRef != null
-                 && (alan.label != null && annotation != null && alan.label
-                         .equals(annotation.label)))
+                 && (alan.label != null && annotation != null
+                         && alan.label.equals(annotation.label)))
          {
 +          ancount++;
            if (!rna && alan.isRNA())
            {
              rna = true;
      }
    }
  
 -  float aamin = 0f, aamax = 0f;
 +  /**
 +   * positional annotation max/min
 +   */
 +  double aamin = 0.0, aamax = 0.0;
 +
 +  /**
 +   * per line score max/min
 +   */
 +  double plmin = Double.NaN, plmax = Double.NaN;
  
-   public String getAnnotation()
+   public AlignmentAnnotation getAnnotation()
    {
-     return annotation.label;
+     return annotation;
    }
  
    public int getAboveThreshold()
          range = 0f;
        }
      }
 -    int dr = (int) (redRange * range + redMin);
 -    int dg = (int) (greenRange * range + greenMin);
 -    int db = (int) (blueRange * range + blueMin);
 -
 -    return new Color(dr, dg, db);
 +    // midtr sets the ceiling for bleaching out the shading
 +    int trans = 0, midtr = 239;
 +    if (perLineScore)
 +    {
 +      trans = (int) ((1f - range) * midtr);
 +      range = (float) ((annotation.score - plmin) / (plmax - aamin));
 +    }
 +    int dr = (int) (rr * range + r1), dg = (int) (gg * range + g1), db = (int) (bb
 +            * range + b1);
 +    if (annotation.score == annotation.score && positionToTransparency)
 +    {
 +      return new Color(Math.min(dr + trans, midtr), Math.min(dg
 +              + trans, midtr), Math.min(db + trans, midtr));
 +    }
 +    else
 +    {
 +      return new Color(dr, dg, db);
 +    }
    }
  
    public boolean isPredefinedColours()
Simple merge
Simple merge
@@@ -293,10 -312,14 +293,9 @@@ public class RestJobThread extends AWST
          completeStatus(rj, response);
          break;
        case 500:
 -        // Failed.
 -        rj.setSubmitted(true);
 -        rj.setAllowedServerExceptions(0);
 -        rj.setSubjobComplete(true);
 -        rj.error = true;
 -        rj.running = false;
 -        completeStatus(rj, response,
 -                "" + getStage(stg) + "failed. Reason below:\n");
 +        markAsFailed(rj, response);
 +        completeStatus(rj, response, "" + getStage(stg)
 +                + "failed. Reason below:\n");
          break;
        default:
          // Some other response. Probably need to pop up the content in a window.