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

Investigate: Make Rshiny app that plots data for a given gene

    Details

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

      Description

      It's useful to be able to quickly look at a plot showing expression levels for a given gene in a given dataset.

      We have some code that does this. It is a function named "makeBarPlot" in Common.R in time course subdirectory of flavonoid rna-seq git repository.

      For this task, investigate making an R Shiny app that can maybe do the following:

      • uses data files from flavonoid-rnaseq repository
      • has an interface where user enters a gene name (with useful preset default value, e.g., F3H)
      • shows barplot for that gene so the user can check that the expression levels make sense given the statistical results, and vice versa

      Implementation suggestions:

      • Save the Shiny App in the repository in a way that makes it easy to deploy
      • Reference input datasets via relative paths to "results" folders
      • Investigate deploying onto RStudio cloud because it may be crazy easy

        Attachments

        1. 4.png
          4.png
          289 kB
        2. 3.png
          3.png
          306 kB
        3. 2.png
          2.png
          289 kB
        4. 1.png
          1.png
          307 kB

          Issue Links

            Activity

            Hide
            ann.loraine Ann Loraine added a comment -

            First phase of investigation complete (because we have more questions, esp. wrt to deployment strategy.)

            Moving to DONE.

            Show
            ann.loraine Ann Loraine added a comment - First phase of investigation complete (because we have more questions, esp. wrt to deployment strategy.) Moving to DONE.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Summary of what we found out:

            • We really like using this technology to enable fast and user-friendly visualization of results.
            • We have some trouble finding "how-to" information that isn't behind a paywall.
            • We need a location that we can truly control and provision with apps. We haven't figured out the deployment strategy yet.
            • We like the barplot app for our own purposes of sanity-checking, i.e., it helps see if our analysis is correct.
            • However, we're not even sure if anyone else that we've shared the link with is actually using it.

            Goals and aspirations:

            • Would like it to be used with multiple different data sets from different labs. (from: [~molly])
            • Want a more reliable and easy-to-control deployment platform.(from [~aloraine] & [~RobertReid])
            • Want to be able to carve up different pieces of the work for others to do. (from [~aloraine])
            • Can we figure out a way to save the plots? "There should be a save button."
            Show
            ann.loraine Ann Loraine added a comment - - edited Summary of what we found out: We really like using this technology to enable fast and user-friendly visualization of results. We have some trouble finding "how-to" information that isn't behind a paywall. We need a location that we can truly control and provision with apps. We haven't figured out the deployment strategy yet. We like the barplot app for our own purposes of sanity-checking, i.e., it helps see if our analysis is correct. However, we're not even sure if anyone else that we've shared the link with is actually using it. Goals and aspirations: Would like it to be used with multiple different data sets from different labs. (from: [~molly] ) Want a more reliable and easy-to-control deployment platform.(from [~aloraine] & [~RobertReid] ) Want to be able to carve up different pieces of the work for others to do. (from [~aloraine] ) Can we figure out a way to save the plots? "There should be a save button."
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Note: We decided to make a new ticket to capture the remainder of the barplot coding task. That ticket is linked to this one. It is IGBF-3481. Please use that ticket to review the new branch.

            Review instructions for the barplot code are there.

            For reference, here is the review request comment copied over to the other ticket:

            I am pushing a new branch to my fork with my barplot code.

            A couple of changes:

            • The new code supports both SL4 and SL5.
            • I changed the y axis label to include the string "(scaled counts)"

            See:

            https://bitbucket.org/aloraine/flavonoid-rnaseq/branch/IGBF-3449-1

            Show
            ann.loraine Ann Loraine added a comment - - edited Note: We decided to make a new ticket to capture the remainder of the barplot coding task. That ticket is linked to this one. It is IGBF-3481 . Please use that ticket to review the new branch. Review instructions for the barplot code are there. For reference, here is the review request comment copied over to the other ticket: I am pushing a new branch to my fork with my barplot code. A couple of changes: The new code supports both SL4 and SL5. I changed the y axis label to include the string "(scaled counts)" See: https://bitbucket.org/aloraine/flavonoid-rnaseq/branch/IGBF-3449-1
            Hide
            ann.loraine Ann Loraine added a comment -

            Request for [~molly]: Maybe draw / mock up some designs today. It will be 10x easier and faster to write the code if you have that to start with.

            Show
            ann.loraine Ann Loraine added a comment - Request for [~molly] : Maybe draw / mock up some designs today. It will be 10x easier and faster to write the code if you have that to start with.
            Hide
            ann.loraine Ann Loraine added a comment -

            Conversation today w/ [~aloraine] & [~molly] regarding goals for the app (or apps):

            • Needs to be easy to use with minimal input from person using it. They should be able to type in a gene name and not have to worry about what genome assembly the gene is from.
            • [~aloraine] requests: First make it work, then make it fast. First make it easy to use and useful, then make it fast and efficient. Make the UI design then implement.
            Show
            ann.loraine Ann Loraine added a comment - Conversation today w/ [~aloraine] & [~molly] regarding goals for the app (or apps): Needs to be easy to use with minimal input from person using it. They should be able to type in a gene name and not have to worry about what genome assembly the gene is from. [~aloraine] requests: First make it work, then make it fast. First make it easy to use and useful, then make it fast and efficient. Make the UI design then implement.
            Hide
            ann.loraine Ann Loraine added a comment -

            Looks like we can indeed create a shiny app that will help Muday lab and others visualize expression of individual genes.

            For next steps, let's investigate the code further, to understand how it works and how we need to modify it to use our data and our code.

            Show
            ann.loraine Ann Loraine added a comment - Looks like we can indeed create a shiny app that will help Muday lab and others visualize expression of individual genes. For next steps, let's investigate the code further, to understand how it works and how we need to modify it to use our data and our code.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Reviewed the RShiny code Ivory B. created for the Krizek Lab "inducible ant" project, presented in a lecture for BINF 3121.

            Code link: https://bitbucket.org/lorainelab/inducible-ant-rna-seq/src/main

            To run the app:

            1) Clone above onto your local computer.

            2) Copy "Samples.txt" to folder named DifferentialExpression (this is needed to correct a configuration error in the repository)

            3) Use RStudio to open RStudio project file DifferentialExpression/DifferentialExpression.Rproj.

            4) In the RStudio interface, open the folder named "ShowGeneExpression" and open "app.R".

            5) Run the by clicking "Run App"

            Note you'll need to install a bunch of libraries such as edgeR due to how the Shiny app is structured.

            Adding screenshots showing the different parts of the App interface.

            Show
            ann.loraine Ann Loraine added a comment - - edited Reviewed the RShiny code Ivory B. created for the Krizek Lab "inducible ant" project, presented in a lecture for BINF 3121. Code link: https://bitbucket.org/lorainelab/inducible-ant-rna-seq/src/main To run the app: 1) Clone above onto your local computer. 2) Copy "Samples.txt" to folder named DifferentialExpression (this is needed to correct a configuration error in the repository) 3) Use RStudio to open RStudio project file DifferentialExpression/DifferentialExpression.Rproj. 4) In the RStudio interface, open the folder named "ShowGeneExpression" and open "app.R". 5) Run the by clicking "Run App" Note you'll need to install a bunch of libraries such as edgeR due to how the Shiny app is structured. Adding screenshots showing the different parts of the App interface.
            Hide
            ann.loraine Ann Loraine added a comment -

            The platform I used to deploy the above Shiny app was a disappointment. It seemed to "go dead" after very short inactivity periods. This made it inconvenient to use the app the way I wanted to.

            Before doing anything else on this, I need to know more about deployment possibilities. For example, will users run it locally, in RStudio? Is it realistic to have it "live" on a Web site for many people to use at once?

            Show
            ann.loraine Ann Loraine added a comment - The platform I used to deploy the above Shiny app was a disappointment. It seemed to "go dead" after very short inactivity periods. This made it inconvenient to use the app the way I wanted to. Before doing anything else on this, I need to know more about deployment possibilities. For example, will users run it locally, in RStudio? Is it realistic to have it "live" on a Web site for many people to use at once?
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Made a new shiny app and published it, including with results files.
            Deployed it here:

            Show
            ann.loraine Ann Loraine added a comment - - edited Made a new shiny app and published it, including with results files. Deployed it here: https://ann-loraine-gmail.shinyapps.io/72_F3H_PollenTube/

              People

              • Assignee:
                Unassigned
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: