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

            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] .
            Hide
            ann.loraine Ann Loraine added a comment -

            That is fine.

            Show
            ann.loraine Ann Loraine added a comment - That is fine.
            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 .
            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.
            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 .
            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.
            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 .
            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.
            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.
            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.
            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.
            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.
            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.
            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.
            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.
            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 .
            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.
            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.

              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: