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

Test: Create an intron glyph for genoviz-sdk (ArrowHeadGlyph)

    Details

    • Story Points:
      2
    • Sprint:
      Fall 6 2021 Oct 25 - Nov 5, Fall 7 2021 Nov 8 - Nov 24, Fall 8 2021 Nov 29 - Dec 10

      Description

      Karthik Raveendran has created new code for the GenoViz SDK library. The new code includes a new type of Glyph (a graphical element for depicting data) and some demonstration code for developers to view and try out the new Glyph. This new Glyph and the demonstration code need to tested.

      For this task, Karthik Raveendran needs to write some testing instructions, and then a tester (to-be determined, probably Omkar Marne to start with) needs to run the testing instructions and report back if any problems are found. In addition, the tester should report if the testing instructions are unclear or confusing, and suggest any improvements he or she may think of.

      Last but not least, we also need Karthik Raveendran to write a end-user documentation to explain to a developer how to use the demo code, so that they can see the new intron glyph "live" in an application (the demo code) that they can run themselves. We will write the documentation in a later ticket, after performing testing and learning how the demo code works.

        Attachments

        1. Bed1.png
          Bed1.png
          51 kB
        2. Bed2.png
          Bed2.png
          197 kB
        3. Bed3.png
          Bed3.png
          199 kB
        4. BedSequenceDemo.png
          BedSequenceDemo.png
          71 kB
        5. Intron1.png
          Intron1.png
          19 kB
        6. Intron2.png
          Intron2.png
          20 kB
        7. Intron3.png
          Intron3.png
          16 kB
        8. IntronGlyph.jpg
          IntronGlyph.jpg
          2 kB
        9. Pluginerror.png
          Pluginerror.png
          192 kB
        10. Pluginresolve.png
          Pluginresolve.png
          186 kB

          Issue Links

            Activity

            Hide
            karthik Karthik Raveendran added a comment -

            To begin testing this issue:
            Step 1: Please clone genoviz-sdk repo to you local system (I don't think forking this repo is necessary for testing).
            Step 2: Open the project in a Java IDE (I recommend IntelliJ)

            Show
            karthik Karthik Raveendran added a comment - To begin testing this issue: Step 1: Please clone genoviz-sdk repo to you local system (I don't think forking this repo is necessary for testing). Step 2: Open the project in a Java IDE (I recommend IntelliJ)
            Hide
            karthik Karthik Raveendran added a comment -

            There are two parts to this testing - testing the demo class and testing the glyph class. Genoviz-sdk is a java library so both the testing happens at the Java class level - so in some cases the code needs to be changed and then the GUI should be checked to see if the corresponding changes are appearing correctly

            Show
            karthik Karthik Raveendran added a comment - There are two parts to this testing - testing the demo class and testing the glyph class. Genoviz-sdk is a java library so both the testing happens at the Java class level - so in some cases the code needs to be changed and then the GUI should be checked to see if the corresponding changes are appearing correctly
            Hide
            karthik Karthik Raveendran added a comment - - edited

            The glyph class that needs to be tested is IntronGlyph.java (genoviz_sdk/src/main/java/com/affymetrix/genoviz/glyph/IntronGlyph.java). The class generates an arrow in the GUI (NeoMap), where the arrow-head is in the middle of the arrow shaft(see attached image, IntronGlyph).

            To test if the IntronGlyph appears correctly:
            Step 1: Open GlyphTestMap.java (genovizTutorial/src/main/java/com/affymetrix/genoviz/tutorial/GlyphTestMap.java)
            Step 2: In line 37, a string array, 'glyphtypes', is declared. Add "com.affymetrix.genoviz.glyph.IntronGlyph" to the array.
            Step 3: Run GlyphTestMap.java.
            Step 4: In the GUI, select 'com.affymetrix.genoviz.glyph.IntronGlyph' from the dropdown on top of the window and click on 'Add Glyph' button
            Step 5: Change the start,end and color values to your liking and see how if the glyph behaves as expected.

            Repeat the same steps for SimpleMap4 (same folder path) and SimpleSelectableMap (same folder path). In SimpleMap4, change the zoom level by moving the slider on the left side of the window(green background). In SimpleSelectableMap, click on the arrows and check if the boundary boxes appear correctly.

            Show
            karthik Karthik Raveendran added a comment - - edited The glyph class that needs to be tested is IntronGlyph.java (genoviz_sdk/src/main/java/com/affymetrix/genoviz/glyph/IntronGlyph.java). The class generates an arrow in the GUI (NeoMap), where the arrow-head is in the middle of the arrow shaft(see attached image, IntronGlyph). To test if the IntronGlyph appears correctly: Step 1: Open GlyphTestMap.java (genovizTutorial/src/main/java/com/affymetrix/genoviz/tutorial/GlyphTestMap.java) Step 2: In line 37, a string array, 'glyphtypes', is declared. Add "com.affymetrix.genoviz.glyph.IntronGlyph" to the array. Step 3: Run GlyphTestMap.java. Step 4: In the GUI, select 'com.affymetrix.genoviz.glyph.IntronGlyph' from the dropdown on top of the window and click on 'Add Glyph' button Step 5: Change the start,end and color values to your liking and see how if the glyph behaves as expected. Repeat the same steps for SimpleMap4 (same folder path) and SimpleSelectableMap (same folder path). In SimpleMap4, change the zoom level by moving the slider on the left side of the window(green background). In SimpleSelectableMap, click on the arrows and check if the boundary boxes appear correctly.
            Hide
            karthik Karthik Raveendran added a comment - - edited

            The demo class that needs testing is BedSequenceDemo.class (genovizTutorial/src/main/java/com/affymetrix/genoviz/tutorial/BedSequenceDemo.java). The class reads a bed file provided in the data folder (genovizTutorial/src/main/resources/data) and renders the sequences using IntronGlyph and SequenceGlyph(rectangles) types.

            Step 1: Run BedSequenceDemo.class (path above). See if the sequences are being rendered.
            Step 2: In the zoomed out level, observe if the arrowheads are do not appear and only lines connecting rectangles. No arrowheads is correct result.
            Step 3: Click and release on any of the glyphs generated on the map and see if the zoom stripe appears (grey vertical line going down the map intersecting the point you clicked)
            Step 4: Scroll up to see if the map zooms at the stripe. As you zoom in see if the arrow heads start to appear when there is enough space between the rectangles.
            Step 5: Click on any of the glyphs and check if the glyph is getting highlighted red
            Step 6: Test if the sliders in the window are work as expected as well

            Show
            karthik Karthik Raveendran added a comment - - edited The demo class that needs testing is BedSequenceDemo.class (genovizTutorial/src/main/java/com/affymetrix/genoviz/tutorial/BedSequenceDemo.java). The class reads a bed file provided in the data folder (genovizTutorial/src/main/resources/data) and renders the sequences using IntronGlyph and SequenceGlyph(rectangles) types. Step 1: Run BedSequenceDemo.class (path above). See if the sequences are being rendered. Step 2: In the zoomed out level, observe if the arrowheads are do not appear and only lines connecting rectangles. No arrowheads is correct result. Step 3: Click and release on any of the glyphs generated on the map and see if the zoom stripe appears (grey vertical line going down the map intersecting the point you clicked) Step 4: Scroll up to see if the map zooms at the stripe. As you zoom in see if the arrow heads start to appear when there is enough space between the rectangles. Step 5: Click on any of the glyphs and check if the glyph is getting highlighted red Step 6: Test if the sliders in the window are work as expected as well
            Hide
            karthik Karthik Raveendran added a comment - - edited

            While testing please be mindful that the errors could be very minute when rendering the glyphs in the map. If there are slight inconsistencies, please take a screenshot and add to this issue. Use "TAIR10 mRNA" image and other images in IGBF-2865 for reference.

            Show
            karthik Karthik Raveendran added a comment - - edited While testing please be mindful that the errors could be very minute when rendering the glyphs in the map. If there are slight inconsistencies, please take a screenshot and add to this issue. Use "TAIR10 mRNA" image and other images in IGBF-2865 for reference.
            Hide
            omarne Omkar Marne (Inactive) added a comment - - edited

            Test result for IntronGlyph file

            • After adding 'com.affymetrix.genoviz.glyph.IntronGlyph" in the String array and executing the file I am getting the error " Could not intronGlyp.java". Its happening for all the files 3 files, GlyphTestMap, SimpleMap4, SimpleSelectableMap. For the rest of the array values the start - end color values and zoom level are working good. Check attached snapshots 'IntronGlyph', 'SimpleMap4 'and 'SimpleSelectable'.

            Test result for BedSequenceDemo file

            • After executing BedSequenceDemo the output window was blank with just zoom in-out arrowheads and slider bar. They seems to working fine but with no output. Please check 'BedSequence' snapshot.
            Show
            omarne Omkar Marne (Inactive) added a comment - - edited Test result for IntronGlyph file After adding 'com.affymetrix.genoviz.glyph.IntronGlyph" in the String array and executing the file I am getting the error " Could not intronGlyp.java". Its happening for all the files 3 files, GlyphTestMap, SimpleMap4, SimpleSelectableMap. For the rest of the array values the start - end color values and zoom level are working good. Check attached snapshots 'IntronGlyph', 'SimpleMap4 'and 'SimpleSelectable'. Test result for BedSequenceDemo file After executing BedSequenceDemo the output window was blank with just zoom in-out arrowheads and slider bar. They seems to working fine but with no output. Please check 'BedSequence' snapshot.
            Hide
            omarne Omkar Marne (Inactive) added a comment - - edited

            Test result for IntronGlyph file on IntelliJ IDE.

            • After adding 'com.affymetrix.genoviz.glyph.IntronGlyph" in the String array and executing the file GlyphTestMap the glyph behave as expected. The color values and start and end values reflected in the glyph. The zoom level are working good for all the files. I repeated the same steps for SimpleMap4.java and SimpleSelectableMap.java. The glyph behaved as expected. Please check the snapshot 'Intron1' , 'Intron2', 'Intron3'.

            Test result for BedSequenceDemo file on IntelliJ IDE.

            • After executing BedSequenceDemo the output window was blank with just zoom in-out arrowheads and slider bar. I am getting java null pointer exception error and java.net.MalformedURLException: unknown protocol: c error in the output. Please check 'BedSequenceDemo' and 'Bed1' snapshot.
            Show
            omarne Omkar Marne (Inactive) added a comment - - edited Test result for IntronGlyph file on IntelliJ IDE. After adding 'com.affymetrix.genoviz.glyph.IntronGlyph" in the String array and executing the file GlyphTestMap the glyph behave as expected. The color values and start and end values reflected in the glyph. The zoom level are working good for all the files. I repeated the same steps for SimpleMap4.java and SimpleSelectableMap.java. The glyph behaved as expected. Please check the snapshot 'Intron1' , 'Intron2', 'Intron3'. Test result for BedSequenceDemo file on IntelliJ IDE. After executing BedSequenceDemo the output window was blank with just zoom in-out arrowheads and slider bar. I am getting java null pointer exception error and java.net.MalformedURLException: unknown protocol: c error in the output. Please check 'BedSequenceDemo' and 'Bed1' snapshot.
            Hide
            omarne Omkar Marne (Inactive) added a comment - - edited

            Solution to the error mentioned in 'BedSequenceDemo' and 'Bed1' snapshot.

            I changed the absolute path below

            For BedSequenceDemo.java file :

             String bedUrl = "C:\\genoviz-sdk\\genovizTutorial\\src\\main\\resources\\data\\AraportBedFile.bed"; 

            For BedFileParser.java file :

             String urlpath = "C:\\genoviz-sdk\\genovizTutorial\\src\\main\\resources\\data\\AraportBedFile.bed"; 

            to file path as below in both BedSequenceDemo.java and BedFileParser.java files respectively.

             String bedUrl ="file:///C:/genoviz-sdk/genovizTutorial/src/main/resources/data/AraportBedFile.bed"; 
             String urlpath ="file:///C:/genoviz-sdk/genovizTutorial/src/main/resources/data/AraportBedFile.bed"; 

            In absolute path it takes "C:" drive as a URL protocol which causes the problem.

            Also, for plugin error mentioned in 'PluginError' snapshot, I added maven version in the pom.xml file which resolved the error. Please check 'Pluginresolve' snapshot. Plugin error is kind of a warning which doesn't affect the output but it may come in the future though if we don't add the maven version which we are using in the pom.xml file.

            After this change I am getting expected out.

            • Arrowheads do not appear in zoomed out level and only lines connecting rectangles can be seen.
            • After clicking and releasing on any of the glyphs generated on the map, the zoom stripe appears which is grey vertical line going down the map intersecting the point which has been clicked.
            • After scrolling up, the map zooms at the stripe. After zoom in, the arrow heads start to appear when there is enough space between the rectangles.
            • Glyphs are getting highlighted after they are clicked.
            • Sliders in the window are working as expected.
            • Refer 'Bed2' snapshot for output.

            Karthik Raveendran Please check and you can push the change.

            Show
            omarne Omkar Marne (Inactive) added a comment - - edited Solution to the error mentioned in 'BedSequenceDemo' and 'Bed1' snapshot. I changed the absolute path below For BedSequenceDemo.java file : String bedUrl = "C:\\genoviz-sdk\\genovizTutorial\\src\\main\\resources\\data\\AraportBedFile.bed" ; For BedFileParser.java file : String urlpath = "C:\\genoviz-sdk\\genovizTutorial\\src\\main\\resources\\data\\AraportBedFile.bed" ; to file path as below in both BedSequenceDemo.java and BedFileParser.java files respectively. String bedUrl = "file: ///C:/genoviz-sdk/genovizTutorial/src/main/resources/data/AraportBedFile.bed" ; String urlpath = "file: ///C:/genoviz-sdk/genovizTutorial/src/main/resources/data/AraportBedFile.bed" ; In absolute path it takes "C:" drive as a URL protocol which causes the problem. Also, for plugin error mentioned in 'PluginError' snapshot, I added maven version in the pom.xml file which resolved the error. Please check 'Pluginresolve' snapshot. Plugin error is kind of a warning which doesn't affect the output but it may come in the future though if we don't add the maven version which we are using in the pom.xml file. After this change I am getting expected out. Arrowheads do not appear in zoomed out level and only lines connecting rectangles can be seen. After clicking and releasing on any of the glyphs generated on the map, the zoom stripe appears which is grey vertical line going down the map intersecting the point which has been clicked. After scrolling up, the map zooms at the stripe. After zoom in, the arrow heads start to appear when there is enough space between the rectangles. Glyphs are getting highlighted after they are clicked. Sliders in the window are working as expected. Refer 'Bed2' snapshot for output. Karthik Raveendran Please check and you can push the change.
            Hide
            karthik Karthik Raveendran added a comment -

            Absolute Path issue has been fixed Commit

            Show
            karthik Karthik Raveendran added a comment - Absolute Path issue has been fixed Commit
            Hide
            ann.loraine Ann Loraine added a comment -

            Please submit PR.

            Show
            ann.loraine Ann Loraine added a comment - Please submit PR.
            Hide
            karthik Karthik Raveendran added a comment -

            PR submitted

            Show
            karthik Karthik Raveendran added a comment - PR submitted
            Hide
            ann.loraine Ann Loraine added a comment -

            Change looks fine. Merged. Moving to Needs Testing.

            Show
            ann.loraine Ann Loraine added a comment - Change looks fine. Merged. Moving to Needs Testing.
            Hide
            omarne Omkar Marne (Inactive) added a comment - - edited

            Test results after performing above mentioned steps:

            • Arrowheads do not appear in zoomed out level and only lines connecting rectangles can be seen.
            • After clicking and releasing on any of the glyphs generated on the map, the zoom stripe appears which is grey vertical line going down the map intersecting the point which has been clicked.
            • After scrolling up, the map zooms at the stripe. After zoom in, the arrow heads start to appear when there is enough space between the rectangles.
            • Glyphs are getting highlighted after they are clicked.
            • Sliders in the window are working as expected.
            • Refer 'Bed2' snapshot for output.

            Closing the issue.

            Show
            omarne Omkar Marne (Inactive) added a comment - - edited Test results after performing above mentioned steps: Arrowheads do not appear in zoomed out level and only lines connecting rectangles can be seen. After clicking and releasing on any of the glyphs generated on the map, the zoom stripe appears which is grey vertical line going down the map intersecting the point which has been clicked. After scrolling up, the map zooms at the stripe. After zoom in, the arrow heads start to appear when there is enough space between the rectangles. Glyphs are getting highlighted after they are clicked. Sliders in the window are working as expected. Refer 'Bed2' snapshot for output. Closing the issue.

              People

              • Assignee:
                omarne Omkar Marne (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: