Uploaded image for project: 'Jalview'
  1. Jalview
  2. JAL-1292

Remove redundancy after disorder prediction corrupts alignment window display

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.8
    • Fix Version/s: 2.8.0b1
    • Component/s: renderer
    • Labels:
      None

      Description

      When lots of multi-line graph annotation rows (e.g. those from IUPred) are shown for an alignment with lots of sequences, the remove redundancy operation can result in the alignment window and gui becoming corrupted.

      Steps to reproduce:
      1. import demo alignment
      2. select all, copy and paste sequences into alignment 3 times.
      3. run protein disorder prediction with IUPred
      4. use remove redundancy at 72%

      The console log has the following exception:
      Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 47
      at jalview.renderer.AnnotationRenderer.drawComponent(AnnotationRenderer.java:296)
      at jalview.gui.AnnotationPanel.drawComponent(AnnotationPanel.java:928)
      at jalview.gui.AnnotationPanel.paintComponent(AnnotationPanel.java:799)
      at javax.swing.JComponent.paint(JComponent.java:1037)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JViewport.paint(JViewport.java:795)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JComponent.paintChildren(JComponent.java:870)
      at javax.swing.JComponent.paint(JComponent.java:1046)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
      at javax.swing.JComponent._paintImmediately(JComponent.java:5106)
      at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:814)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:802)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:802)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:745)
      at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:725)
      at javax.swing.RepaintManager.access$1000(RepaintManager.java:46)
      at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1684)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:708)
      at java.awt.EventQueue.access$400(EventQueue.java:82)
      at java.awt.EventQueue$2.run(EventQueue.java:669)
      at java.awt.EventQueue$2.run(EventQueue.java:667)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:678)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

        Attachments

          Activity

            People

            Assignee:
            jprocter James Procter
            Reporter:
            jprocter James Procter
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: