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

Add trackhub facade API endpoint to translate UCSC genome names to IGB synonym equivalents

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      1
    • Sprint:
      Fall 7 2021 Nov 8 - Nov 24, Fall 8 2021 Nov 29 - Dec 10, Fall 9 2021 Dec 13 - Dec 24

      Description

      A method for determining whether or not a UCSC genome name can be mapped to an IGB genome version is needed in order to decide which genome versions in the trackhub table UI can be made to have the option of utilizing IGB's 'open genome' endpoint located at http://localhost:7085/IGBControl?version=GENOME. Since this functionality may be needed in future services, an endpoint can be added to the trackhub facade API that returns the primary IGB genome version name corresponding to the provided UCSC genome version. This can be accomplished by searching the master synonyms.txt in an attempt to find an entry that matches the UCSC genome name. The first entry of the corresponding row would then be returned as the primary IGB genome version name.

      It may be useful to extend IGB's endpoint to also include an 'species' query parameter, which could allow users to open converted trackhubs whose genome versions do not map to those associated with an IGB-supported organism.

        Attachments

          Issue Links

            Activity

            pbadzuh Philip Badzuh (Inactive) created issue -
            pbadzuh Philip Badzuh (Inactive) made changes -
            Field Original Value New Value
            Epic Link IGBF-2831 [ 19524 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Link This issue relates to IGBF-3007 [ IGBF-3007 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Description A method for determining whether or not a UCSC genome name can be mapped to an IGB genome version is needed in order to decide which genome versions in the trackhub table UI can be made to have the option of utilizing IGB's 'open genome' endpoint located at http://localhost:7085/IGBControl?version=${genome}. Since this functionality may be needed in future services, an endpoint can be added to the trackhub facade API that returns the primary IGB genome version name corresponding to the provided UCSC genome version. This can be accomplished by searching the master [synonyms.txt|https://bitbucket.org/lorainelab/integrated-genome-browser/raw/3ea35fe2b8fd3c9dc59c1f3390744b41461f90ae/core/synonym-lookup/src/main/resources/synonyms.txt] in an attempt to find an entry that matches the UCSC genome name. The first entry of the corresponding row would then be returned as the primary IGB genome version name.
            pbadzuh Philip Badzuh (Inactive) made changes -
            Description A method for determining whether or not a UCSC genome name can be mapped to an IGB genome version is needed in order to decide which genome versions in the trackhub table UI can be made to have the option of utilizing IGB's 'open genome' endpoint located at http://localhost:7085/IGBControl?version=${genome}. Since this functionality may be needed in future services, an endpoint can be added to the trackhub facade API that returns the primary IGB genome version name corresponding to the provided UCSC genome version. This can be accomplished by searching the master [synonyms.txt|https://bitbucket.org/lorainelab/integrated-genome-browser/raw/3ea35fe2b8fd3c9dc59c1f3390744b41461f90ae/core/synonym-lookup/src/main/resources/synonyms.txt] in an attempt to find an entry that matches the UCSC genome name. The first entry of the corresponding row would then be returned as the primary IGB genome version name. A method for determining whether or not a UCSC genome name can be mapped to an IGB genome version is needed in order to decide which genome versions in the trackhub table UI can be made to have the option of utilizing IGB's 'open genome' endpoint located at http://localhost:7085/IGBControl?version=GENOME. Since this functionality may be needed in future services, an endpoint can be added to the trackhub facade API that returns the primary IGB genome version name corresponding to the provided UCSC genome version. This can be accomplished by searching the master [synonyms.txt|https://bitbucket.org/lorainelab/integrated-genome-browser/raw/3ea35fe2b8fd3c9dc59c1f3390744b41461f90ae/core/synonym-lookup/src/main/resources/synonyms.txt] in an attempt to find an entry that matches the UCSC genome name. The first entry of the corresponding row would then be returned as the primary IGB genome version name.
            pbadzuh Philip Badzuh (Inactive) made changes -
            Description A method for determining whether or not a UCSC genome name can be mapped to an IGB genome version is needed in order to decide which genome versions in the trackhub table UI can be made to have the option of utilizing IGB's 'open genome' endpoint located at http://localhost:7085/IGBControl?version=GENOME. Since this functionality may be needed in future services, an endpoint can be added to the trackhub facade API that returns the primary IGB genome version name corresponding to the provided UCSC genome version. This can be accomplished by searching the master [synonyms.txt|https://bitbucket.org/lorainelab/integrated-genome-browser/raw/3ea35fe2b8fd3c9dc59c1f3390744b41461f90ae/core/synonym-lookup/src/main/resources/synonyms.txt] in an attempt to find an entry that matches the UCSC genome name. The first entry of the corresponding row would then be returned as the primary IGB genome version name. A method for determining whether or not a UCSC genome name can be mapped to an IGB genome version is needed in order to decide which genome versions in the trackhub table UI can be made to have the option of utilizing IGB's 'open genome' endpoint located at http://localhost:7085/IGBControl?version=GENOME. Since this functionality may be needed in future services, an endpoint can be added to the trackhub facade API that returns the primary IGB genome version name corresponding to the provided UCSC genome version. This can be accomplished by searching the master [synonyms.txt|https://bitbucket.org/lorainelab/integrated-genome-browser/raw/3ea35fe2b8fd3c9dc59c1f3390744b41461f90ae/core/synonym-lookup/src/main/resources/synonyms.txt] in an attempt to find an entry that matches the UCSC genome name. The first entry of the corresponding row would then be returned as the primary IGB genome version name.

            It may be useful to extend IGB's endpoint to also include an 'species' query parameter, which could allow users to open converted trackhubs whose genome versions do not map to those associated with an IGB-supported organism.
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            I started by implementing the endpoint to take a single UCSC genome and return the IGB equivalent, however, this would require many requests that would increase latency for the front-end.

            As a second version, I updated the endpoint to take multiple UCSC genome versions for conversion.

            In testing, there was a CORS issue, so I configured our django server to allow requests from all origins in the browser. We can update this to limit it to bioviz.org, if you see this as an issue, [~aloraine].

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - I started by implementing the endpoint to take a single UCSC genome and return the IGB equivalent, however, this would require many requests that would increase latency for the front-end. As a second version, I updated the endpoint to take multiple UCSC genome versions for conversion. In testing, there was a CORS issue, so I configured our django server to allow requests from all origins in the browser. We can update this to limit it to bioviz.org, if you see this as an issue, [~aloraine] .
            ann.loraine Ann Loraine made changes -
            Sprint Fall 7 2021 Nov 8 - Nov 24 [ 133 ] Fall 7 2021 Nov 8 - Nov 24, Fall 8 2021 Nov 29 - Dec 10 [ 133, 134 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment -

            That is fine.

            Show
            ann.loraine Ann Loraine added a comment - That is fine.
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Summary Add trackhub facade API endpoint to check for UCSC-IGB genome version match Add trackhub facade API endpoint to translate UCSC genome names to IGB synonym equivalents
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            Please see my changes here.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - Please see my changes here .
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Assignee Philip Badzuh [ pbadzuh ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Code looks good. It is nice to see formatted comment string for the new method "get_igb_genome_versions". I actually am not familiar with the proper way to format this type of comment in python, so this was helpful for me. Please submit PR when ready.

            Show
            ann.loraine Ann Loraine added a comment - Code looks good. It is nice to see formatted comment string for the new method "get_igb_genome_versions". I actually am not familiar with the proper way to format this type of comment in python, so this was helpful for me. Please submit PR when ready.
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Philip Badzuh [ pbadzuh ]
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            That's good to hear, thanks. Please see the PR here.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - That's good to hear, thanks. Please see the PR here .
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Assignee Philip Badzuh [ pbadzuh ]
            Hide
            ann.loraine Ann Loraine added a comment -

            The PR targets developer's repository, not team repository.
            Philip Badzuh - please re-submit the PR with the team repository as the target.

            Show
            ann.loraine Ann Loraine added a comment - The PR targets developer's repository, not team repository. Philip Badzuh - please re-submit the PR with the team repository as the target.
            ann.loraine Ann Loraine made changes -
            Assignee Philip Badzuh [ pbadzuh ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] To-Do [ 10305 ]
            ann.loraine Ann Loraine made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            Sorry about that. Please see the correct PR here.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - Sorry about that. Please see the correct PR here .
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Assignee Philip Badzuh [ pbadzuh ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged.

            Show
            ann.loraine Ann Loraine added a comment - Merged.
            Hide
            ann.loraine Ann Loraine added a comment -

            Deployed to the main track hub (production) site. Ready for testing.

            Show
            ann.loraine Ann Loraine added a comment - Deployed to the main track hub (production) site . Ready for testing.
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Notes for testing:

            This code adds the new endpoint igbGenomeVersion.
            For description of how to invoke this endpoint, visit the repository address in your browser and scroll down the page.

            Show
            ann.loraine Ann Loraine added a comment - Notes for testing: This code adds the new endpoint igbGenomeVersion. For description of how to invoke this endpoint, visit the repository address in your browser and scroll down the page.
            omarne Omkar Marne (Inactive) made changes -
            Assignee Omkar Marne [ omarne ]
            ann.loraine Ann Loraine made changes -
            Sprint Fall 7 2021 Nov 8 - Nov 24, Fall 8 2021 Nov 29 - Dec 10 [ 133, 134 ] Fall 7 2021 Nov 8 - Nov 24, Fall 8 2021 Nov 29 - Dec 10, Fall 9 2021 Dec 13 - Dec 24 [ 133, 134, 135 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            omarne Omkar Marne (Inactive) made changes -
            Attachment screenshot-1.png [ 17020 ]
            Hide
            omarne Omkar Marne (Inactive) added a comment - - edited

            I clone the hub-facade repository.
            After performing the steps in the bitbucket repository I got the above output. Please let me know if that's an expected output. Please see attached screenshot.

            Philip Badzuh Please take a look.

            Show
            omarne Omkar Marne (Inactive) added a comment - - edited I clone the hub-facade repository. After performing the steps in the bitbucket repository I got the above output. Please let me know if that's an expected output. Please see attached screenshot. Philip Badzuh Please take a look.
            Hide
            ann.loraine Ann Loraine added a comment -

            A reminder for Omkar Marne:

            I'm not sure if you are intending to do more work on this, or if you are blocked and waiting for input from the developer.

            No-one will notice your comment above until you either:

            • either move this ticket back to "To-Do" (because the dev needs to answer your question before you can proceed)

            or

            • you "@" the dev with your question.
            Show
            ann.loraine Ann Loraine added a comment - A reminder for Omkar Marne : I'm not sure if you are intending to do more work on this, or if you are blocked and waiting for input from the developer. No-one will notice your comment above until you either: either move this ticket back to "To-Do" (because the dev needs to answer your question before you can proceed) or you "@" the dev with your question.
            omarne Omkar Marne (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Post-merge Testing In Progress [ 10003 ] To-Do [ 10305 ]
            omarne Omkar Marne (Inactive) made changes -
            Assignee Omkar Marne [ omarne ] Philip Badzuh [ pbadzuh ]
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment - - edited

            Hey Omkar Marne, you'll need to test the endpoint using the POST http method. You can do so by using Postman, which offers a GUI, or curl in the command line. Thanks. Adding the http method accepted by each of the endpoints could be something that we could add to the readme later.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - - edited Hey Omkar Marne , you'll need to test the endpoint using the POST http method. You can do so by using Postman, which offers a GUI, or curl in the command line. Thanks. Adding the http method accepted by each of the endpoints could be something that we could add to the readme later.
            pbadzuh Philip Badzuh (Inactive) made changes -
            Assignee Philip Badzuh [ pbadzuh ] Omkar Marne [ omarne ]
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            Hey Omkar Marne, sorry for any confusion. There was some information missing from the readme, which I have updated. You can see my latest code here and the latest testing instructions here. Please let me know if you have any questions.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - Hey Omkar Marne , sorry for any confusion. There was some information missing from the readme, which I have updated. You can see my latest code here and the latest testing instructions here . Please let me know if you have any questions.
            omarne Omkar Marne (Inactive) made changes -
            Attachment Postman.png [ 17021 ]
            Hide
            omarne Omkar Marne (Inactive) added a comment - - edited

            After copying the changes that Philip Badzuh made in his repository I am getting the expected output. Please check the attached snapshot 'Postman'. I have used the postman app web version instead of the local agent to display the POST method.

            Philip Badzuh Please submit the pull requests to merge your changes.

            Show
            omarne Omkar Marne (Inactive) added a comment - - edited After copying the changes that Philip Badzuh made in his repository I am getting the expected output. Please check the attached snapshot 'Postman'. I have used the postman app web version instead of the local agent to display the POST method. Philip Badzuh Please submit the pull requests to merge your changes.
            omarne Omkar Marne (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            omarne Omkar Marne (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            omarne Omkar Marne (Inactive) made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            omarne Omkar Marne (Inactive) made changes -
            Assignee Omkar Marne [ omarne ] Philip Badzuh [ pbadzuh ]
            omarne Omkar Marne (Inactive) made changes -
            Status Post-merge Testing In Progress [ 10003 ] To-Do [ 10305 ]
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            Please review the changes linked to in my previous comment.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - Please review the changes linked to in my previous comment.
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Assignee Philip Badzuh [ pbadzuh ]
            ann.loraine Ann Loraine made changes -
            Assignee Omkar Marne [ omarne ]
            ann.loraine Ann Loraine made changes -
            Assignee Omkar Marne [ omarne ] Ann Loraine [ aloraine ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Changes are good! Please submit PR.

            Show
            ann.loraine Ann Loraine added a comment - Changes are good! Please submit PR.
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Philip Badzuh [ pbadzuh ]
            Hide
            pbadzuh Philip Badzuh (Inactive) added a comment -

            Great! Please see PR here.

            Show
            pbadzuh Philip Badzuh (Inactive) added a comment - Great! Please see PR here .
            pbadzuh Philip Badzuh (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            pbadzuh Philip Badzuh (Inactive) made changes -
            Assignee Philip Badzuh [ pbadzuh ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged and deployed to back end site for testing: https://translate.bioviz.org. Ready for testing.

            Show
            ann.loraine Ann Loraine added a comment - Merged and deployed to back end site for testing: https://translate.bioviz.org . Ready for testing.
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            omarne Omkar Marne (Inactive) made changes -
            Assignee Omkar Marne [ omarne ]
            omarne Omkar Marne (Inactive) made changes -
            Attachment screenshot-2.png [ 17023 ]
            omarne Omkar Marne (Inactive) made changes -
            Attachment screenshot-1.png [ 17020 ]
            omarne Omkar Marne (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            omarne Omkar Marne (Inactive) made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            omarne Omkar Marne (Inactive) made changes -
            Assignee Omkar Marne [ omarne ] Philip Badzuh [ pbadzuh ]
            Hide
            omarne Omkar Marne (Inactive) added a comment -

            After performing the testing instructions from the read me the file I am getting the expected output.

            While executing the URL I had to install Postman app desktop agent to display the POST method result on the localhost.

            Please see screenshot 2.

            Closing the ticket.

            Show
            omarne Omkar Marne (Inactive) added a comment - After performing the testing instructions from the read me the file I am getting the expected output. While executing the URL I had to install Postman app desktop agent to display the POST method result on the localhost. Please see screenshot 2. Closing the ticket.
            pbadzuh Philip Badzuh (Inactive) made changes -
            Link This issue relates to IGBF-3036 [ IGBF-3036 ]

              People

              • Assignee:
                pbadzuh Philip Badzuh (Inactive)
                Reporter:
                pbadzuh Philip Badzuh (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: