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

Investigate error that occurs when loading URLs via a script on Windows

    Details

      Description

      An error is occurring when loading URLs into IGB via a script on Windows. Based on the IGB Log, it looks as though IGB is reading in the ":" character as a "-" in the URLs from the script.

      This error is occurring in both IGB 9.1.10 and 10.0.0 on Windows. This script does work on Mac, which is why I suspect it's specific to Windows, but I have not tried to reproduce it on Linux.

      See attached for a copy of the script (StressTest.igb) that can be used to reproduce this error, as well as a screenshot of the error that pops up (UnableToFindURL.png) and the IGB Log (Log_UnableToFindURLError).

        Attachments

        1. A_thaliana_Jun_2009_Chr1.bam
          143 kB
        2. A_thaliana_Jun_2009_Chr1.bam.bai
          0.1 kB
        3. commandSocketTest.sh
          0.4 kB
        4. Log_UnableToFindURLError
          17 kB
        5. nowlanTest.igb
          0.1 kB
        6. StressTest_quickload.igb
          4 kB
        7. StressTest.igb
          5 kB
        8. UnableToFindURL.png
          UnableToFindURL.png
          17 kB

          Issue Links

            Activity

            Hide
            nfreese Nowlan Freese added a comment -

            I tested the StressTest.igb script on Windows and saw the same error.

            Show
            nfreese Nowlan Freese added a comment - I tested the StressTest.igb script on Windows and saw the same error.
            Hide
            kgopu Kaushik Gopu added a comment - - edited

            While running the script, there are some unusual issues with Windows OS. I was able to resolve issues happening with the HTTP protocol. But when I added a local URI to the script and ran it, the file was deleted from my local. This leads to the file.exists() method returning false, causing a 'file not found' error.

            Show
            kgopu Kaushik Gopu added a comment - - edited While running the script, there are some unusual issues with Windows OS . I was able to resolve issues happening with the HTTP protocol. But when I added a local URI to the script and ran it, the file was deleted from my local. This leads to the file.exists() method returning false, causing a 'file not found' error.
            Hide
            kgopu Kaushik Gopu added a comment - - edited

            Issues Identified: Both are due to changes introduced in IGBF-1286

            • load HTTP is not working.
            • load <local_path> command is not working because the file is getting deleted before the file exists check. This is resulting in a file not found error.

            Solutions:

            • load HTTP is fixed
            • load <local_path> is a fixable error but needs further investigation.

            Ann Loraine, Could you please add instructions on how to use the Command Socket plugin in IGB.

            Show
            kgopu Kaushik Gopu added a comment - - edited Issues Identified: Both are due to changes introduced in IGBF-1286 load HTTP is not working. load <local_path> command is not working because the file is getting deleted before the file exists check. This is resulting in a file not found error. Solutions: load HTTP is fixed load <local_path> is a fixable error but needs further investigation. Ann Loraine , Could you please add instructions on how to use the Command Socket plugin in IGB.
            Hide
            ann.loraine Ann Loraine added a comment -

            Reply to Kaushik Gopu:

            How to use the Command Socket plugin in IGB:

            • Download StressTest.igb (attached)
            • Start IGB
            • Select Tools > App Manager
            • Select Command Socket to install Command Socket plugin app
            • Select Tools > Scripts > Run Script
            • Select StressTest.igb to run the script
            Show
            ann.loraine Ann Loraine added a comment - Reply to Kaushik Gopu : How to use the Command Socket plugin in IGB: Download StressTest.igb (attached) Start IGB Select Tools > App Manager Select Command Socket to install Command Socket plugin app Select Tools > Scripts > Run Script Select StressTest.igb to run the script
            Hide
            nfreese Nowlan Freese added a comment -

            My understanding from the Command Socket App documentation is that the plugin's purpose is to open up a socket on port 7084. It also appears to add some logic around interpreting the shell scripts passed to it, for example:

            igbCommand 'genome A_thaliana_Jun_2009'

            is interpreted by the command socket as the same as the IGB script:

            genome A_thaliana_Jun_2009

            If you run the attached shell script ( commandSocketTest.sh ) with sh commandSocketTest.sh it should save three images to the IGB installation directory. The intent of IGBF-1286 seems to be to allow relative paths to work across systems so that a user could have the images saved to a specific location.

            Show
            nfreese Nowlan Freese added a comment - My understanding from the Command Socket App documentation is that the plugin's purpose is to open up a socket on port 7084. It also appears to add some logic around interpreting the shell scripts passed to it, for example: igbCommand 'genome A_thaliana_Jun_2009' is interpreted by the command socket as the same as the IGB script: genome A_thaliana_Jun_2009 If you run the attached shell script ( commandSocketTest.sh ) with sh commandSocketTest.sh it should save three images to the IGB installation directory. The intent of IGBF-1286 seems to be to allow relative paths to work across systems so that a user could have the images saved to a specific location.
            Hide
            kgopu Kaushik Gopu added a comment - - edited

            Fixed errors occurring while running scripts.

            Fix 1: Loading HTTP URLs in the script.
            Fix 2: Loading local path files in the script.

            Testing Instructions: only on Windows OS

            • Fetch and checkout to this branch
            • Changes are intended for the Windows OS. Therefore, testing should be performed on the Windows device.
            • The script file should cover loading data from local and HTTP and a snapshot of the IGB view (check the nowlanTest file in the attachments.).
            • nowlanTest file doesn't have load HTTP command, so use stressTest.igb file.

            Note: To run the nowlanTest script file, you must have the bam and bai files. Both files are available in the attachments. Download them into the user's home directory (~).

            Show
            kgopu Kaushik Gopu added a comment - - edited Fixed errors occurring while running scripts. Fix 1: Loading HTTP URLs in the script. Fix 2: Loading local path files in the script. Testing Instructions: only on Windows OS Fetch and checkout to this branch Changes are intended for the Windows OS. Therefore, testing should be performed on the Windows device. The script file should cover loading data from local and HTTP and a snapshot of the IGB view (check the nowlanTest file in the attachments.). nowlanTest file doesn't have load HTTP command, so use stressTest.igb file. Note: To run the nowlanTest script file, you must have the bam and bai files. Both files are available in the attachments. Download them into the user's home directory (~).
            Hide
            pkulzer Paige Kulzer added a comment -

            Tested StressTest.igb and nowlanTest.igb in IGB on my Windows machine with Kaushik's fixes incorporated, both scripts functioned correctly (i.e. local and remote HTTP data is being loaded properly into IGB via scripts). I also confirmed that files were not being deleted off of my computer when loading local data in nowlanTest.igb.

            To do: Have Nowlan confirm that he's getting the same results on his Windows machine.

            Show
            pkulzer Paige Kulzer added a comment - Tested StressTest.igb and nowlanTest.igb in IGB on my Windows machine with Kaushik's fixes incorporated, both scripts functioned correctly (i.e. local and remote HTTP data is being loaded properly into IGB via scripts). I also confirmed that files were not being deleted off of my computer when loading local data in nowlanTest.igb. To do: Have Nowlan confirm that he's getting the same results on his Windows machine.
            Hide
            nfreese Nowlan Freese added a comment -

            Tested on Windows 10

            Everything in the following script worked. I was able to load a file via URL as well as a local file. The local file was not deleted. Both images were saved to the correct locations.

            Ready for pull request.

            genome A_thaliana_Jun_2009
            sleep 5000
            load ~\A_thaliana_Jun_2009_Chr1.bam
            sleep 5000
            goto Chr1:10,375,647-10,377,977
            sleep 5000
            refresh
            sleep 5000
            snapshotmainView ~\testimageRelative.jpeg
            sleep 5000
            snapshotmainView C:\Users\Nowlan\Downloads\testDownloadimage.jpeg
            
            Show
            nfreese Nowlan Freese added a comment - Tested on Windows 10 Everything in the following script worked. I was able to load a file via URL as well as a local file. The local file was not deleted. Both images were saved to the correct locations. Ready for pull request. genome A_thaliana_Jun_2009 sleep 5000 load ~\A_thaliana_Jun_2009_Chr1.bam sleep 5000 goto Chr1:10,375,647-10,377,977 sleep 5000 refresh sleep 5000 snapshotmainView ~\testimageRelative.jpeg sleep 5000 snapshotmainView C:\Users\Nowlan\Downloads\testDownloadimage.jpeg
            Hide
            kgopu Kaushik Gopu added a comment - - edited

            PR has been submitted.

            Show
            kgopu Kaushik Gopu added a comment - - edited PR has been submitted.
            Hide
            ann.loraine Ann Loraine added a comment -

            PR is merged. Thank you Kaushik Gopu!

            Show
            ann.loraine Ann Loraine added a comment - PR is merged. Thank you Kaushik Gopu !
            Hide
            ann.loraine Ann Loraine added a comment -

            Installers are built and deployed to the team repo Downloads section and to the bioviz.org "early access" page.

            Ready for testing.

            attn:

            Paige Kulzer
            Nowlan Freese

            Show
            ann.loraine Ann Loraine added a comment - Installers are built and deployed to the team repo Downloads section and to the bioviz.org "early access" page. Ready for testing. attn: Paige Kulzer Nowlan Freese
            Hide
            nfreese Nowlan Freese added a comment -

            Tested main-JDK21-with-javafx-no-theme from loraine lab repository on Windows 10 using the script in my previous comment, script worked correctly.

            Show
            nfreese Nowlan Freese added a comment - Tested main-JDK21-with-javafx-no-theme from loraine lab repository on Windows 10 using the script in my previous comment, script worked correctly.
            Hide
            pkulzer Paige Kulzer added a comment -

            I've also tested main-JDK21-with-javafx-no-theme from loraine lab repository on Windows 10 using the StressTest.igb and nowlanTest.igb scripts, both worked as anticipated. Marking this as closed.

            Show
            pkulzer Paige Kulzer added a comment - I've also tested main-JDK21-with-javafx-no-theme from loraine lab repository on Windows 10 using the StressTest.igb and nowlanTest.igb scripts, both worked as anticipated. Marking this as closed.

              People

              • Assignee:
                kgopu Kaushik Gopu
                Reporter:
                pkulzer Paige Kulzer
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: