*/
package jalview.schemes;
+import jalview.api.AlignViewportI;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AnnotatedCollectionI;
private IdentityHashMap<SequenceI, AlignmentAnnotation> seqannot = null;
@Override
- public ColourSchemeI getInstance(AnnotatedCollectionI sg,
- Map<SequenceI, SequenceCollectionI> hiddenRepSequences)
+ public ColourSchemeI getInstance(AlignViewportI view,
+ AnnotatedCollectionI sg)
{
AnnotationColourGradient acg = new AnnotationColourGradient(annotation,
getColourScheme(), aboveAnnotationThreshold);
}
else
{
- seqannot = new IdentityHashMap<SequenceI, AlignmentAnnotation>();
+ seqannot = new IdentityHashMap<>();
}
// resolve the context containing all the annotation for the sequence
AnnotatedCollectionI alcontext = alignment instanceof AlignmentI
if (annotationThreshold != null)
{
if ((aboveAnnotationThreshold == ABOVE_THRESHOLD
- && aj.value < annotationThreshold.value)
+ && aj.value <= annotationThreshold.value)
|| (aboveAnnotationThreshold == BELOW_THRESHOLD
- && aj.value > annotationThreshold.value))
+ && aj.value >= annotationThreshold.value))
{
return Color.white;
}
&& aboveAnnotationThreshold == ABOVE_THRESHOLD
&& value >= ann.threshold.value)
{
- range = (value - ann.threshold.value)
+ range = ann.graphMax == ann.threshold.value ? 1f
+ : (value - ann.threshold.value)
/ (ann.graphMax - ann.threshold.value);
}
else if (thresholdIsMinMax && ann.threshold != null
&& aboveAnnotationThreshold == BELOW_THRESHOLD
&& value <= ann.threshold.value)
{
- range = (value - ann.graphMin) / (ann.threshold.value - ann.graphMin);
+ range = ann.graphMin == ann.threshold.value ? 0f
+ : (value - ann.graphMin)
+ / (ann.threshold.value - ann.graphMin);
}
else
{
@Override
public String getSchemeName()
{
- return "Annotation";
+ return ANNOTATION_COLOUR;
}
@Override