JAL-1737 ignore non-positional annotations for display
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 15 May 2015 13:13:28 +0000 (14:13 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 15 May 2015 13:13:28 +0000 (14:13 +0100)
src/jalview/analysis/AlignmentAnnotationUtils.java
src/jalview/gui/AlignFrame.java

index 9bdbf73..e02aa9e 100644 (file)
@@ -1,9 +1,5 @@
 package jalview.analysis;
 
-import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.SequenceI;
-import jalview.renderer.AnnotationRenderer;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.BitSet;
@@ -12,6 +8,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.SequenceI;
+import jalview.renderer.AnnotationRenderer;
+
 public class AlignmentAnnotationUtils
 {
 
@@ -63,6 +63,14 @@ public class AlignmentAnnotationUtils
 
     for (AlignmentAnnotation aa : annotations)
     {
+      /*
+       * Ignore non-positional annotations, can't render these against an
+       * alignment
+       */
+      if (aa.annotations == null)
+      {
+        continue;
+      }
       if (forSequences != null
               && (aa.sequenceRef != null && forSequences
                       .contains(aa.sequenceRef)))
index 1b2410a..1cd2ea8 100644 (file)
@@ -5961,6 +5961,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     for (AlignmentAnnotation aa : alignPanel.getAlignment()
             .getAlignmentAnnotation())
     {
+      /*
+       * don't display non-positional annotations on an alignment
+       */
+      if (aa.annotations == null)
+      {
+        continue;
+      }
       boolean apply = (aa.sequenceRef == null && forAlignment)
               || (aa.sequenceRef != null && forSequences);
       if (apply)