Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 10.1.0
    • Labels:
      None

      Description

      Situation: A user has reported that they are unable to load USEQ files in IGB in 10.0.0. We removed USEQ support in IGB 9.1.10 (IGBF-3146).

      Task: Add USEQ support back to IGB. It was removed in this pull request.

        Attachments

          Issue Links

            Activity

            Hide
            nfreese Nowlan Freese added a comment -

            User conversation:

            I have updated to ver.10.0.0. But it could not apply .useq file and it shows "FORMAT NOT RECOGNIZED".
            I also tried to upload .useq file which could upload previously, but same error message displayed.
            I checked "Species" and "Genome version". What was wrong? Is there any suggestions?
            Thanks,
            Sachi

            Hi Sachi,

            USEQ support was removed in 2022 for IGB 9.1.10. I will look to see if we can add USEQ support back to IGB for the next release. In the meantime, I would suggest downloading IGB 9.1.8 from SourceForge and install it on your computer as it should be the most recent version of IGB to support USEQ: https://sourceforge.net/projects/genoviz/files/IGB%209.1.8/

            Sorry for the trouble!

            Nowlan

            Show
            nfreese Nowlan Freese added a comment - User conversation: I have updated to ver.10.0.0. But it could not apply .useq file and it shows "FORMAT NOT RECOGNIZED". I also tried to upload .useq file which could upload previously, but same error message displayed. I checked "Species" and "Genome version". What was wrong? Is there any suggestions? Thanks, Sachi Hi Sachi, USEQ support was removed in 2022 for IGB 9.1.10. I will look to see if we can add USEQ support back to IGB for the next release. In the meantime, I would suggest downloading IGB 9.1.8 from SourceForge and install it on your computer as it should be the most recent version of IGB to support USEQ: https://sourceforge.net/projects/genoviz/files/IGB%209.1.8/ Sorry for the trouble! Nowlan
            Hide
            ann.loraine Ann Loraine added a comment -

            I don't think it is practical to support USEQ. I do not know if it is worthwhile to add back this support.

            Show
            ann.loraine Ann Loraine added a comment - I don't think it is practical to support USEQ. I do not know if it is worthwhile to add back this support.
            Hide
            nfreese Nowlan Freese added a comment - - edited

            I was able to add back useq support in IGB by reverting the commit from IGBF-3146 and then removing some obsolete code (see this post) and updating some import statements.
            Branch: https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-3705

            I used useq test files (attached) that are included in the IGB code base from core/genometry/src/test/resources/data/useq

            While testing I noticed that loading the test file chr17_H_sapiens_Mar_2006_Graph.useq caused the track name to appear multiple times in the Data Management Table (see useqBroken.png). When attempting to delete the "extra" tracks, I see the following error:

            java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because the return value of "com.affymetrix.genometry.style.ITrackStyleExtended.getFeature()" is null
            

            This same behavior does not appear in the last version of IGB that supports useq (9.1.8). I was able to track down the cause of this behavior to a change made in IGBF-3584 (commit). The change to DataSet.java on line 253 appears to cause the issue, as reverting that specific edit appears to "fix" the issue for the useq file (see useqWorking.png).

            However, the same issue does not appear for the file chr17_H_sapiens_Mar_2006_Region.useq, which loads as an annotation (in comparison to chr17_H_sapiens_Mar_2006_Graph.useq, which loads as a graph). As I am unfamiliar with the useq file format it is unclear why this issue is occurring. As we have seen no other issues with loading graph files, the issue may be a quirk of useq graph files.

            To reproduce the issue:

            1. Fetch my branch
            2. Open the H_sapiens_Mar_2006 genome (it is an older human genome version)
            3. Navigate to chr17
            4. Add and load the test files (attached)
            5. Look for additional tracks to appear
            6. Attempt to delete the additional tracks
            Show
            nfreese Nowlan Freese added a comment - - edited I was able to add back useq support in IGB by reverting the commit from IGBF-3146 and then removing some obsolete code (see this post ) and updating some import statements. Branch: https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-3705 I used useq test files (attached) that are included in the IGB code base from core/genometry/src/test/resources/data/useq While testing I noticed that loading the test file chr17_H_sapiens_Mar_2006_Graph.useq caused the track name to appear multiple times in the Data Management Table (see useqBroken.png). When attempting to delete the "extra" tracks, I see the following error: java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because the return value of "com.affymetrix.genometry.style.ITrackStyleExtended.getFeature()" is null This same behavior does not appear in the last version of IGB that supports useq (9.1.8). I was able to track down the cause of this behavior to a change made in IGBF-3584 ( commit ). The change to DataSet.java on line 253 appears to cause the issue, as reverting that specific edit appears to "fix" the issue for the useq file (see useqWorking.png). However, the same issue does not appear for the file chr17_H_sapiens_Mar_2006_Region.useq, which loads as an annotation (in comparison to chr17_H_sapiens_Mar_2006_Graph.useq, which loads as a graph). As I am unfamiliar with the useq file format it is unclear why this issue is occurring. As we have seen no other issues with loading graph files, the issue may be a quirk of useq graph files. To reproduce the issue: Fetch my branch Open the H_sapiens_Mar_2006 genome (it is an older human genome version) Navigate to chr17 Add and load the test files (attached) Look for additional tracks to appear Attempt to delete the additional tracks
            Hide
            nfreese Nowlan Freese added a comment -

            Full Stacktrace:

            Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because the return value of "com.affymetrix.genometry.style.ITrackStyleExtended.getFeature()" is null
            	at com.affymetrix.igb.action.CloseTracksAction.actionPerformed(CloseTracksAction.java:44)
            	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
            	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
            	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
            	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
            	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
            	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029)
            	at java.desktop/com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157)
            	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073)
            	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
            	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
            	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
            	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
            	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
            	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
            	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
            	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
            	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
            	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
            	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
            	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
            	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
            	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
            	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
            	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
            	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
            	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
            
            Show
            nfreese Nowlan Freese added a comment - Full Stacktrace: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because the return value of "com.affymetrix.genometry.style.ITrackStyleExtended.getFeature()" is null at com.affymetrix.igb.action.CloseTracksAction.actionPerformed(CloseTracksAction.java:44) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029) at java.desktop/com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6386) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment - - edited

            I have investigated the issue of two additional tracks for the useq graph dataset in the data access table, this is occurring because of the code present in GraphSymUtils, the if condition there to check for useq data and adding the strand direction at the end of the id and name doesn't check whether the id or name has the strand direction added before this results in adding two plus or minus signs at the end when getGraphState() is being called in the later part of the code which results in creating a style with no feature attached to it.

            Fixed this issue by adding a condition to check whether the id or name has the strand already added, this resolves the issue and shows only a single track name row in the data access table like how it used to behave before.

            Why reverting this commit IGBF-3584 (commit) made it work: when we revert this the name that's being sent to the above mentioned method is different and the if condition doesn't pass and it doesn't change the id.

            Also, fixed the track removal issue that is there in the previous versions too. Before, when user removes (or deletes) the useq graph track it only removes one of the tracks either positive or negative, fixed this issue by adding logic to deete the other one too. Updated coed is available at: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3705. Please review and let me know if there are any issues.

            Before version after deleting the track:

            After the fix:

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - - edited I have investigated the issue of two additional tracks for the useq graph dataset in the data access table, this is occurring because of the code present in GraphSymUtils, the if condition there to check for useq data and adding the strand direction at the end of the id and name doesn't check whether the id or name has the strand direction added before this results in adding two plus or minus signs at the end when getGraphState() is being called in the later part of the code which results in creating a style with no feature attached to it. Fixed this issue by adding a condition to check whether the id or name has the strand already added, this resolves the issue and shows only a single track name row in the data access table like how it used to behave before. Why reverting this commit IGBF-3584 ( commit ) made it work: when we revert this the name that's being sent to the above mentioned method is different and the if condition doesn't pass and it doesn't change the id. Also, fixed the track removal issue that is there in the previous versions too. Before, when user removes (or deletes) the useq graph track it only removes one of the tracks either positive or negative, fixed this issue by adding logic to deete the other one too. Updated coed is available at: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3705 . Please review and let me know if there are any issues. Before version after deleting the track: After the fix:
            Hide
            nfreese Nowlan Freese added a comment - - edited

            Testing using Sravani's branch on Mac.

            The only issue I can find is that the chr17_H_sapiens_Mar_2006_Region.useq file is behaving oddly.

            To reproduce:

            • Load the H_sapiens_Mar_2006 genome
            • Add the chr17_H_sapiens_Mar_2006_Region.useq file
            • Go to chr17
            • Click Load Data
            • Remove the chr17_H_sapiens_Mar_2006_Region.useq file
            • Add the chr17_H_sapiens_Mar_2006_Region.useq file back again
            • Click Load Data -> the data are duplicated

            To reproduce:

            • Load the H_sapiens_Mar_2006 genome
            • Add the chr17_H_sapiens_Mar_2006_Region.useq file
            • Go to chr17
            • Click Load Data
            • Remove the chr17_H_sapiens_Mar_2006_Region.useq file
            • Add the chr17_H_sapiens_Mar_2006_Graph.useq file
            • Click Load Data -> the chr17_H_sapiens_Mar_2006_Region.useq file will add itself as a new track

            Error that I am seeing:

            Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because "feature" is null
            	at com.affymetrix.igb.view.load.JTableX.getToolTipText(DataManagementTable.java:293)
            	at java.desktop/javax.swing.ToolTipManager$insideTimerAction.actionPerformed(ToolTipManager.java:693)
            	at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
            	at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
            	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
            	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
            	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
            	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
            Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because the return value of "com.affymetrix.genometry.style.ITrackStyleExtended.getFeature()" is null
            	at com.affymetrix.igb.action.CloseTracksAction.actionPerformed(CloseTracksAction.java:44)
            	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
            	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
            	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
            	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
            	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
            	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029)
            	at java.desktop/com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157)
            	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073)
            	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
            	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
            	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
            	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
            	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
            	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
            	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
            	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
            	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
            	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
            	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
            	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
            	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
            	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
            	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
            	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
            	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
            	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
            
            
            Show
            nfreese Nowlan Freese added a comment - - edited Testing using Sravani's branch on Mac. The only issue I can find is that the chr17_H_sapiens_Mar_2006_Region.useq file is behaving oddly. To reproduce: Load the H_sapiens_Mar_2006 genome Add the chr17_H_sapiens_Mar_2006_Region.useq file Go to chr17 Click Load Data Remove the chr17_H_sapiens_Mar_2006_Region.useq file Add the chr17_H_sapiens_Mar_2006_Region.useq file back again Click Load Data -> the data are duplicated To reproduce: Load the H_sapiens_Mar_2006 genome Add the chr17_H_sapiens_Mar_2006_Region.useq file Go to chr17 Click Load Data Remove the chr17_H_sapiens_Mar_2006_Region.useq file Add the chr17_H_sapiens_Mar_2006_Graph.useq file Click Load Data -> the chr17_H_sapiens_Mar_2006_Region.useq file will add itself as a new track Error that I am seeing: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because "feature" is null at com.affymetrix.igb.view.load.JTableX.getToolTipText(DataManagementTable.java:293) at java.desktop/javax.swing.ToolTipManager$insideTimerAction.actionPerformed(ToolTipManager.java:693) at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311) at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "com.affymetrix.genometry.general.DataSet.getDataSetName()" because the return value of "com.affymetrix.genometry.style.ITrackStyleExtended.getFeature()" is null at com.affymetrix.igb.action.CloseTracksAction.actionPerformed(CloseTracksAction.java:44) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029) at java.desktop/com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6386) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            Investigated and fixed the issue, previously when adding the removal code for the other track didn't consider this region file type for useq so it was satisfying a condition in the code that was written to remove both the tracks for the useq graph file which led to not deleting the syms and removing the tier and track alone. Changed the code accordingly, now working as expected. Updated code is present at the same branch: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3705. Please review and let me know if there are any issues.

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - Investigated and fixed the issue, previously when adding the removal code for the other track didn't consider this region file type for useq so it was satisfying a condition in the code that was written to remove both the tracks for the useq graph file which led to not deleting the syms and removing the tier and track alone. Changed the code accordingly, now working as expected. Updated code is present at the same branch: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3705 . Please review and let me know if there are any issues.
            Hide
            nfreese Nowlan Freese added a comment -

            Tested on updated branch, issue is fixed, ready for pull request.

            Show
            nfreese Nowlan Freese added a comment - Tested on updated branch, issue is fixed, ready for pull request.
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            Raised a Pull request: https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/1019. Please review and let me know if there are any issues.

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - Raised a Pull request: https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/1019 . Please review and let me know if there are any issues.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            PR is merged. Installers are built and deployed to the "early access" section of bioviz.org web site.

            Question for the team: After testing, could we let the user know about the updated IGB version?

            Paige Kulzer, Nowlan Freese, Jaya Sravani Sirigineedi

            Show
            ann.loraine Ann Loraine added a comment - - edited PR is merged. Installers are built and deployed to the "early access" section of bioviz.org web site. Question for the team: After testing, could we let the user know about the updated IGB version? Paige Kulzer , Nowlan Freese , Jaya Sravani Sirigineedi
            Hide
            nfreese Nowlan Freese added a comment -

            Ann Loraine - Yes that is a good idea, I will reach out to them and let them know once it is tested. It would be great if they could try it out as they seem to be very familiar with useq.

            Show
            nfreese Nowlan Freese added a comment - Ann Loraine - Yes that is a good idea, I will reach out to them and let them know once it is tested. It would be great if they could try it out as they seem to be very familiar with useq.
            Hide
            nfreese Nowlan Freese added a comment -

            Tested using early-access installer on Mac.

            I was able to load and then remove data from the three test files in IGB successfully with no errors/warnings in the log.

            I have also messaged the IGB user through the IGB help desk to let them know about USEQ support in IGB Early Access.

            Closing ticket.

            Show
            nfreese Nowlan Freese added a comment - Tested using early-access installer on Mac. I was able to load and then remove data from the three test files in IGB successfully with no errors/warnings in the log. I have also messaged the IGB user through the IGB help desk to let them know about USEQ support in IGB Early Access. Closing ticket.

              People

              • Assignee:
                jsirigin Jaya Sravani Sirigineedi
                Reporter:
                nfreese Nowlan Freese
              • Votes:
                0 Vote for this issue
                Watchers:
                Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: