feat: Build Interactive GWAS Explorer with Mock Data - #12
Conversation
Adds a script to generate realistic GWAS mock data, including a full scan, verified hits, and gene annotations. Includes a new notebook to run the generator and verify the output dataframes, ensuring a solid foundation for the visualization.
Creates the main visualization script . This script loads the mock data and generates a standalone HTML file featuring a three-panel tabbed layout (Manhattan, Regional, SNP Detail) with full interactivity linking the plots.
|
Thanks @mohamed-laarej. This sounds like a great piece of work. Could you push the html file? Or is it too big to be added to GitHub? |
|
Thanks for the feedback, @jonbrenas ! |
|
Quick follow-up: The HTML file has been pushed. It ended up being a bit large (~43 MB) – I need to redefine the meaning of "large" that I have! 😅 |
|
I looked at the HTML and it looks really nice! |
…bug fixes Updates the GWAS Explorer dashboard and data generator to address mentor feedback. Changes include more realistic mock data, clearer UI instructions, improved hover tools, better gene label handling, and fixes to tab switching and region re-selection.
|
Great work @mohamed-laarej ! I think the Dashboard is much easier to understand now. |
Hi @jonbrenas ,
This PR introduces the first version of the interactive GWAS Explorer, a standalone HTML dashboard built with Bokeh.
It's designed to visualize our GWAS results in an elegant, tabbed interface that follows a logical "discovery → zoom → detail" workflow.
This initial version uses a mock dataset where I tried to simulate a full genome-wide scan.
It’s not necessarily very realistic, but it provides a working foundation for building and testing the interactive pipeline.
Once we have the real outputs from the GWAS scanner tool, we can simply replace the mock files with the actual data.
What's Included in this PR
1. Mock Data Generation & Verification (
src/data/andnotebooks/)generate_mock_data.py: Creates a two-part mock dataset:08_mock_data_workflow.ipynb: Runs the generator, verifies file creation, and provides a quick visualization to confirm the dataset looks realistic.2. Interactive Visualization Builder (
src/viz/)build_explorer.py: Reads the mock data and generates a single, self-containedgwas_explorer.htmlfile in/output.I’m really excited about how this is shaping up and would greatly appreciate your feedback - on the code, visualization structure, or any ideas for improvements.
Thank you!