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

Implement logic to load data for BED file type

    Details

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

      Description

      Develop code to connect to this https://api.genome.ucsc.edu/getData/track?genome=hg38&track=cloneEndRP11&chrom=chr1&start=1&end=248956420 API and load Data for BED file type.

        Attachments

          Issue Links

            Activity

            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment - - edited

            Gone through various Bed file type responses from the REST API for different genomes and investigated how to generalize them all to a single parser. Currently, developing the code. Will be extending the existing Symmetry class, UcscBedSym to include props and will create a new model class to parse the data and convert all the different bed file type responses to the extended UcscBedSym format.

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - - edited Gone through various Bed file type responses from the REST API for different genomes and investigated how to generalize them all to a single parser. Currently, developing the code. Will be extending the existing Symmetry class, UcscBedSym to include props and will create a new model class to parse the data and convert all the different bed file type responses to the extended UcscBedSym format.
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            As discussed with Nowlan Freese, the extra columns that are included in the response for all the bed file types will be converted to key-value pairs and get stored as props in the Symmetry.

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - As discussed with Nowlan Freese , the extra columns that are included in the response for all the bed file types will be converted to key-value pairs and get stored as props in the Symmetry.
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            Developed the code and testing is also done, working as expected. Code is available at branch: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501.
            To test:

            1. Download https://bitbucket.org/jaya-sravani/integrated-genome-browser/downloads/ installer or clone this branch to local https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501 and start the application.
            2. Select a particular genome, preferably one that doesn't have data in IGB quick load.
            3. Select any BED track (dataset) type.
            4. Click on the load data button either from the top right corner or in the data management table.
            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - Developed the code and testing is also done, working as expected. Code is available at branch: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501 . To test: Download https://bitbucket.org/jaya-sravani/integrated-genome-browser/downloads/ installer or clone this branch to local https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501 and start the application. Select a particular genome, preferably one that doesn't have data in IGB quick load. Select any BED track (dataset) type. Click on the load data button either from the top right corner or in the data management table.
            Hide
            nfreese Nowlan Freese added a comment - - edited

            Testing on Mac with galGal6 tracks.

            • crispr10KRanges, "type": "bed 3" -> compared IGB visualization to data returned from API -> looks good
            • gap, "type": "bed 3 +" -> compared IGB visualization to data returned from API -> looks good
            • cpgIslandExtUnmasked, "type": "bed 4 +" -> compared IGB visualization to data returned from API -> looks good
            • crispr10KTargets, "type": "bigBed 9 +" -> compared IGB visualization to data returned from API -> Error in IGB
              ERROR c.a.igb.view.load.GeneralLoadUtils - java.lang.NumberFormatException: For input string: "0,200,0"
              * com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "0,200,0" at org.lorainelab.igb.ucsc.rest.api.service.model.TrackDataDetails.lambda$setTrackData$5(TrackDataDetails.java:49)
            • nestedRepeats, "type": "bed 12 +" -> compared IGB visualization to data returned from API -> Data are loading in IGB and the tooltip works, but the data look odd and when clicked lead to an error
              Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String t com.affymetrix.igb.view.SeqMapView.getSymWithPropsIdField(SeqMapView.java:1689)
            • phastConsElements77way, "type": "bed 5 ." -> compared IGB visualization to data returned from API -> Data loads fine and matches the API, but I'm wondering what this data is as it appears to be a child of cons77wayViewelements.
            Show
            nfreese Nowlan Freese added a comment - - edited Testing on Mac with galGal6 tracks . crispr10KRanges, "type": "bed 3" -> compared IGB visualization to data returned from API -> looks good gap, "type": "bed 3 +" -> compared IGB visualization to data returned from API -> looks good cpgIslandExtUnmasked, "type": "bed 4 +" -> compared IGB visualization to data returned from API -> looks good crispr10KTargets, "type": "bigBed 9 +" -> compared IGB visualization to data returned from API -> Error in IGB ERROR c.a.igb.view.load.GeneralLoadUtils - java.lang.NumberFormatException: For input string: "0,200,0" * com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "0,200,0" at org.lorainelab.igb.ucsc. rest .api.service.model.TrackDataDetails.lambda$setTrackData$5(TrackDataDetails.java:49) nestedRepeats, "type": "bed 12 +" -> compared IGB visualization to data returned from API -> Data are loading in IGB and the tooltip works, but the data look odd and when clicked lead to an error Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang. Double cannot be cast to java.lang. String t com.affymetrix.igb.view.SeqMapView.getSymWithPropsIdField(SeqMapView.java:1689) phastConsElements77way, "type": "bed 5 ." -> compared IGB visualization to data returned from API -> Data loads fine and matches the API, but I'm wondering what this data is as it appears to be a child of cons77wayViewelements.
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            Investigated the two errors which are mentioned above and resolved them and I will be having a discussion with Nowlan Freese about the loaded data being odd part.

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - Investigated the two errors which are mentioned above and resolved them and I will be having a discussion with Nowlan Freese about the loaded data being odd part.
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            Had a discussion with Nowlan Freese about the parent tracks not being listed in the available tracks, UCSC isn't providing data for the parent tracks it only has data for the child tracks, inorder to filter them we are using a different API provided by UCSC itself to get only the child tracks if parents are available. Fixed the errors mentioned above, code is available at https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - Had a discussion with Nowlan Freese about the parent tracks not being listed in the available tracks, UCSC isn't providing data for the parent tracks it only has data for the child tracks, inorder to filter them we are using a different API provided by UCSC itself to get only the child tracks if parents are available. Fixed the errors mentioned above, code is available at https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501
            Hide
            nfreese Nowlan Freese added a comment - - edited

            Testing on Mac with galGal6 tracks.

            crispr10KTargets - working correctly - tested with this API call

            nestedRepeats - tested with this API call - Data loaded, but they are not rendering correctly. In the example I'm seeing a straight line, but it should look like two blocks connected by a line (see nestedRepeats.png and nestedRepeats.bed).

            Show
            nfreese Nowlan Freese added a comment - - edited Testing on Mac with galGal6 tracks. crispr10KTargets - working correctly - tested with this API call nestedRepeats - tested with this API call - Data loaded, but they are not rendering correctly. In the example I'm seeing a straight line, but it should look like two blocks connected by a line (see nestedRepeats.png and nestedRepeats.bed).
            Hide
            jsirigin Jaya Sravani Sirigineedi added a comment -

            Fixed the above-mentioned issue about the block appearance by adding the txMin value to the blockMins array and the blockMins to the blockSizes array. Tested the code, working as expected. But there is a small difference between the manual loaded bed file data and the data that's being loaded from UCSC Rest API, the difference is the pointed head/Arrow and the name label on top of the block, which as discussed with Nowlan Freese is expected as by default these options are not included for the UCSC Rest API data load. Will be creating a separate issue to see how to add these options by default for the UCSC Rest load as well. Attached the screenshots below. updated code is available at https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501
            Before enabing the options:

            After enabling the options:

            Show
            jsirigin Jaya Sravani Sirigineedi added a comment - Fixed the above-mentioned issue about the block appearance by adding the txMin value to the blockMins array and the blockMins to the blockSizes array. Tested the code, working as expected. But there is a small difference between the manual loaded bed file data and the data that's being loaded from UCSC Rest API, the difference is the pointed head/Arrow and the name label on top of the block, which as discussed with Nowlan Freese is expected as by default these options are not included for the UCSC Rest API data load. Will be creating a separate issue to see how to add these options by default for the UCSC Rest load as well. Attached the screenshots below. updated code is available at https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3501 Before enabing the options: After enabling the options:
            Hide
            nfreese Nowlan Freese added a comment -

            nestedRepeats appear correctly in IGB.

            Closing ticket.

            Show
            nfreese Nowlan Freese added a comment - nestedRepeats appear correctly in IGB. Closing ticket.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: