23 Gene Set Enrichment Explorer
Introduction
Gene Set Enrichment Analysis (GSEA) is a powerful method used to determine whether a predefined set of genes shows statistically significant differences between two biological states. In this exercise, we will be creating a Shiny app that allows users to explore GSEA results interactively.
Exercise Instructions
The first step is to develop a plan for the Shiny app. Start up either GitHub Copilot or Gemini in a new directory and write a brief description of what the app should do.
- For example, you might want the app to allow users to upload their own GSEA results, visualize enrichment scores, and filter results based on significance levels.
- What do you want the app to do? I included the following features in my plan:
- Build an R package for the app to manage dependencies and make maintenance easier
- Visualize and analyze gene expression data from the GSE63310 dataset, which can be downloaded through the GEOquery package.
- Allow users to retrieve data from GEO by entering a GEO accession number.
- Process and visualize the gene expression data using appropriate Bioconductor packages.
- Include tests to ensure the app functions correctly.
- Tell the AI agent to document the plan in
Plan.md.
Once the plan has been established, review it carefully and make any necessary adjustments. Adjustments can be made manually, you can instruct the AI agent to make changes, or you can do a little of both.
Next, instruct the AI agent to generate the Shiny app code based on the finalized plan. Ensure that the code includes both the
uiandservercomponents.- It will probably break down the plan into multiple steps. You may want to have it generate code for each step separately then review and commit the changes before proceeding to the next step.
As you finish each stage of your app, be sure to push your work to GitHub. When you create the repository, select “BIFX547-26” as the owner, to ensure I have access. We will continue working on this app over the coming weeks.
Additional Ideas
- Be sure to review the code generated by your app to ensure it is doing what you expect.
- Try modifying the theme of the app to make it visually appealing.
- Consider adding additional features, such as the ability to download results.
- You can also try deploying your app using a service like shinyapps.io or the Hood cluster.