Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 9.0.1 Minor Release
-
Labels:None
-
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
- relates to
-
HELP-275 IGB and Oxford Nanopore Long reads....
-
- To-Do
-
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.