How to embed proteinpaint in splicing RNA view?

48 views
Skip to first unread message

Erik Nohr

unread,
May 9, 2025, 5:31:07 PM5/9/25
to ProteinPaint
Hello,

ProteinPaint is an amazing tool that I use extensively. I am trying to set up html files to display fusion breakpoints in the context of the mRNA/protein structure and COSMIC data. Please see two attached examples:

EML4--ALK_chr2_42522656_+_chr2_29446513_-.html
  • This is an example of what I would like to see. The Fusion Track showing a fusion in the context of the gene and COSMIC calls.
MYH9--USP6_chr22_36783852_-_chr17_5033662_+.html
  • This is highlighting my challenge. The breakpoints are in the 5' UTR of the two genes. The Fusion Track states "No Data in MYH9". I can reproduce this result with the manual "+" button entry tool adding "MYH9,NM_002473,chr22:36783852,USP6,NM_004505,chr17:5033662" with "Genomic Position" mode - it still says "No Data in MYH9", even if I subsequently change it to "splicing RNA" display.
  • However, if I change the display to "splicing RNA" view first and THEN use the + button to "Add mutation and/or fusion to show", and paste in that string using "Genomic Position" mode, then it does display the fusion.
Therefore, I'm wondering if there is a way to change the html code to open this embedded widget in "splicing RNA" view by default (which would also be a preferred view anyways), and if that may lead to the fusion displaying correctly.

Thanks!
Erik

MYH9--USP6_chr22_36783852_-_chr17_5033662_+.html
EML4--ALK_chr2_42522656_+_chr2_29446513_-.html

ProteinPaint Team

unread,
May 13, 2025, 4:24:55 PM5/13/25
to ProteinPaint
Hi Erik, 

Thank you for reaching out. This issue is logged into our workflow here: https://github.com/stjude/proteinpaint/issues/3314. We address it soon. 

Thank you for using ProteinPaint. 

ProteinPaint Team

unread,
May 13, 2025, 5:32:24 PM5/13/25
to ProteinPaint
Hi Erik, 

correction was submitted for the one issue found whilst testing. Below are corrections for the embedding code. 

For the first example, please use this as a template: 
{
"noheader": true,
"nobox": 1,
"parseurl": false,
"genome": "hg19",
"gene": "myh9",
"gmmode": "splicing RNA",
"tracks": [
{
"type": "mds3",
"name": "Fusion Track",
"custom_variants": [
{
"gene1": "MYH9",
"chr1": "chr22",
"pos1": 36783852,
"strand1": "-",
"gene2": "USP6",
"chr2": "chr17",
"pos2": 5033662,
"strand2": "+",
"dt": 2,
"class": "Blank"
}
]
},
{
"type": "mds3",
"dslabel": "COSMIC"
}
],
"mclassOverride": {
"className": "Fusion Classes",
"classes": {
"Blank": {
"label": "RNA Fusion",
"color": "#E74C3C",
"desc": "Fusion detected at RNA level"
}
}
}
}

For the second, please use this as a template: 
{
"noheader": true,
"nobox": 1,
"parseurl": false,
"genome": "hg19",
"gene": "eml4",
"gmmode": "splicing RNA",
"tracks": [
{
"type": "mds3",
"name": "Fusion Track",
"custom_variants": [
{
"gene1": "EML4",
"chr1": "chr2",
"pos1": 42522656,
"strand1": "+",
"gene2": "ALK",
"chr2": "chr2",
"pos2": 29446513,
"strand2": "-",
"dt": 2,
"class": "Blank"
}
]
},
{
"type": "mds3",
"dslabel": "COSMIC"
}
],
"mclassOverride": {
"className": "Fusion Classes",
"classes": {
"Blank": {
"label": "RNA Fusion",
"color": "#E74C3C",
"desc": "Fusion detected at RNA level"
}
}
}
}

Explanation: 
  • "Fusionrna" is not a valid class for ProteinPaint. Please see this reference from our github wiki: https://github.com/stjude/proteinpaint/wiki/Class-Mutations-Reference. The code above uses "Blank" to change the color, label, and description for the custom variants.
  • Datasets are tracks and must be added to the "tracks" array. Please see the second track object added to "tracks" as a reference.
  • Adding "gmmode": "splicing RNA" sets the view to splicing RNA.
  • The properties in the "skewerModes" object corresponded to numeric displays (i.e. when the y axis is numeric). The value for the "byAttribute" key in the track object were strings instead of numbers. Please see this explanation from our github wiki for more information: https://github.com/stjude/proteinpaint/wiki/Lollipop-%E2%80%90-mds3#tkskewermodes
Please reach out here if there are any more questions. 

Take care, 
ProteinPaint Team

Erik Nohr

unread,
May 15, 2025, 7:09:45 PM5/15/25
to ProteinPaint Team, ProteinPaint
Thanks! It mostly works but with the example provided I am getting "t.skewer is undefined" in the COSMIC track:
image.png
Any solution to that?

Erik

--
You received this message because you are subscribed to the Google Groups "ProteinPaint" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proteinpaint...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/proteinpaint/da56a4a8-f13d-46fa-9aef-5efdf403b423n%40googlegroups.com.

ProteinPaint Team

unread,
May 16, 2025, 4:46:57 PM5/16/25
to ProteinPaint
Hi Erik, 

I'm not able to reproduce this error. The template code sent shows the COSMIC track on our end. Please check the used code matches the template. If yes, please provide the code used. 

Take care, 
ProteinPaint team 

Erik Nohr

unread,
May 17, 2025, 4:27:18 PM5/17/25
to ProteinPaint
Thanks, I attached a minimal example. 

When I open this html in firefox the COSMIC track displays " t.skewer is undefined".
When I open it in Chrome or Edge, the COSMIC track displays: "Cannot read properties of undefined (reading 'g')"

I attached images of what I see.

Warm regards,
Erik
proteinpaint_test_chrome.png
proteinpaint_test.html
proteinpaint_test_firefox.png

Xin Zhou

unread,
Jun 20, 2025, 5:14:50 PM6/20/25
to ProteinPaint
Hi Erik, sorry for getting back to you late. The issue is that COSMIC is a legacy dataset and cannot be declared as the `{ "type": "mds3", "dslabel": "COSMIC"}` object in "tracks[]" array.

Simply delete that object, and supply "dataset" property instead as:

```
runproteinpaint({
    ...
   dataset:'COSMIC',
})
```


We will also improve the error reporting so it's less confusing. Thanks!
Xin
Reply all
Reply to author
Forward
0 new messages