vulcanome.png
Vulcanome
Flask service with an interactive volcano plot of protein expression (young vs. old donors) and PubMed lookups — a JetBrains internship challenge.
vulcanome.png[01]

vulcanome-2.png[02]

vulcanome-3.png[03]

Context
Vulcanome — "Fueling research with dynamic, interactive insights into protein activity" — is Heidi's solution to the Gene Knowledge Base Web Service challenge for a JetBrains Software Engineering internship application (repo published April 2025).
The challenge
Build a web service that lets researchers explore differences in protein expression between young and old donors, using real data from an NIH-published supplementary dataset (limma results).
What I built
- A Flask web service with an interactive volcano plot (Plotly): each point is a gene, using
adj.P.Valfor significance andEntrezGeneSymbolas the label. - Clickable points: selecting a gene opens a boxplot comparing protein concentrations in young vs. old donors, parsing donor age groups (
YD/OD) from the column names. - Bonus feature (implemented): for each selected gene, the app fetches related scientific paper titles and PubMed links via the MyGene.info REST API.
- A designed researcher-facing UI with its own logo, hero pages and dashboard views.
- Clean, progressive Git history and a well-structured README with setup, configuration and run instructions.
Tech
Python 3.8+ · Flask · Plotly · pandas / Excel parsing · MyGene.info API · HTML/CSS
Why this shows I can…
Get productive fast in a new domain (bioinformatics), turn raw scientific data into an intuitive tool, and go beyond the brief.