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

            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.
            Show
            akadam3 Ashwini Kadam (Inactive) added a comment - Committed fix: https://bitbucket.org/ashwiniK27/integrated-genome-browser/commits/c4fd492e4a170c552884ca78dc4549040bcaba39?at=IGBF-1173
            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.
            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
            Hide
            ann.loraine Ann Loraine added a comment -

            Submit pull request.

            Show
            ann.loraine Ann Loraine added a comment - Submit pull request.
            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
            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.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: