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

Fix IGB unable to load files/folders with spaces

    Details

    • Type: Bug
    • Status: In Progress (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      Situation: A user reported an issue loading a local file in IGB 10.0.0. The issue appears to be that there was an illegal character, a space, in the name of a folder on the path to the file. The issue was not present in IGB 9.1.10. Therefore, the issue may be due to our upgrade in either the htsjdk or in Java.

      The two filetypes affected appear to be bigwig and bigbed. Example files can be found here: https://data.bioviz.org/smokeTestingQuickload/H_sapiens_Dec_2013/

      Task: Allow IGB to load bigwig and bigbed files from local paths that contain spaces.

        Attachments

          Issue Links

            Activity

            Hide
            nfreese Nowlan Freese added a comment -

            Error:

            11:54:11.779 ERROR c.a.genometry.thread.CThreadWorker - class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476)
            java.lang.ClassCastException: class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1022)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1001)
            	at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73)
            	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
            	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
            	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
            	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
            	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
            	at java.base/java.lang.Thread.run(Thread.java:1583)
            11:54:12.198 ERROR c.a.igb.view.load.GeneralLoadUtils - null
            java.util.concurrent.ExecutionException: java.lang.ClassCastException: class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476)
            	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
            	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
            	at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:612)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$3.finished(GeneralLoadUtils.java:1050)
            	at com.affymetrix.genometry.thread.CThreadWorker.done(CThreadWorker.java:51)
            	at java.desktop/javax.swing.SwingWorker$4.run(SwingWorker.java:749)
            	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847)
            	at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
            	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857)
            	at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
            	at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
            	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
            	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
            	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
            	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
            	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
            	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
            	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
            	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
            	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
            	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
            Caused by: java.lang.ClassCastException: class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1022)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1001)
            	at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73)
            	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
            	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
            	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
            	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
            	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
            	at java.base/java.lang.Thread.run(Thread.java:1583)
            Mar 27, 2024 11:54:15 AM com.affymetrix.genometry.quickload.QuickLoadSymLoader logException
            WARNING: The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI
            java.lang.IllegalArgumentException: The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI
            	at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:106)
            	at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:78)
            	at com.gene.bigwighandler.BigWigSymLoader.initbbReader(BigWigSymLoader.java:89)
            	at com.gene.bigwighandler.BigWigSymLoader.init(BigWigSymLoader.java:62)
            	at com.gene.bigwighandler.BigWigSymLoader.getChromosomeList(BigWigSymLoader.java:106)
            	at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadAndAddSymmetries(QuickLoadSymLoader.java:153)
            	at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadSymmetriesThread(QuickLoadSymLoader.java:139)
            	at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadFeatures(QuickLoadSymLoader.java:119)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils.loadFeaturesForSym(GeneralLoadUtils.java:749)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:691)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:686)
            	at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73)
            	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
            	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
            	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
            	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
            	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
            	at java.base/java.lang.Thread.run(Thread.java:1583)
            Caused by: java.net.URISyntaxException: Illegal character in path at index 48: file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig
            	at java.base/java.net.URI$Parser.fail(URI.java:2995)
            	at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
            	at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248)
            	at java.base/java.net.URI$Parser.parse(URI.java:3196)
            	at java.base/java.net.URI.<init>(URI.java:645)
            	at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:103)
            	... 17 more
            
            11:54:15.170 ERROR c.a.igb.view.load.GeneralLoadUtils - The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI
            java.lang.IllegalArgumentException: The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI
            	at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:106)
            	at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:78)
            	at com.gene.bigwighandler.BigWigSymLoader.initbbReader(BigWigSymLoader.java:89)
            	at com.gene.bigwighandler.BigWigSymLoader.init(BigWigSymLoader.java:62)
            	at com.gene.bigwighandler.BigWigSymLoader.getChromosomeList(BigWigSymLoader.java:106)
            	at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadAndAddSymmetries(QuickLoadSymLoader.java:153)
            	at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadSymmetriesThread(QuickLoadSymLoader.java:139)
            	at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadFeatures(QuickLoadSymLoader.java:119)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils.loadFeaturesForSym(GeneralLoadUtils.java:749)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:691)
            	at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:686)
            	at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73)
            	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
            	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
            	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
            	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
            	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
            	at java.base/java.lang.Thread.run(Thread.java:1583)
            Caused by: java.net.URISyntaxException: Illegal character in path at index 48: file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig
            	at java.base/java.net.URI$Parser.fail(URI.java:2995)
            	at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
            	at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248)
            	at java.base/java.net.URI$Parser.parse(URI.java:3196)
            	at java.base/java.net.URI.<init>(URI.java:645)
            	at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:103)
            	... 17 common frames omitted
            
            
            Show
            nfreese Nowlan Freese added a comment - Error: 11:54:11.779 ERROR c.a.genometry.thread.CThreadWorker - class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476) java.lang.ClassCastException: class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476) at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1022) at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1001) at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang. Thread .run( Thread .java:1583) 11:54:12.198 ERROR c.a.igb.view.load.GeneralLoadUtils - null java.util.concurrent.ExecutionException: java.lang.ClassCastException: class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476) at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:612) at com.affymetrix.igb.view.load.GeneralLoadUtils$3.finished(GeneralLoadUtils.java:1050) at com.affymetrix.genometry.thread.CThreadWorker.done(CThreadWorker.java:51) at java.desktop/javax.swing.SwingWorker$4.run(SwingWorker.java:749) at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847) at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112) at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857) at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311) at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.lang.ClassCastException: class com.gene.bigwighandler.BigWigSymLoader cannot be cast to class com.affymetrix.genometry.quickload.QuickLoadSymLoader (com.gene.bigwighandler.BigWigSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60df7989; com.affymetrix.genometry.quickload.QuickLoadSymLoader is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @7be71476) at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1022) at com.affymetrix.igb.view.load.GeneralLoadUtils$3.runInBackground(GeneralLoadUtils.java:1001) at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang. Thread .run( Thread .java:1583) Mar 27, 2024 11:54:15 AM com.affymetrix.genometry.quickload.QuickLoadSymLoader logException WARNING: The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI java.lang.IllegalArgumentException: The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:106) at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:78) at com.gene.bigwighandler.BigWigSymLoader.initbbReader(BigWigSymLoader.java:89) at com.gene.bigwighandler.BigWigSymLoader.init(BigWigSymLoader.java:62) at com.gene.bigwighandler.BigWigSymLoader.getChromosomeList(BigWigSymLoader.java:106) at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadAndAddSymmetries(QuickLoadSymLoader.java:153) at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadSymmetriesThread(QuickLoadSymLoader.java:139) at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadFeatures(QuickLoadSymLoader.java:119) at com.affymetrix.igb.view.load.GeneralLoadUtils.loadFeaturesForSym(GeneralLoadUtils.java:749) at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:691) at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:686) at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang. Thread .run( Thread .java:1583) Caused by: java.net.URISyntaxException: Illegal character in path at index 48: file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig at java.base/java.net.URI$Parser.fail(URI.java:2995) at java.base/java.net.URI$Parser.checkChars(URI.java:3166) at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248) at java.base/java.net.URI$Parser.parse(URI.java:3196) at java.base/java.net.URI.<init>(URI.java:645) at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:103) ... 17 more 11:54:15.170 ERROR c.a.igb.view.load.GeneralLoadUtils - The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI java.lang.IllegalArgumentException: The input string file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig contains a URI scheme but is not a valid URI at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:106) at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:78) at com.gene.bigwighandler.BigWigSymLoader.initbbReader(BigWigSymLoader.java:89) at com.gene.bigwighandler.BigWigSymLoader.init(BigWigSymLoader.java:62) at com.gene.bigwighandler.BigWigSymLoader.getChromosomeList(BigWigSymLoader.java:106) at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadAndAddSymmetries(QuickLoadSymLoader.java:153) at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadSymmetriesThread(QuickLoadSymLoader.java:139) at com.affymetrix.genometry.quickload.QuickLoadSymLoader.loadFeatures(QuickLoadSymLoader.java:119) at com.affymetrix.igb.view.load.GeneralLoadUtils.loadFeaturesForSym(GeneralLoadUtils.java:749) at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:691) at com.affymetrix.igb.view.load.GeneralLoadUtils$2.runInBackground(GeneralLoadUtils.java:686) at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang. Thread .run( Thread .java:1583) Caused by: java.net.URISyntaxException: Illegal character in path at index 48: file:/Users/lorainelab/Desktop/tmp_testFiles/ngs files/O'kli/GSM_CHIP_STAT_STUFF/BigWig_HomoSapien.bigWig at java.base/java.net.URI$Parser.fail(URI.java:2995) at java.base/java.net.URI$Parser.checkChars(URI.java:3166) at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248) at java.base/java.net.URI$Parser.parse(URI.java:3196) at java.base/java.net.URI.<init>(URI.java:645) at htsjdk.samtools.seekablestream.SeekableStreamFactory$DefaultSeekableStreamFactory.getStreamFor(SeekableStreamFactory.java:103) ... 17 common frames omitted
            Hide
            nfreese Nowlan Freese added a comment - - edited

            Attempting to build release-9.1.10 to compare to main branch. I'm seeing the following error:

            [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:copy (copy) on project shared-lib-wrapper: Unable to find artifact.: The following artifacts could not be resolved: org.lorainelab.igb:org.lorainelab.igb.error.reporter.api:jar:1.0.0 (absent): org.lorainelab.igb:org.lorainelab.igb.error.reporter.api:jar:1.0.0 was not found in https://maven.bioviz.org/repo1
            

            Ann Loraine - did we move the artifact org.lorainelab.igb.error.reporter.api out of repo1?

            Show
            nfreese Nowlan Freese added a comment - - edited Attempting to build release-9.1.10 to compare to main branch. I'm seeing the following error: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:copy (copy) on project shared-lib-wrapper: Unable to find artifact.: The following artifacts could not be resolved: org.lorainelab.igb:org.lorainelab.igb.error.reporter.api:jar:1.0.0 (absent): org.lorainelab.igb:org.lorainelab.igb.error.reporter.api:jar:1.0.0 was not found in https: //maven.bioviz.org/repo1 Ann Loraine - did we move the artifact org.lorainelab.igb.error.reporter.api out of repo1?
            Hide
            nfreese Nowlan Freese added a comment - - edited

            BigWigSymLoader.java in initbbReader is making a call to SeekableStreamFactory in the HTSJDK. We didn't make any changes to BigWigSymLoader as part of the upgrade to JDK21. However, there was a commit in 2020 that changed how the handling of file paths occurred in SeekableStreamFactory.java.

            2020 code:

            // convert to URI in order to obtain a decoded version of the path string suitable
                                // for use with the File constructor
                                final String decodedPath = new URI(path).getPath();
                                return new SeekableFileStream(new File(decodedPath));
            

            2016 code:

            else if (path.startsWith("file:")) {
                            return new SeekableFileStream(new File(new URL(path).getPath()));
            

            It looks like the SeekableStreamFactory.java code is changed again in the most recent commit.

            We may just need to re-encode the URI before we send it to the SeekableStreamFactory (works in debug mode). However, it is unclear what the most recent changes to the HTSJDK will expect, so we will need to test this again after Kaushik's changes to the HTSJDK.

            From initial testing it appears that only bigWig and bigBed were affected, but may need to double-check. I'm curious as to how/if we are using other filetypes with the SeekableStreamFactory.

            UPDATE - It looks like the main diff in the 2020 vs 2016 HTSJDK code is changing from a Java URL to URI. It looks like URI does not encode spaces the same way that URL does, which matches with the issue we are seeing. See this stackoverflow for more info.

            UPDATE 2 - Our code (BigWigSymLoader) was using a URI, but because the 2016 HTSJDK was expecting a URL we were using GeneralUtils.URLDecode on the URI. This seems to be the issue.

            UPDATE 3 - See IGBF-1471 and this commit for the last time we made a change to the above logic.

            Show
            nfreese Nowlan Freese added a comment - - edited BigWigSymLoader.java in initbbReader is making a call to SeekableStreamFactory in the HTSJDK. We didn't make any changes to BigWigSymLoader as part of the upgrade to JDK21. However, there was a commit in 2020 that changed how the handling of file paths occurred in SeekableStreamFactory.java . 2020 code : // convert to URI in order to obtain a decoded version of the path string suitable // for use with the File constructor final String decodedPath = new URI(path).getPath(); return new SeekableFileStream( new File(decodedPath)); 2016 code : else if (path.startsWith( "file:" )) { return new SeekableFileStream( new File( new URL(path).getPath())); It looks like the SeekableStreamFactory.java code is changed again in the most recent commit . We may just need to re-encode the URI before we send it to the SeekableStreamFactory (works in debug mode). However, it is unclear what the most recent changes to the HTSJDK will expect, so we will need to test this again after Kaushik's changes to the HTSJDK. From initial testing it appears that only bigWig and bigBed were affected, but may need to double-check. I'm curious as to how/if we are using other filetypes with the SeekableStreamFactory. UPDATE - It looks like the main diff in the 2020 vs 2016 HTSJDK code is changing from a Java URL to URI. It looks like URI does not encode spaces the same way that URL does, which matches with the issue we are seeing. See this stackoverflow for more info. UPDATE 2 - Our code (BigWigSymLoader) was using a URI, but because the 2016 HTSJDK was expecting a URL we were using GeneralUtils.URLDecode on the URI. This seems to be the issue. UPDATE 3 - See IGBF-1471 and this commit for the last time we made a change to the above logic.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Update on build error:

            • I have confirmed on my fork that release-9.1.10 cannot build; I observed the same error reported by Nowlan Freese
            • In between release of IGB 9.1.10 and IGB 10.0.0, we moved our "legacy" maven repositories to a new host. In the process I guess that artifact was lost?
            • I have re-started the old host with the old data deployed. I configured the firewall to allow login from any IP address. This is so that we can retrieve the missing artifact if required.
            • I am looking on the old host for artifact: org.lorainelab.igb:org.lorainelab.igb.error.reporter.api:jar:1.0.0

            The artifact is here:

            maven.bioviz.org $ pwd
            /var/www/html
            maven.bioviz.org $ find . | grep .jar | grep org.lorainelab.igb.error.reporter.api
            ./repo2/org/lorainelab/igb/org.lorainelab.igb.error.reporter.api/1.0.0/org.lorainelab.igb.error.reporter.api-1.0.0.jar
            ./repo2/org/lorainelab/igb/org.lorainelab.igb.error.reporter.api/1.0.0/org.lorainelab.igb.error.reporter.api-1.0.0.jar.sha1
            ./repo2/org/lorainelab/igb/org.lorainelab.igb.error.reporter.api/1.0.0/org.lorainelab.igb.error.reporter.api-1.0.0.jar.md5
            
            Show
            ann.loraine Ann Loraine added a comment - - edited Update on build error: I have confirmed on my fork that release-9.1.10 cannot build; I observed the same error reported by Nowlan Freese In between release of IGB 9.1.10 and IGB 10.0.0, we moved our "legacy" maven repositories to a new host. In the process I guess that artifact was lost? I have re-started the old host with the old data deployed. I configured the firewall to allow login from any IP address. This is so that we can retrieve the missing artifact if required. I am looking on the old host for artifact: org.lorainelab.igb:org.lorainelab.igb.error.reporter.api:jar:1.0.0 The artifact is here: maven.bioviz.org $ pwd / var /www/html maven.bioviz.org $ find . | grep .jar | grep org.lorainelab.igb.error.reporter.api ./repo2/org/lorainelab/igb/org.lorainelab.igb.error.reporter.api/1.0.0/org.lorainelab.igb.error.reporter.api-1.0.0.jar ./repo2/org/lorainelab/igb/org.lorainelab.igb.error.reporter.api/1.0.0/org.lorainelab.igb.error.reporter.api-1.0.0.jar.sha1 ./repo2/org/lorainelab/igb/org.lorainelab.igb.error.reporter.api/1.0.0/org.lorainelab.igb.error.reporter.api-1.0.0.jar.md5
            Hide
            ann.loraine Ann Loraine added a comment -

            To solve this problem, we will likely need to deploy multiple artifacts. I will work on it Nowlan Freese.

            Packages we will likely need to build IGB 9:

            maven.bioviz.org $ ls org.lorainelab.igb.remote.*
            org.lorainelab.igb.remote.services.commons:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.discovery.provider.configured:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.distribution.provider.http:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.parent:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.topology.manager:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            maven.bioviz.org $ ls org.lorainelab.igb.remote.*
            org.lorainelab.igb.remote.services.commons:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.discovery.provider.configured:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.distribution.provider.http:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.parent:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            org.lorainelab.igb.remote.services.topology.manager:
            1.0.0  maven-metadata.xml  maven-metadata.xml.md5  maven-metadata.xml.sha1
            
            Show
            ann.loraine Ann Loraine added a comment - To solve this problem, we will likely need to deploy multiple artifacts. I will work on it Nowlan Freese . Packages we will likely need to build IGB 9: maven.bioviz.org $ ls org.lorainelab.igb.remote.* org.lorainelab.igb.remote.services.commons: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.discovery.provider.configured: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.distribution.provider.http: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.parent: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.topology.manager: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 maven.bioviz.org $ ls org.lorainelab.igb.remote.* org.lorainelab.igb.remote.services.commons: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.discovery.provider.configured: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.distribution.provider.http: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.parent: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 org.lorainelab.igb.remote.services.topology.manager: 1.0.0 maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1
            Hide
            ann.loraine Ann Loraine added a comment -

            Update:

            • I deployed the missing "error reporting" artifacts to "repo2" on our newer legacy maven repository host available at maven.bioviz.org
            • I confirmed that my fork can build release-9.1.10

            Thank you Nowlan Freese for bringing this error to my attention.

            Show
            ann.loraine Ann Loraine added a comment - Update: I deployed the missing "error reporting" artifacts to "repo2" on our newer legacy maven repository host available at maven.bioviz.org I confirmed that my fork can build release-9.1.10 Thank you Nowlan Freese for bringing this error to my attention.

              People

              • Assignee:
                nfreese Nowlan Freese
                Reporter:
                nfreese Nowlan Freese
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: