Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ About changelog [here](https://keepachangelog.com/en/1.0.0/)
- Display inheritance models on structural variantS pages (#6015)
- Analysis types wgs-lr and panel-lr (#6029)
- Option to specify database name for the loqusdb API in the scout config file (#6028)
- 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)
Expand Down
1 change: 1 addition & 0 deletions scout/server/blueprints/variant/controllers.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ def tx_overview(variant_obj: dict, genome_build: str):
"cbioportal_link",
"mutalyzer_link",
"mycancergenome_link",
"popeve_link",
"tp53_link",
"varsome_link",
"vutr_link",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@
<a href="{{ tx.mycancergenome_link }}" class="badge bg-secondary text-white" target="_blank" rel="noopener"
data-bs-toggle="tooltip" title="MyCancerGenome">MCG</a>
{% endif %}
{% if tx.popeve_link %}
<a href="{{ tx.popeve_link }}" class="badge bg-secondary text-white" target="_blank" rel="noopener"
data-bs-toggle="tooltip" title="popEVE mutation portal">pE</a>
{% endif %}
</td> <!-- end of links col -->
</tr>
{% endfor %} <!-- end of for tx in variant.overview_transcripts -->
Expand Down
12 changes: 12 additions & 0 deletions scout/server/links.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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={}"

Expand Down