skip to content
← (projects)

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: vulcanome-hero.png

vulcanome-2.png[02]

Vulcanome: vulcanome-dashboard.png

vulcanome-3.png[03]

Vulcanome: vulcanome-dashboard-2.png

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.Val for significance and EntrezGeneSymbol as 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.

Links