From 871f40d7755f954d6b3282c82f13746c81710ad5 Mon Sep 17 00:00:00 2001 From: Chiara Rasi Date: Tue, 10 Feb 2026 10:40:59 +0100 Subject: [PATCH] Fix merge main --- CHANGELOG.md | 1 + scout/server/blueprints/variant/controllers.py | 1 + .../variant/templates/variant/tx_overview.html | 4 ++++ scout/server/links.py | 12 ++++++++++++ 4 files changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c55eda721f..2c7f8a61b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ About changelog [here](https://keepachangelog.com/en/1.0.0/) - Parse and display `MivmirExplanation` key/values on variant page, when available (#6011) - Display inheritance models on structural variantS pages (#6015) - Analysis types wgs-lr and panel-lr (#6029) +- popEVE link on variant page, RefSeq transcripts table (#6016) ### Changed - Institutes are now ordered alphabetically by display name on gene panels search (#5965) - Display all available individual/sample IDs for a case (display_name, individual_id and subject_id) directly on cases page (#5966) diff --git a/scout/server/blueprints/variant/controllers.py b/scout/server/blueprints/variant/controllers.py index 4099cc3517..b3f650e19d 100644 --- a/scout/server/blueprints/variant/controllers.py +++ b/scout/server/blueprints/variant/controllers.py @@ -130,6 +130,7 @@ def tx_overview(variant_obj: dict, genome_build: str): "cbioportal_link", "mutalyzer_link", "mycancergenome_link", + "popeve_link", "tp53_link", "varsome_link", "vutr_link", diff --git a/scout/server/blueprints/variant/templates/variant/tx_overview.html b/scout/server/blueprints/variant/templates/variant/tx_overview.html index 0b9998334f..c2ee92ff9f 100644 --- a/scout/server/blueprints/variant/templates/variant/tx_overview.html +++ b/scout/server/blueprints/variant/templates/variant/tx_overview.html @@ -113,6 +113,10 @@ MCG {% endif %} + {% if tx.popeve_link %} + pE + {% endif %} {% endfor %} diff --git a/scout/server/links.py b/scout/server/links.py index e734cf5bce..a614757827 100644 --- a/scout/server/links.py +++ b/scout/server/links.py @@ -356,6 +356,8 @@ def add_tx_links(tx_obj, build=37, hgnc_symbol=None): if build == 38: tx_obj["ensembl_link"] = ensembl_38_link + tx_obj["popeve_link"] = popeve(tx_obj) + refseq_links = [] refseq_id = tx_obj.get("refseq_id") or ( tx_obj.get("transcript_id") @@ -403,6 +405,16 @@ def refseq(refseq_id): return link.format(refseq_id) +def popeve(tx_obj: dict) -> Optional[str]: + """Generates a PopEVE link for a transcript by extracting the RefSeq protein_id, if present.""" + protein_id = tx_obj.get("protein_id") + if not protein_id or not protein_id.startswith("NP_"): + return None + + protein_id = protein_id.replace(".", "-") # Format RefSeq protein ID for PopEVE URL + return f"https://pop.evemodel.org/protein/{protein_id}" + + def ensembl_tx(ens_tx_id, build=37): link = "http://grch37.ensembl.org/Homo_sapiens/" "Gene/Summary?t={}"