Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-1173

IGB slows down when viewing Oxford Nanopore Long reads

    Details

    • Sprint:
      Fall 2017

      Description

      This issue is related to HELP-275 from the User Support Project.
      The user gets errors when viewing Oxford Nanopore Long or Pacbio reads.

      From user:

      I was wondering if you had any experience trying to view long read RNA alignments from Oxford Nanopore or Pacbio in IGB. I have some ON DRS data that I've aligned with gmap. The bam alignments looks good from the aligner. When I load it in IGB everything slows to a crawl. Ona really small window with only one-or-two genes in it its 10s seconds to load and seconds to do anything else. With a large region it becomes unusable.

      I think the issue is related to parsing and understanding the long complex cigar strings for the long reads (they are error prone and indel heavy). If I have the console open when I load them I get lots of instances of 'String index out of range' like this:

      java.lang.StringIndexOutOfBoundsException: String index out of range: 143
      at java.lang.String.substring(String.java:1963)
      at com.affymetrix.genometry.symmetry.impl.BAMSym.interpretCigar(BAMSym.java:489)
      at com.affymetrix.genometry.symmetry.impl.BAMSym.getBaseQuality(BAMSym.java:440)
      at com.affymetrix.genometry.symmetry.impl.BAMSym.access$100(BAMSym.java:27)
      at com.affymetrix.genometry.symmetry.impl.BAMSym$BamChildSingletonSeqSym.getBaseQuality(BAMSym.java:166)
      at com.affymetrix.genometry.symmetry.impl.BAMSym$BamChildSingletonSeqSym.getAverageQuality(BAMSym.java:177)
      at com.affymetrix.genometry.symmetry.impl.BAMSym$BamChildSingletonSeqSym.cloneProperties(BAMSym.java:222)
      at com.affymetrix.igb.tiers.TierLabelManager.determineProps(TierLabelManager.java:738)
      at com.affymetrix.igb.view.SeqMapView.determineProps(SeqMapView.java:2236)
      at com.affymetrix.igb.property.PropertyView.getPropertiesRow(PropertyView.java:234)
      at com.affymetrix.igb.view.SeqMapView.setToolTip(SeqMapView.java:2087)
      at com.affymetrix.igb.view.SeqMapView.setToolTip(SeqMapView.java:2045)
      at com.affymetrix.igb.view.SeqMapViewMouseListener.oldToolTip(SeqMapViewMouseListener.java:210)
      at com.affymetrix.igb.view.SeqMapViewMouseListener.mouseMoved(SeqMapViewMouseListener.java:192)
      at com.affymetrix.genoviz.widget.NeoWidget.heardMouseEvent(NeoWidget.java:1339)
      at com.affymetrix.genoviz.widget.NeoMap.heardMouseEvent(NeoMap.java:1589)
      at com.affymetrix.genoviz.widget.NeoAbstractWidget.mouseMoved(NeoAbstractWidget.java:827)
      at com.affymetrix.genoviz.bioviews.View.heardMouseEvent(View.java:978)
      at com.affymetrix.genoviz.bioviews.View.mouseMoved(View.java:887)
      at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
      at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
      at java.awt.Component.processMouseMotionEvent(Component.java:6580)
      at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3342)
      at java.awt.Component.processEvent(Component.java:6304)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4538)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

      Any ideas what the problem is? I can probably send you the bam file to take a look at tomorrow if that'd help....

        Attachments

          Issue Links

            Activity

            mason Mason Meyer (Inactive) created issue -
            mason Mason Meyer (Inactive) made changes -
            Field Original Value New Value
            Description This issue is related to HELP-275 from the User Support Project.
            The user gets this error when viewing Oxford Nanopore Long or Pacbio reads:

            This issue is related to HELP-275 from the User Support Project.
            The user gets errors when viewing Oxford Nanopore Long or Pacbio reads.

            From user:

            I was wondering if you had any experience trying to view long read RNA alignments from Oxford Nanopore or Pacbio in IGB. I have some ON DRS data that I've aligned with gmap. The bam alignments looks good from the aligner. When I load it in IGB everything slows to a crawl. Ona really small window with only one-or-two genes in it its 10s seconds to load and seconds to do anything else. With a large region it becomes unusable.

            I think the issue is related to parsing and understanding the long complex cigar strings for the long reads (they are error prone and indel heavy). If I have the console open when I load them I get lots of instances of 'String index out of range' like this:

            java.lang.StringIndexOutOfBoundsException: String index out of range: 143
            at java.lang.String.substring(String.java:1963)
            at com.affymetrix.genometry.symmetry.impl.BAMSym.interpretCigar(BAMSym.java:489)
            at com.affymetrix.genometry.symmetry.impl.BAMSym.getBaseQuality(BAMSym.java:440)
            at com.affymetrix.genometry.symmetry.impl.BAMSym.access$100(BAMSym.java:27)
            at com.affymetrix.genometry.symmetry.impl.BAMSym$BamChildSingletonSeqSym.getBaseQuality(BAMSym.java:166)
            at com.affymetrix.genometry.symmetry.impl.BAMSym$BamChildSingletonSeqSym.getAverageQuality(BAMSym.java:177)
            at com.affymetrix.genometry.symmetry.impl.BAMSym$BamChildSingletonSeqSym.cloneProperties(BAMSym.java:222)
            at com.affymetrix.igb.tiers.TierLabelManager.determineProps(TierLabelManager.java:738)
            at com.affymetrix.igb.view.SeqMapView.determineProps(SeqMapView.java:2236)
            at com.affymetrix.igb.property.PropertyView.getPropertiesRow(PropertyView.java:234)
            at com.affymetrix.igb.view.SeqMapView.setToolTip(SeqMapView.java:2087)
            at com.affymetrix.igb.view.SeqMapView.setToolTip(SeqMapView.java:2045)
            at com.affymetrix.igb.view.SeqMapViewMouseListener.oldToolTip(SeqMapViewMouseListener.java:210)
            at com.affymetrix.igb.view.SeqMapViewMouseListener.mouseMoved(SeqMapViewMouseListener.java:192)
            at com.affymetrix.genoviz.widget.NeoWidget.heardMouseEvent(NeoWidget.java:1339)
            at com.affymetrix.genoviz.widget.NeoMap.heardMouseEvent(NeoMap.java:1589)
            at com.affymetrix.genoviz.widget.NeoAbstractWidget.mouseMoved(NeoAbstractWidget.java:827)
            at com.affymetrix.genoviz.bioviews.View.heardMouseEvent(View.java:978)
            at com.affymetrix.genoviz.bioviews.View.mouseMoved(View.java:887)
            at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
            at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
            at java.awt.Component.processMouseMotionEvent(Component.java:6580)
            at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3342)
            at java.awt.Component.processEvent(Component.java:6304)
            at java.awt.Container.processEvent(Container.java:2236)
            at java.awt.Component.dispatchEventImpl(Component.java:4891)
            at java.awt.Container.dispatchEventImpl(Container.java:2294)
            at java.awt.Component.dispatchEvent(Component.java:4713)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4538)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
            at java.awt.Container.dispatchEventImpl(Container.java:2280)
            at java.awt.Window.dispatchEventImpl(Window.java:2750)
            at java.awt.Component.dispatchEvent(Component.java:4713)
            at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
            at java.awt.EventQueue.access$500(EventQueue.java:97)
            at java.awt.EventQueue$3.run(EventQueue.java:709)
            at java.awt.EventQueue$3.run(EventQueue.java:703)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
            at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
            at java.awt.EventQueue$4.run(EventQueue.java:731)
            at java.awt.EventQueue$4.run(EventQueue.java:729)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

            Any ideas what the problem is? I can probably send you the bam file to take a look at tomorrow if that'd help....

            mason Mason Meyer (Inactive) made changes -
            Link This issue relates to HELP-275 [ HELP-275 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment -

            Ann made a small test file you can use to reproduce the bug. To see the bug in action, download the attached HTML (Web) file and follow the instructions.

            Show
            ann.loraine Ann Loraine added a comment - Ann made a small test file you can use to reproduce the bug. To see the bug in action, download the attached HTML (Web) file and follow the instructions.
            ann.loraine Ann Loraine made changes -
            Attachment GoToIgb.html [ 14007 ]
            ann.loraine Ann Loraine made changes -
            Attachment GoToIgb.html [ 14007 ]
            ann.loraine Ann Loraine made changes -
            Attachment GoToIgb.html [ 14008 ]
            spatil26 Sanket Patil (Inactive) made changes -
            Assignee Sanket Patil [ spatil26 ]
            spatil26 Sanket Patil (Inactive) made changes -
            Assignee Sanket Patil [ spatil26 ] Ashwini Kadam [ akadam3 ]
            spatil26 Sanket Patil (Inactive) made changes -
            Sprint Spring 2017 [ 47 ]
            spatil26 Sanket Patil (Inactive) made changes -
            Rank Ranked lower
            akadam3 Ashwini Kadam (Inactive) made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            akadam3 Ashwini Kadam (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            akadam3 Ashwini Kadam (Inactive) made changes -
            Assignee Ashwini Kadam [ akadam3 ] Sanket Patil [ spatil26 ]
            Show
            akadam3 Ashwini Kadam (Inactive) added a comment - Committed fix: https://bitbucket.org/ashwiniK27/integrated-genome-browser/commits/c4fd492e4a170c552884ca78dc4549040bcaba39?at=IGBF-1173
            akadam3 Ashwini Kadam (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] Reviewing [ 10301 ]
            Hide
            spatil26 Sanket Patil (Inactive) added a comment -

            First level review:
            =====================
            Functional Review:
            IGB is able to load the given bam file which was causing the problem earlier. Other Bam files are also getting loaded successfully. No error on console as well.

            Code Review:

            • Changes looks appropriate.
            • New check for start is appropriately placed after a null check. This will avoid null pointer.
            • Changes are well documented.

            Overall changes looks good.
            Moving back to "Needs first level review" for 2nd level review.

            Show
            spatil26 Sanket Patil (Inactive) added a comment - First level review: ===================== Functional Review: IGB is able to load the given bam file which was causing the problem earlier. Other Bam files are also getting loaded successfully. No error on console as well. Code Review: Changes looks appropriate. New check for start is appropriately placed after a null check. This will avoid null pointer. Changes are well documented. Overall changes looks good. Moving back to "Needs first level review" for 2nd level review.
            spatil26 Sanket Patil (Inactive) made changes -
            Status Reviewing [ 10301 ] Needs 1st Level Review [ 10005 ]
            spatil26 Sanket Patil (Inactive) made changes -
            Assignee Sanket Patil [ spatil26 ] Ann Loraine [ aloraine ]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Second level review:
            See comment added to the commit on AK's branch.

            Show
            ann.loraine Ann Loraine added a comment - - edited Second level review: See comment added to the commit on AK's branch.
            Hide
            akadam3 Ashwini Kadam (Inactive) added a comment -

            Addressed all comments given in second level review. File has been updated and committed to fork.
            Updated fix can be found at :
            https://bitbucket.org/ashwiniK27/integrated-genome-browser/commits/12c61e9086d06b0081cbde5025441019de4555c8?at=IGBF-1173

            Show
            akadam3 Ashwini Kadam (Inactive) added a comment - Addressed all comments given in second level review. File has been updated and committed to fork. Updated fix can be found at : https://bitbucket.org/ashwiniK27/integrated-genome-browser/commits/12c61e9086d06b0081cbde5025441019de4555c8?at=IGBF-1173
            akadam3 Ashwini Kadam (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] Pull Request Submitted [ 10101 ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Ready for Pull Request [ 10304 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Submit pull request.

            Show
            ann.loraine Ann Loraine added a comment - Submit pull request.
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Ashwini Kadam [ akadam3 ]
            akadam3 Ashwini Kadam (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            akadam3 Ashwini Kadam (Inactive) made changes -
            Assignee Ashwini Kadam [ akadam3 ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Ready for Pull Request [ 10304 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            I'm not seeing the pull request - please check:
            https://bitbucket.org/lorainelab/integrated-genome-browser

            Show
            ann.loraine Ann Loraine added a comment - I'm not seeing the pull request - please check: https://bitbucket.org/lorainelab/integrated-genome-browser
            ann.loraine Ann Loraine made changes -
            Assignee Ashwini Kadam [ akadam3 ]
            ann.loraine Ann Loraine made changes -
            Status Ready for Pull Request [ 10304 ] Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ashwini Kadam [ akadam3 ] Mason Meyer [ mason ]
            mason Mason Meyer (Inactive) made changes -
            Status Needs Testing [ 10002 ] Testing In Progress [ 10003 ]
            Hide
            mason Mason Meyer (Inactive) added a comment -

            After a round of testing, it appears that this issue is now resolved. The test BAM file as well as all other BAM files are opening properly and being visualized as expected. There are also no exceptions in the console. I have contacted the user who originally reported this issue so they can test this on our development branch and help verify that the fix is working properly. I will wait for their feedback before closing this issue.

            Show
            mason Mason Meyer (Inactive) added a comment - After a round of testing, it appears that this issue is now resolved. The test BAM file as well as all other BAM files are opening properly and being visualized as expected. There are also no exceptions in the console. I have contacted the user who originally reported this issue so they can test this on our development branch and help verify that the fix is working properly. I will wait for their feedback before closing this issue.
            Hide
            mason Mason Meyer (Inactive) added a comment -

            The user has responded and verified that IGB is functioning properly for his test files. Since this has been verified by the user who originally reported this issue as well as my testing, I am marking this story as resolved.

            Show
            mason Mason Meyer (Inactive) added a comment - The user has responded and verified that IGB is functioning properly for his test files. Since this has been verified by the user who originally reported this issue as well as my testing, I am marking this story as resolved.
            mason Mason Meyer (Inactive) made changes -
            Resolution Done [ 10000 ]
            Status Testing In Progress [ 10003 ] Closed [ 6 ]
            mason Mason Meyer (Inactive) made changes -
            Fix Version/s 9.0.1 Minor Release [ 10500 ]
            ann.loraine Ann Loraine made changes -
            Workflow Loraine Lab Workflow [ 17834 ] Fall 2019 Workflow Update [ 19807 ]
            ann.loraine Ann Loraine made changes -
            Workflow Fall 2019 Workflow Update [ 19807 ] Revised Fall 2019 Workflow Update [ 21926 ]

              People

              • Assignee:
                mason Mason Meyer (Inactive)
                Reporter:
                mason Mason Meyer (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: