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

Add the ability to include cluster information to SAMtools tags Color by feature

    Details

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

      Description

      Currently, users can import a file with SAMtool tags values and corresponding color hex codes in two columns. This ticket is about adding functionality where users can add corresponding cluster information (cluster id/name) for each tag value as well.

      For the completion of this task:

      1. Users must be able to import 2-column or 3-column tsv/csv/txt file
      2. Importing 2-column files, SAMtools tag value and color, should work exactly as it does right now.
      3. Anticipate potential user errors while importing and handle it.
      4. Importing 3-column files, includes cluster id, users should be able to choose between:
      • using the feature as it is right now - color by samtools tag values such as cell barcode
      • or, color by cluster ids

        Attachments

          Issue Links

            Activity

            Hide
            karthik Karthik Raveendran added a comment - - edited

            Pushed commit 627d8d6 in IGBF-4295

            This commit addresses:

            • Importing 2 column or 3 column files in Color by SAMtags function
            • Checkboxes for users to check or uncheck rows in the table

            Note: I have added a sample txt file to the ticket with 3 columns. The quickload for the BAM file corresponding to the sample file is in here: https://bitbucket.org/KarthikRavee91/quickload_scrna-seq_10xgenomics/src/main/

            In IGB, after add this quickload data source, load any pmbc alignments file from H_sapiens_Feb_2009

            Show
            karthik Karthik Raveendran added a comment - - edited Pushed commit 627d8d6 in IGBF-4295 This commit addresses: Importing 2 column or 3 column files in Color by SAMtags function Checkboxes for users to check or uncheck rows in the table Note: I have added a sample txt file to the ticket with 3 columns. The quickload for the BAM file corresponding to the sample file is in here: https://bitbucket.org/KarthikRavee91/quickload_scrna-seq_10xgenomics/src/main/ In IGB, after add this quickload data source, load any pmbc alignments file from H_sapiens_Feb_2009
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            Fetched Karthik's branch and tested on my Mac. All test files used for testing will be included in the zipped file attached to this ticket for reproducibility and future testing.

            Testing steps:

            1. Add Karthik's QL to IGB
            2. Open the H_sapiens_Feb_2009 genome
            3. From the Available Data section, add the PBMC dataset to IGB
            4. Navigate to the GNLY gene
            5. Click Load Data
            6. Right-click on the PBMC track name and click "Optimize stack height"
            7. Right-click on the PBMC track name and click "Color by..."
            8. From the drop-down menu, choose SAMtags
            9. Click Edit Tags and Color
            10. Import test files as desired
            Issue #1: Importing a test file with only barcode and cluster information (no color information) throws an error

            Test file used: pbmc_2col_no_colors.tsv
            Error:

            Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "a"
            	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
            	at java.base/java.lang.Integer.parseInt(Integer.java:662)
            	at java.base/java.lang.Integer.decode(Integer.java:1450)
            	at java.desktop/java.awt.Color.decode(Color.java:731)
            	at com.affymetrix.igb.colorproviders.SAMtagsTable$1$1.run(SAMtagsTable.java:119)
            	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.pumpEventsForFilter(EventDispatchThread.java:117)
            	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
            	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
            	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
            	at java.desktop/java.awt.Component.show(Component.java:1728)
            	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
            	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
            	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
            	at com.affymetrix.igb.shared.ConfigureOptionsPanel$3.actionPerformed(ConfigureOptionsPanel.java:377)
            	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
            	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.pumpEventsForFilter(EventDispatchThread.java:117)
            	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
            	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
            	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
            	at java.desktop/java.awt.Component.show(Component.java:1728)
            	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
            	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
            	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
            	at com.affymetrix.igb.util.ConfigureOptionsDialog.showDialog(ConfigureOptionsDialog.java:123)
            	at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:76)
            	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)
            
            Issue #2: Scrolling to the end of the Color by table after importing a test file throws an error

            Notes: This appears to be a new issue. I fetched what I believe is the previous commit (IGBF-4195) and did not encounter this issue.
            Error:

            Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Boolean (java.lang.String and java.lang.Boolean are in module java.base of loader 'bootstrap')
            	at java.desktop/javax.swing.JTable$BooleanRenderer.getTableCellRendererComponent(JTable.java:5480)
            	at com.jidesoft.grid.JideTable.prepareRenderer(Unknown Source)
            	at com.affymetrix.igb.swing.jide.StyledJTable.prepareRenderer(StyledJTable.java:137)
            	at com.jidesoft.plaf.basic.BasicJideTableUIDelegate.paintCell(Unknown Source)
            	at com.jidesoft.plaf.basic.BasicJideTableUIDelegate.a(Unknown Source)
            	at com.jidesoft.plaf.basic.BasicJideTableUIDelegate.paint(Unknown Source)
            	at com.jidesoft.plaf.aqua.AquaJideTableUI.paint(Unknown Source)
            	at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
            	at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852)
            	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128)
            	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
            	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
            	at java.desktop/javax.swing.JViewport.paint(JViewport.java:736)
            	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
            	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
            	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5318)
            	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656)
            	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631)
            	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569)
            	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336)
            	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5266)
            	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5076)
            	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:878)
            	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861)
            	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834)
            	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
            	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897)
            	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.pumpEventsForFilter(EventDispatchThread.java:117)
            	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
            	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
            	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
            	at java.desktop/java.awt.Component.show(Component.java:1728)
            	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
            	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
            	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
            	at com.affymetrix.igb.shared.ConfigureOptionsPanel$3.actionPerformed(ConfigureOptionsPanel.java:377)
            	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
            	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.pumpEventsForFilter(EventDispatchThread.java:117)
            	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
            	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
            	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
            	at java.desktop/java.awt.Component.show(Component.java:1728)
            	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
            	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
            	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
            	at com.affymetrix.igb.util.ConfigureOptionsDialog.showDialog(ConfigureOptionsDialog.java:123)
            	at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:76)
            	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)
            
            Issue #3: The Clear All button is only clearing barcode information, not color selections.

            Notes: This appears to be a new issue. I fetched what I believe is the previous commit (IGBF-4195) and did not encounter this issue.

            Issue #4: Color by table entries doubling

            Notes: There are specific steps to reproduce this issue:

            1. Import a sample file (e.g., pbmc_3col_semi.txt)
            2. Notice the current number of entries in the table
            3. Click Save and Apply
            4. Select CB from the SAMtags drop-down menu
            5. Click Save and Apply
            6. Close and re-open the Color by window
            7. Notice that the entries in the table have doubled
            Issue #5: Importing a test file with simplified column names assigns all entries in the Color by table the color black

            Test file used: pbmc_3col_simple_col_names.tsv
            Notes: This appears to be a new issue. I fetched what I believe is the previous commit (IGBF-4195) and did not encounter this issue. Although all entries have been assigned black, it doesn't seem to be coloring those reads black in IGB once the changes are saved and applied.

            Issue #6: Importing space-separated files does not add anything to the Color by table

            Test file used: pbmc_3col_space.txt
            Notes: It might be best for some sort of warning to appear here so that the issue is handled somehow.

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - Fetched Karthik's branch and tested on my Mac. All test files used for testing will be included in the zipped file attached to this ticket for reproducibility and future testing. Testing steps: Add Karthik's QL to IGB Open the H_sapiens_Feb_2009 genome From the Available Data section, add the PBMC dataset to IGB Navigate to the GNLY gene Click Load Data Right-click on the PBMC track name and click "Optimize stack height" Right-click on the PBMC track name and click "Color by..." From the drop-down menu, choose SAMtags Click Edit Tags and Color Import test files as desired Issue #1: Importing a test file with only barcode and cluster information (no color information) throws an error Test file used: pbmc_2col_no_colors.tsv Error: Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "a" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) at java.base/java.lang. Integer .parseInt( Integer .java:662) at java.base/java.lang. Integer .decode( Integer .java:1450) at java.desktop/java.awt.Color.decode(Color.java:731) at com.affymetrix.igb.colorproviders.SAMtagsTable$1$1.run(SAMtagsTable.java:119) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1079) at java.desktop/java.awt.Component.show(Component.java:1728) at java.desktop/java.awt.Component.setVisible(Component.java:1675) at java.desktop/java.awt.Window.setVisible(Window.java:1036) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015) at com.affymetrix.igb.shared.ConfigureOptionsPanel$3.actionPerformed(ConfigureOptionsPanel.java:377) 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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1079) at java.desktop/java.awt.Component.show(Component.java:1728) at java.desktop/java.awt.Component.setVisible(Component.java:1675) at java.desktop/java.awt.Window.setVisible(Window.java:1036) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015) at com.affymetrix.igb.util.ConfigureOptionsDialog.showDialog(ConfigureOptionsDialog.java:123) at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:76) 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) Issue #2: Scrolling to the end of the Color by table after importing a test file throws an error Notes: This appears to be a new issue. I fetched what I believe is the previous commit ( IGBF-4195 ) and did not encounter this issue. Error: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang. String cannot be cast to class java.lang. Boolean (java.lang. String and java.lang. Boolean are in module java.base of loader 'bootstrap') at java.desktop/javax.swing.JTable$BooleanRenderer.getTableCellRendererComponent(JTable.java:5480) at com.jidesoft.grid.JideTable.prepareRenderer(Unknown Source) at com.affymetrix.igb.swing.jide.StyledJTable.prepareRenderer(StyledJTable.java:137) at com.jidesoft.plaf.basic.BasicJideTableUIDelegate.paintCell(Unknown Source) at com.jidesoft.plaf.basic.BasicJideTableUIDelegate.a(Unknown Source) at com.jidesoft.plaf.basic.BasicJideTableUIDelegate.paint(Unknown Source) at com.jidesoft.plaf.aqua.AquaJideTableUI.paint(Unknown Source) at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) at java.desktop/javax.swing.JViewport.paint(JViewport.java:736) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5318) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5266) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5076) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:878) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1079) at java.desktop/java.awt.Component.show(Component.java:1728) at java.desktop/java.awt.Component.setVisible(Component.java:1675) at java.desktop/java.awt.Window.setVisible(Window.java:1036) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015) at com.affymetrix.igb.shared.ConfigureOptionsPanel$3.actionPerformed(ConfigureOptionsPanel.java:377) 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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1079) at java.desktop/java.awt.Component.show(Component.java:1728) at java.desktop/java.awt.Component.setVisible(Component.java:1675) at java.desktop/java.awt.Window.setVisible(Window.java:1036) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015) at com.affymetrix.igb.util.ConfigureOptionsDialog.showDialog(ConfigureOptionsDialog.java:123) at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:76) 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) Issue #3: The Clear All button is only clearing barcode information, not color selections. Notes: This appears to be a new issue. I fetched what I believe is the previous commit ( IGBF-4195 ) and did not encounter this issue. Issue #4: Color by table entries doubling Notes: There are specific steps to reproduce this issue: Import a sample file (e.g., pbmc_3col_semi.txt) Notice the current number of entries in the table Click Save and Apply Select CB from the SAMtags drop-down menu Click Save and Apply Close and re-open the Color by window Notice that the entries in the table have doubled Issue #5: Importing a test file with simplified column names assigns all entries in the Color by table the color black Test file used: pbmc_3col_simple_col_names.tsv Notes: This appears to be a new issue. I fetched what I believe is the previous commit ( IGBF-4195 ) and did not encounter this issue. Although all entries have been assigned black, it doesn't seem to be coloring those reads black in IGB once the changes are saved and applied. Issue #6: Importing space-separated files does not add anything to the Color by table Test file used: pbmc_3col_space.txt Notes: It might be best for some sort of warning to appear here so that the issue is handled somehow.
            Show
            karthik Karthik Raveendran added a comment - Fixed the user file format error: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/de4c161893fc6525729a63b06e12278ffc96d287
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            All six issues listed above have been addressed and fixed. However, I've found a few other issues that likely need to be addressed as part of this ticket.

            Issue #7: Highlighting Tag Value cells disrupts the import and clear functions

            Notes: Whichever Tag Value cell is highlighted when the Import... button is clicked will not be assigned a value upon import. Similarly, whichever Tag Value cell is highlighted when the Clear all button is clicked will not have its value removed upon clearing. This is not a new issue, I am seeing this same issue in what I believe is the previous commit (IGBF-4195).

            Issue #8: File format error persists after importing correctly formatted file.

            Test files used: pbmc_2col_space.txt, pbmc_2col.tsv
            Notes: The error message that's been added ("Error: Please make sure if the file format is right.") to handle when a user tries to import an improperly formatted file persists even after importing a properly formatted file. It only goes away once a SAMtag has been selected/re-selected. However, I think it would make more sense to clear this message once a file has been imported instead.

            Issue #9: Reads are not being colored as expected

            Test file used: pbmc_2col.tsv
            Notes: The Color by function, generally, does not appear to be working correctly. All reads are colored when I import this file with a version of IGB built from the previous commit. However, with this commit, no reads are being colored. It seems that no reads are being colored regardless of which test file I use.

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - All six issues listed above have been addressed and fixed. However, I've found a few other issues that likely need to be addressed as part of this ticket. Issue #7: Highlighting Tag Value cells disrupts the import and clear functions Notes: Whichever Tag Value cell is highlighted when the Import... button is clicked will not be assigned a value upon import. Similarly, whichever Tag Value cell is highlighted when the Clear all button is clicked will not have its value removed upon clearing. This is not a new issue, I am seeing this same issue in what I believe is the previous commit ( IGBF-4195 ). Issue #8: File format error persists after importing correctly formatted file. Test files used: pbmc_2col_space.txt, pbmc_2col.tsv Notes: The error message that's been added ("Error: Please make sure if the file format is right.") to handle when a user tries to import an improperly formatted file persists even after importing a properly formatted file. It only goes away once a SAMtag has been selected/re-selected. However, I think it would make more sense to clear this message once a file has been imported instead. Issue #9: Reads are not being colored as expected Test file used: pbmc_2col.tsv Notes: The Color by function, generally, does not appear to be working correctly. All reads are colored when I import this file with a version of IGB built from the previous commit. However, with this commit, no reads are being colored. It seems that no reads are being colored regardless of which test file I use.
            Hide
            karthik Karthik Raveendran added a comment -

            Fixed the above errors . See commit

            ISSUE #7: HIGHLIGHTING TAG VALUE CELLS DISRUPTS THE IMPORT AND CLEAR FUNCTIONS
            This issue might need another ticket

            ISSUE #8: FILE FORMAT ERROR PERSISTS AFTER IMPORTING CORRECTLY FORMATTED FILE.
            Error messages persisting bug has been fixed

            ISSUE #9: READS ARE NOT BEING COLORED AS EXPECTED
            There was an issue with the some the tag variables which needed to be fixed and has been fixed

            Show
            karthik Karthik Raveendran added a comment - Fixed the above errors . See commit ISSUE #7: HIGHLIGHTING TAG VALUE CELLS DISRUPTS THE IMPORT AND CLEAR FUNCTIONS This issue might need another ticket ISSUE #8: FILE FORMAT ERROR PERSISTS AFTER IMPORTING CORRECTLY FORMATTED FILE. Error messages persisting bug has been fixed ISSUE #9: READS ARE NOT BEING COLORED AS EXPECTED There was an issue with the some the tag variables which needed to be fixed and has been fixed
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            Issues #8 and #9 have been fixed! All test files are now loading in without unexpected results. If Issue #7 is being addressed in another ticket, then I would recommend a PR for this ticket.

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - Issues #8 and #9 have been fixed! All test files are now loading in without unexpected results. If Issue #7 is being addressed in another ticket, then I would recommend a PR for this ticket.
            Hide
            karthik Karthik Raveendran added a comment -

            New Commit for checkboxes: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/f871f3916e1ee4a2d4589ee538048ac3b0a1b31e
            Hey Paige Kulzer, Do you mind testing the new commit as well?

            Show
            karthik Karthik Raveendran added a comment - New Commit for checkboxes: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/f871f3916e1ee4a2d4589ee538048ac3b0a1b31e Hey Paige Kulzer , Do you mind testing the new commit as well?
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment - - edited

            Clicking anywhere in the Cluster column prompted this error:

            Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.awt.Component.setBackground(java.awt.Color)" because "component" is null
            	at com.affymetrix.igb.swing.jide.StyledJTable.setComponentBackground(StyledJTable.java:160)
            	at com.affymetrix.igb.swing.jide.StyledJTable.prepareEditor(StyledJTable.java:155)
            	at com.jidesoft.grid.JideTable.editCellAt(Unknown Source)
            	at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(BasicTableUI.java:1138)
            	at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1068)
            	at java.desktop/javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(BasicTableUI.java:830)
            	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:288)
            	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6618)
            	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:4572)
            	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.pumpEventsForFilter(EventDispatchThread.java:117)
            	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
            	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
            	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
            	at java.desktop/java.awt.Component.show(Component.java:1728)
            	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
            	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
            	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
            	at com.affymetrix.igb.shared.ConfigureOptionsPanel$3.actionPerformed(ConfigureOptionsPanel.java:378)
            	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
            	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.pumpEventsForFilter(EventDispatchThread.java:117)
            	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
            	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
            	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
            	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
            	at java.desktop/java.awt.Component.show(Component.java:1728)
            	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
            	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
            	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
            	at com.affymetrix.igb.util.ConfigureOptionsDialog.showDialog(ConfigureOptionsDialog.java:123)
            	at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:76)
            	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)
            

            I was able to get around this to continue testing by importing a file containing cluster information already (e.g., pbmc_3col.tsv). Unchecking a checkbox does prevent a tag from being found and colored as expected. However, when I re-open the Color by table, that checkbox is checked, therefore not maintaining user input after closing and re-opening.

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - - edited Clicking anywhere in the Cluster column prompted this error: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.awt.Component.setBackground(java.awt.Color)" because "component" is null at com.affymetrix.igb.swing.jide.StyledJTable.setComponentBackground(StyledJTable.java:160) at com.affymetrix.igb.swing.jide.StyledJTable.prepareEditor(StyledJTable.java:155) at com.jidesoft.grid.JideTable.editCellAt(Unknown Source) at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(BasicTableUI.java:1138) at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1068) at java.desktop/javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(BasicTableUI.java:830) at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:288) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6618) 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:4572) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1079) at java.desktop/java.awt.Component.show(Component.java:1728) at java.desktop/java.awt.Component.setVisible(Component.java:1675) at java.desktop/java.awt.Window.setVisible(Window.java:1036) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015) at com.affymetrix.igb.shared.ConfigureOptionsPanel$3.actionPerformed(ConfigureOptionsPanel.java:378) 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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1079) at java.desktop/java.awt.Component.show(Component.java:1728) at java.desktop/java.awt.Component.setVisible(Component.java:1675) at java.desktop/java.awt.Window.setVisible(Window.java:1036) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015) at com.affymetrix.igb.util.ConfigureOptionsDialog.showDialog(ConfigureOptionsDialog.java:123) at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:76) 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) I was able to get around this to continue testing by importing a file containing cluster information already (e.g., pbmc_3col.tsv). Unchecking a checkbox does prevent a tag from being found and colored as expected. However, when I re-open the Color by table, that checkbox is checked, therefore not maintaining user input after closing and re-opening.
            Hide
            karthik Karthik Raveendran added a comment -

            Thank you for testing the previous commit, Paige Kulzer
            New commit for errors mentioned above: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/d21f30f4634002ed94cee91f0a56cd70ef930eaf

            Show
            karthik Karthik Raveendran added a comment - Thank you for testing the previous commit, Paige Kulzer New commit for errors mentioned above: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/d21f30f4634002ed94cee91f0a56cd70ef930eaf
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            The above error has been fixed and I can now edit cells in the Cluster column. Also, user input to the Checkbox column is now being retained between instances of the Color by table.

            I've found another issue that seems to have been created by the addition of these checkboxes. Importing a file that can't be read into the table (e.g., PNG files) has prompted the error message to pop up within the table as expected but it now says, "Error: Please make sure if the file format is right.java.lang.NullPointerException: Cannot invoke "String.length()" because "regex" is null".

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - The above error has been fixed and I can now edit cells in the Cluster column. Also, user input to the Checkbox column is now being retained between instances of the Color by table. I've found another issue that seems to have been created by the addition of these checkboxes. Importing a file that can't be read into the table (e.g., PNG files) has prompted the error message to pop up within the table as expected but it now says, " Error: Please make sure if the file format is right.java.lang.NullPointerException: Cannot invoke "String.length()" because "regex" is null ".
            Hide
            karthik Karthik Raveendran added a comment -

            The above error could be fixed in a new ticket that handles errors with this feature.
            Cluster view button has been implemented and pushed: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/a46be8498f92966ad7e01b9d62fceb7a601178ca

            Show
            karthik Karthik Raveendran added a comment - The above error could be fixed in a new ticket that handles errors with this feature. Cluster view button has been implemented and pushed: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/a46be8498f92966ad7e01b9d62fceb7a601178ca
            Hide
            karthik Karthik Raveendran added a comment -

            New Commit - toggle display for tag value column when cluster view button is clicked: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/6b859318cb62d602208b8d65136074032831e22c

            Show
            karthik Karthik Raveendran added a comment - New Commit - toggle display for tag value column when cluster view button is clicked: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/6b859318cb62d602208b8d65136074032831e22c
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            Below, I'm highlighting a few areas of improvement for this new feature as well as an error I found while interacting with the Color by table:

            1. In Cluster View, if the last click was in the checkmark column and then you select Switch to Raw View, all checkboxes from that point down are then highlighted automatically in the Raw View.

            2. When I import a file with cluster information (e.g., pbmc_3col_clust_letters.tsv) while in the Cluster View, no data is populated there. However, if I switch to Raw View, I see the imported data as expected, and only after that does switching to Cluster View populate the Cluster information there.

            3. Similarly, the Clear All button doesn't seem to be working from the Cluster View. I have to click Clear All, then switch to Raw View, then switch back to Cluster View to see that table cleared.

            4. From Cluster View, I am able to change the color of a cluster only if there's a single sample assigned to it. If there is a cluster with more than one sample assigned, then I am unable to assign it a new color from the Cluster View.

            5. I'm not sure how much manually entry will be happening on the Cluster View side, but it's currently a bit clunky to add information there by hand rather than importing. If I add text to the Cluster column, then hit Enter, no new rows are available to me to edit. It's only after I click the checkbox that a new editable row pops up.

            6. Finally, I've found an error that may need to be addressed on a new ticket with the error I found in my last comment. It's occurring when I open the SAMtools Tag Color Mapping table, then click Cancel, then click OK. This also occurs if I first click the red X and then click OK.

            Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.util.HashMap.get(Object)" because the return value of "com.affymetrix.genometry.general.Parameter.get()" is null
            	at com.affymetrix.igb.colorproviders.SAMtagsColor.getColor(SAMtagsColor.java:56)
            	at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.getSymColor(AnnotationGlyphFactory.java:428)
            	at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.determinePGlyph(AnnotationGlyphFactory.java:180)
            	at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.addTopChild(AnnotationGlyphFactory.java:158)
            	at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.addLeafsToTier(AnnotationGlyphFactory.java:141)
            	at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.addLeafsToTier(AnnotationGlyphFactory.java:138)
            	at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.createGlyphs(AnnotationGlyphFactory.java:603)
            	at com.affymetrix.igb.view.TrackView.addAnnotationGlyphs(TrackView.java:174)
            	at com.affymetrix.igb.view.TrackView.addTracks(TrackView.java:158)
            	at com.affymetrix.igb.view.SeqMapView.addAnnotationTracks(SeqMapView.java:1015)
            	at com.affymetrix.igb.view.SeqMapView.addGlyphs(SeqMapView.java:968)
            	at com.affymetrix.igb.view.SeqMapView.setAnnotatedSeq(SeqMapView.java:806)
            	at com.affymetrix.igb.view.SeqMapView.updatePanel(SeqMapView.java:2326)
            	at com.affymetrix.igb.action.SeqMapViewActionA.refreshMap(SeqMapViewActionA.java:71)
            	at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:86)
            	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
            pkulzer Paige Kulzer (Inactive) added a comment - Below, I'm highlighting a few areas of improvement for this new feature as well as an error I found while interacting with the Color by table: 1. In Cluster View, if the last click was in the checkmark column and then you select Switch to Raw View, all checkboxes from that point down are then highlighted automatically in the Raw View. 2. When I import a file with cluster information (e.g., pbmc_3col_clust_letters.tsv) while in the Cluster View, no data is populated there. However, if I switch to Raw View, I see the imported data as expected, and only after that does switching to Cluster View populate the Cluster information there. 3. Similarly, the Clear All button doesn't seem to be working from the Cluster View. I have to click Clear All, then switch to Raw View, then switch back to Cluster View to see that table cleared. 4. From Cluster View, I am able to change the color of a cluster only if there's a single sample assigned to it. If there is a cluster with more than one sample assigned, then I am unable to assign it a new color from the Cluster View. 5. I'm not sure how much manually entry will be happening on the Cluster View side, but it's currently a bit clunky to add information there by hand rather than importing. If I add text to the Cluster column, then hit Enter, no new rows are available to me to edit. It's only after I click the checkbox that a new editable row pops up. 6. Finally, I've found an error that may need to be addressed on a new ticket with the error I found in my last comment. It's occurring when I open the SAMtools Tag Color Mapping table, then click Cancel, then click OK. This also occurs if I first click the red X and then click OK. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.util.HashMap.get( Object )" because the return value of "com.affymetrix.genometry.general.Parameter.get()" is null at com.affymetrix.igb.colorproviders.SAMtagsColor.getColor(SAMtagsColor.java:56) at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.getSymColor(AnnotationGlyphFactory.java:428) at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.determinePGlyph(AnnotationGlyphFactory.java:180) at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.addTopChild(AnnotationGlyphFactory.java:158) at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.addLeafsToTier(AnnotationGlyphFactory.java:141) at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.addLeafsToTier(AnnotationGlyphFactory.java:138) at com.affymetrix.igb.view.factories.AnnotationGlyphFactory.createGlyphs(AnnotationGlyphFactory.java:603) at com.affymetrix.igb.view.TrackView.addAnnotationGlyphs(TrackView.java:174) at com.affymetrix.igb.view.TrackView.addTracks(TrackView.java:158) at com.affymetrix.igb.view.SeqMapView.addAnnotationTracks(SeqMapView.java:1015) at com.affymetrix.igb.view.SeqMapView.addGlyphs(SeqMapView.java:968) at com.affymetrix.igb.view.SeqMapView.setAnnotatedSeq(SeqMapView.java:806) at com.affymetrix.igb.view.SeqMapView.updatePanel(SeqMapView.java:2326) at com.affymetrix.igb.action.SeqMapViewActionA.refreshMap(SeqMapViewActionA.java:71) at com.affymetrix.igb.action.ColorByAction.actionPerformed(ColorByAction.java:86) 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
            karthik Karthik Raveendran added a comment -

            New Commit - fixing the above problems and handle pbmc_3col_barcodes_second.tsv: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/da99e3d0c74a31becab341f8dfcda9c8774f52b0

            Show
            karthik Karthik Raveendran added a comment - New Commit - fixing the above problems and handle pbmc_3col_barcodes_second.tsv: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/da99e3d0c74a31becab341f8dfcda9c8774f52b0
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment - - edited

            Previously outlined issues:
            Issue #2 that I outlined in my last comment is not quite fixed. Now, importing that file while in Cluster View does populate the table with data, but it's not in the Cluster View format, it's in the Raw View format. The "Switch to Raw View" button is there, so I clicked on that and it transformed the data into Cluster View format. The button still says "Switch to Raw View". When I click it again, then the tables begin behaving as expected.

            As for Issue #5, I am now limited to one row in the Cluster View for manually adding data. Neither clicking the checkbox nor adding text to the Cluster column creates a second editable row. If this is the desired behavior, then please ignore.

            New issues I've found:
            I've tested the option to Color by a SAMtag other than the five default options, such as "GN", but I then get a pop-up with the following message when I do this:

            "You entered parameter GN. Unfortunately, the Track Operation you selected cannot accept this value. More information about this problem may be available in the Console tab."
            

            This pop-up window is hard to get rid of, by which I mean that I have to click any of the three buttons (red X, Copy Error Message, or OK) three times in order for it to be dismissed. Also, since this SAMtag is present in my dataset's Selection Info, I wonder if this feature isn't working as expected.

            Finally, I noticed that the default colors upon import seem to be hardcoded. Regardless of the values in the Cluster column, the order of colors is always the same. I'm not sure if this was the case in the previous commit. Example file: pbmc_3col_clust_underscore.tsv

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - - edited Previously outlined issues: Issue #2 that I outlined in my last comment is not quite fixed. Now, importing that file while in Cluster View does populate the table with data, but it's not in the Cluster View format, it's in the Raw View format. The "Switch to Raw View" button is there, so I clicked on that and it transformed the data into Cluster View format. The button still says "Switch to Raw View". When I click it again, then the tables begin behaving as expected. As for Issue #5, I am now limited to one row in the Cluster View for manually adding data. Neither clicking the checkbox nor adding text to the Cluster column creates a second editable row. If this is the desired behavior, then please ignore. New issues I've found: I've tested the option to Color by a SAMtag other than the five default options, such as "GN", but I then get a pop-up with the following message when I do this: "You entered parameter GN. Unfortunately, the Track Operation you selected cannot accept this value. More information about this problem may be available in the Console tab." This pop-up window is hard to get rid of, by which I mean that I have to click any of the three buttons (red X, Copy Error Message, or OK) three times in order for it to be dismissed. Also, since this SAMtag is present in my dataset's Selection Info, I wonder if this feature isn't working as expected. Finally, I noticed that the default colors upon import seem to be hardcoded. Regardless of the values in the Cluster column, the order of colors is always the same. I'm not sure if this was the case in the previous commit. Example file: pbmc_3col_clust_underscore.tsv
            Hide
            karthik Karthik Raveendran added a comment -

            All errors mentioned above has been fixed and Udaya Chinta's changes are included in the commit: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/c5a55976b22bb8c0d950d75ca822de91519a73e3

            Nowlan Freese and Paige Kulzer If you have the time, It ould be great if you can test this commit. I will be online whenever you need me for any changes

            Show
            karthik Karthik Raveendran added a comment - All errors mentioned above has been fixed and Udaya Chinta 's changes are included in the commit: https://bitbucket.org/KarthikRavee91/karthikfork-igb/commits/c5a55976b22bb8c0d950d75ca822de91519a73e3 Nowlan Freese and Paige Kulzer If you have the time, It ould be great if you can test this commit. I will be online whenever you need me for any changes
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            Issue #2 now appears to be fixed. The custom SAMtag feature also appears to be working now! I tested with several different values, including BC and CIGAR.

            Adding a manual entry to the Cluster view and then switching back to the Tags view populates the entire table with rows of that Cluster and Color. Karthik Raveendran Is this desired behavior?

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - Issue #2 now appears to be fixed. The custom SAMtag feature also appears to be working now! I tested with several different values, including BC and CIGAR. Adding a manual entry to the Cluster view and then switching back to the Tags view populates the entire table with rows of that Cluster and Color. Karthik Raveendran Is this desired behavior?
            Hide
            nfreese Nowlan Freese added a comment -

            Some issues I ran into:

            1. On my system, after I have colored a track by samtags, if I right-click on the track name and select Color by... again it takes several seconds for the Color By window to appear (should be instant). This behavior does not occur on Main branch (as of Dec 8, 2025). I checked on both the most recent commit and the commit before Udaya's code change, and the behavior was consistent, so I don't think it has to do with Udaya's changes. The behavior only occurs when a Color has been applied to the track, if I remove the color then right-clicking to select Color by... is instantaneous. I want to check that this behavior is reproducible on someone else's machine.
            2. The order of the tags in IGB appears to be the same order as the imported file. If that is the case, I am missing the first two lines of data from the file if there is no header. If there is a header I am missing the first line of data.
            3. Color by Samtags import button opens the default Java file chooser. Should use the JavaFX file chooser used by the rest of IGB. I would create a new ticket for this issue.
            Show
            nfreese Nowlan Freese added a comment - Some issues I ran into: On my system, after I have colored a track by samtags, if I right-click on the track name and select Color by... again it takes several seconds for the Color By window to appear (should be instant). This behavior does not occur on Main branch (as of Dec 8, 2025). I checked on both the most recent commit and the commit before Udaya's code change, and the behavior was consistent, so I don't think it has to do with Udaya's changes. The behavior only occurs when a Color has been applied to the track, if I remove the color then right-clicking to select Color by... is instantaneous. I want to check that this behavior is reproducible on someone else's machine. The order of the tags in IGB appears to be the same order as the imported file. If that is the case, I am missing the first two lines of data from the file if there is no header. If there is a header I am missing the first line of data. Color by Samtags import button opens the default Java file chooser. Should use the JavaFX file chooser used by the rest of IGB. I would create a new ticket for this issue.
            Hide
            nfreese Nowlan Freese added a comment -
            • Assume there is a header, don't skip second line.
            • No requirement for SAMtag if user has clicked Clear all or there is no data.
            • Block user interaction with Cluster table if tags are empty OR block user ability to modify cluster name in cluster table.
            • Check/improve behavior when changing cluster names.
            • Importing two columns (tag/cluster#) does not appear to be working.
            Show
            nfreese Nowlan Freese added a comment - Assume there is a header, don't skip second line. No requirement for SAMtag if user has clicked Clear all or there is no data. Block user interaction with Cluster table if tags are empty OR block user ability to modify cluster name in cluster table. Check/improve behavior when changing cluster names. Importing two columns (tag/cluster#) does not appear to be working.
            Hide
            karthik Karthik Raveendran added a comment - - edited
            • Color by Samtags import button opens the default Java file chooser. Should use the JavaFX file chooser used by the rest of IGB. I would create a new ticket for this issue.commit
            • Assume there is a header, don't skip second line.commit
            • Check/improve behavior when changing cluster names.
            • Importing two columns (tag/cluster#) does not appear to be working.commit
            • No requirement for SAMtag if user has clicked Clear all or there is no data.
            • Block user interaction with Cluster table if tags are empty OR block user ability to modify cluster name in cluster table.
            Show
            karthik Karthik Raveendran added a comment - - edited Color by Samtags import button opens the default Java file chooser. Should use the JavaFX file chooser used by the rest of IGB. I would create a new ticket for this issue. commit Assume there is a header, don't skip second line. commit Check/improve behavior when changing cluster names. Importing two columns (tag/cluster#) does not appear to be working. commit No requirement for SAMtag if user has clicked Clear all or there is no data. Block user interaction with Cluster table if tags are empty OR block user ability to modify cluster name in cluster table.
            Hide
            nfreese Nowlan Freese added a comment - - edited
            1. use the JavaFX file chooser (DONE)
            2. don't skip second line (DONE)
            3. improve behavior when changing cluster names (I think this is DONE?)
            4. Fix importing two columns (DONE)
            Show
            nfreese Nowlan Freese added a comment - - edited use the JavaFX file chooser ( DONE ) don't skip second line ( DONE ) improve behavior when changing cluster names ( I think this is DONE? ) Fix importing two columns ( DONE )
            Hide
            karthik Karthik Raveendran added a comment - - edited
            • Fix importing two columns - Two column import is working, but now when I try to import a three column csv (barcode, cluster, color) the color is defaulting to gray. [commit | Fix importing two columns - Two column import is working, but now when I try to import a three column csv (barcode, cluster, color) the color is defaulting to gray.]
            • Table window should appear above Color by modal in Mac commit
            • Moving table render in Configure Tag Value button rather Color by menu item SAMtags to avoid speed issues. This will create a better workflow with the IGBF-4344 changes commit
            • No requirement for SAMtag if user has clicked Clear all or there is no data. commit
            Show
            karthik Karthik Raveendran added a comment - - edited Fix importing two columns - Two column import is working, but now when I try to import a three column csv (barcode, cluster, color) the color is defaulting to gray. [commit | Fix importing two columns - Two column import is working, but now when I try to import a three column csv (barcode, cluster, color) the color is defaulting to gray.] Table window should appear above Color by modal in Mac commit Moving table render in Configure Tag Value button rather Color by menu item SAMtags to avoid speed issues. This will create a better workflow with the IGBF-4344 changes commit No requirement for SAMtag if user has clicked Clear all or there is no data. commit
            Hide
            uchinta Udaya Chinta (Inactive) added a comment -

            Steps to test:

            1. Right click on the bam file
            2. Open ColorBy
            3. Select SamTags from dropdown
            4. Click on Configure Tag Color Mapping
            5. Samtools Tag Color Mapping table appears

            case 1: (expected)
            Action : Do not select anything, click save and apply.
            Result : Reads turned into gray color.

            case 2: (expected)
            Action : Click on view by cluster and click save and apply
            Result : Reads turned into gray color.

            case 3 : (expected)
            Action : import file and click save and apply
            Result : Error Message displayed

            case 4: (expected)
            Action: import file and click clear all and click save and apply
            Result : Reads turned into gray color.

            case 5: (expected)
            Action: import file and click save and apply and now apply monster without gaps
            Result: Reads are colored

            case 6: (check this case)
            Action: import file and click save and apply and again Select SamTags from dropdown
            now click on ok
            Result: reads turned to gray color

            case 7: (check this case)
            Action: select first row and import file
            Result: First row tag value is not visible

            case 8: (check this case)
            Action: Enter tag value manually and click import file and import data
            Result: Manually entered value got removed.

            case 9: (check this case)
            Action: Enter tag value (GAGTTTGTCCCTTCCC-1) and tick the check box
            Result : Error Message displayed

            case 10: (expected)
            Action: Enter tag value (GAGTTTGTCCCTTCCC-1) and tick the check box and change color
            Result : Particular read color got changed

            Cc : Karthik Raveendran, Dr.Nowlan Freese

            Show
            uchinta Udaya Chinta (Inactive) added a comment - Steps to test: 1. Right click on the bam file 2. Open ColorBy 3. Select SamTags from dropdown 4. Click on Configure Tag Color Mapping 5. Samtools Tag Color Mapping table appears case 1: (expected) Action : Do not select anything, click save and apply. Result : Reads turned into gray color. case 2: (expected) Action : Click on view by cluster and click save and apply Result : Reads turned into gray color. case 3 : (expected) Action : import file and click save and apply Result : Error Message displayed case 4: (expected) Action: import file and click clear all and click save and apply Result : Reads turned into gray color. case 5: (expected) Action: import file and click save and apply and now apply monster without gaps Result: Reads are colored case 6: (check this case) Action: import file and click save and apply and again Select SamTags from dropdown now click on ok Result: reads turned to gray color case 7: (check this case) Action: select first row and import file Result: First row tag value is not visible case 8: (check this case) Action: Enter tag value manually and click import file and import data Result: Manually entered value got removed. case 9: (check this case) Action: Enter tag value (GAGTTTGTCCCTTCCC-1) and tick the check box Result : Error Message displayed case 10: (expected) Action: Enter tag value (GAGTTTGTCCCTTCCC-1) and tick the check box and change color Result : Particular read color got changed Cc : Karthik Raveendran , Dr. Nowlan Freese
            Hide
            karthik Karthik Raveendran added a comment -

            The final squashed commit has been pushed. A few bug fixes that include a fix for SAMtags table window appearing behind the Color by window (saideepthi jagarapu) and the cluster name editing issue is included in 63d5298

            Nowlan Freese and Paige Kulzer With that we are ready for testing.

            Show
            karthik Karthik Raveendran added a comment - The final squashed commit has been pushed. A few bug fixes that include a fix for SAMtags table window appearing behind the Color by window ( saideepthi jagarapu ) and the cluster name editing issue is included in 63d5298 Nowlan Freese and Paige Kulzer With that we are ready for testing.
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment -

            Tested Karthik's IGBF-4295 branch with my initial testing instructions as well Udaya's testing flow above and the workflow outlined on IGBF-4344.

            No observed speed issues when using relatively large files to color by. The behavior for changing cluster values has been much improved. The warning that is displayed when no cluster information for the Cluster view is available is very clear, and no errors are being thrown with these new changes. There no longer needs to be a SAMtag value selected when trying to close an empty Color by window. I made sure that all types of files could be imported, including files with two columns, three columns, space vs semi-colon vs tab separated, no color column, etc. All issues appear to have been fixed. Good work, Karthik!

            I also tested IGBF-4295-2 branch which includes Deepthi's changes from IGBF-4371. The SAMtools Tag Color Mapping window is no longer opening behind the Color By window. I'm not seeing any new errors or loss of functionality as a result of these changes.

            Karthik Raveendran, ready for next steps!

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - Tested Karthik's IGBF-4295 branch with my initial testing instructions as well Udaya's testing flow above and the workflow outlined on IGBF-4344 . No observed speed issues when using relatively large files to color by. The behavior for changing cluster values has been much improved. The warning that is displayed when no cluster information for the Cluster view is available is very clear, and no errors are being thrown with these new changes. There no longer needs to be a SAMtag value selected when trying to close an empty Color by window. I made sure that all types of files could be imported, including files with two columns, three columns, space vs semi-colon vs tab separated, no color column, etc. All issues appear to have been fixed. Good work, Karthik! I also tested IGBF-4295 -2 branch which includes Deepthi's changes from IGBF-4371 . The SAMtools Tag Color Mapping window is no longer opening behind the Color By window. I'm not seeing any new errors or loss of functionality as a result of these changes. Karthik Raveendran , ready for next steps!
            Show
            karthik Karthik Raveendran added a comment - PR Submitted: https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/1088
            Hide
            ann.loraine Ann Loraine added a comment -

            PR is merged and installers are built and deployed to bioviz.org early access section.
            Ready for testing!

            Show
            ann.loraine Ann Loraine added a comment - PR is merged and installers are built and deployed to bioviz.org early access section. Ready for testing!
            Hide
            nfreese Nowlan Freese added a comment - - edited

            case 6: (check this case)
            Action: import file and click save and apply and again Select SamTags from dropdown
            now click on ok
            Result: reads turned to gray color
            UPDATE: It looks like even though the SAMtag colors are added, because the user is changing from SAMtags to something else and then back in the Color By window IGB is forgetting what the SAMtag colors are and defaulting to gray. Karthik and Nowlan discussed this and this is more or less the intended behavior.

            case 7: (check this case)
            Action: select first row and import file
            Result: First row tag value is not visible
            UPDATE: This appears to be resolved.

            case 8: (check this case)
            Action: Enter tag value manually and click import file and import data
            Result: Manually entered value got removed.
            UPDATE: I think this should be the intended behavior.

            case 9: (check this case)
            Action: Enter tag value (GAGTTTGTCCCTTCCC-1) and tick the check box
            Result : Error Message displayed
            UPDATE: Not able to reproduce this issue.

            Action: Import data.
            Result: The imported data occupies the entire table, there is no way to add additional user-entered tag values at the bottom
            UPDATE: This was discussed, and the conclusion we reached was that if the user is importing data they cannot add additional rows to the table.

            Action: Enter a manual tag value
            Result: The row remains unchecked. If the user clicks Save and Apply they will not see the change. I think the intended behavior should be that if a user adds values to a row, the row should become checked automatically.
            UPDATE: Created IGBF-4379

            Action: Enter a manual tag and cluster value. Click View by Cluster. Enter a manual cluster and give it a color. Click View by Tags.
            Result: The new cluster populates the rest of the table. Would be good to prevent user from manually adding a cluster in the View by Cluster.
            UPDATE: Created IGBF-4378

            Show
            nfreese Nowlan Freese added a comment - - edited case 6: (check this case) Action: import file and click save and apply and again Select SamTags from dropdown now click on ok Result: reads turned to gray color UPDATE : It looks like even though the SAMtag colors are added, because the user is changing from SAMtags to something else and then back in the Color By window IGB is forgetting what the SAMtag colors are and defaulting to gray. Karthik and Nowlan discussed this and this is more or less the intended behavior. case 7: (check this case) Action: select first row and import file Result: First row tag value is not visible UPDATE : This appears to be resolved. case 8: (check this case) Action: Enter tag value manually and click import file and import data Result: Manually entered value got removed. UPDATE : I think this should be the intended behavior. case 9: (check this case) Action: Enter tag value (GAGTTTGTCCCTTCCC-1) and tick the check box Result : Error Message displayed UPDATE : Not able to reproduce this issue. Action: Import data. Result : The imported data occupies the entire table, there is no way to add additional user-entered tag values at the bottom UPDATE : This was discussed, and the conclusion we reached was that if the user is importing data they cannot add additional rows to the table. Action: Enter a manual tag value Result : The row remains unchecked. If the user clicks Save and Apply they will not see the change. I think the intended behavior should be that if a user adds values to a row, the row should become checked automatically. UPDATE: Created IGBF-4379 Action: Enter a manual tag and cluster value. Click View by Cluster. Enter a manual cluster and give it a color. Click View by Tags. Result : The new cluster populates the rest of the table. Would be good to prevent user from manually adding a cluster in the View by Cluster. UPDATE: Created IGBF-4378
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment - - edited

            Found an issue today while doing some secondary testing with Dr. Freese. This issue was not present before the implementation of the JavaFX file finder.

            Action: Click Import... Then, without clicking anything in the file finder that comes up, close out both of the SAMtags Color By windows, then close the file finder.
            Result: IGB freezes and needs to be force quit.
            UPDATE: Created IGBF-4376

            Action: Hard to reproduce, but right-click the track and click Color by...
            Result: Sometimes, the Color by window will open in the top-left corner of my screen rather than centered on IGB.
            UPDATE: Created IGBF-4377

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - - edited Found an issue today while doing some secondary testing with Dr. Freese. This issue was not present before the implementation of the JavaFX file finder. Action: Click Import... Then, without clicking anything in the file finder that comes up, close out both of the SAMtags Color By windows, then close the file finder. Result: IGB freezes and needs to be force quit. UPDATE: Created IGBF-4376 Action: Hard to reproduce, but right-click the track and click Color by... Result: Sometimes, the Color by window will open in the top-left corner of my screen rather than centered on IGB. UPDATE: Created IGBF-4377
            Hide
            karthik Karthik Raveendran added a comment - - edited

            Add/Remove/Edit button sometimes disappears from Filter by if the existing chain filter has long string values, Fix in commit

            UPDATE - moved to IGBF-4375

            Show
            karthik Karthik Raveendran added a comment - - edited Add/Remove/Edit button sometimes disappears from Filter by if the existing chain filter has long string values, Fix in commit UPDATE - moved to IGBF-4375
            Hide
            pkulzer Paige Kulzer (Inactive) added a comment - - edited

            Seeing an error when exiting the Edit filter window via the Red X.

            Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer (java.lang.String and java.lang.Integer are in module java.base of loader 'bootstrap')
            	at com.affymetrix.igb.util.ConfigureFilters.beginEditing(ConfigureFilters.java:262)
            	at com.affymetrix.igb.util.ConfigureFilters.editButtonActionPerformed(ConfigureFilters.java:158)
            	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
            	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)
            

            I'm not sure if this was a pre-existing issue because I do recall seeing this before but I can't find evidence of that in any related tickets. Otherwise, I am able to see and interact with the Add/Remove/Edit buttons even after adding a long string of values. The issue of those disappearing appears to have been fixed.

            UPDATE - moved to IGBF-4375

            Show
            pkulzer Paige Kulzer (Inactive) added a comment - - edited Seeing an error when exiting the Edit filter window via the Red X. Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang. String cannot be cast to class java.lang. Integer (java.lang. String and java.lang. Integer are in module java.base of loader 'bootstrap') at com.affymetrix.igb.util.ConfigureFilters.beginEditing(ConfigureFilters.java:262) at com.affymetrix.igb.util.ConfigureFilters.editButtonActionPerformed(ConfigureFilters.java:158) 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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) 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) I'm not sure if this was a pre-existing issue because I do recall seeing this before but I can't find evidence of that in any related tickets. Otherwise, I am able to see and interact with the Add/Remove/Edit buttons even after adding a long string of values. The issue of those disappearing appears to have been fixed. UPDATE - moved to IGBF-4375
            Hide
            nfreese Nowlan Freese added a comment -

            Ticket was tested on mac using installer. Some minor issues were identified (see previous comments). After discussion we have triaged the issues that should be addressed and have created new tickets.

            Closing ticket.

            Show
            nfreese Nowlan Freese added a comment - Ticket was tested on mac using installer. Some minor issues were identified (see previous comments). After discussion we have triaged the issues that should be addressed and have created new tickets. Closing ticket.

              People

              • Assignee:
                karthik Karthik Raveendran
                Reporter:
                karthik Karthik Raveendran
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: