Mutation Landscape (Heatmap)

Last updated: a year ago (view history), Time to read: 6 mins

Description

These code block examples can be used to generate a Mutation Landscape (heatmap) as seen in VisCom.

Use: Used for displaying the frequency of various mutations, CNVs and SVs in cancer relevant genes across a cohort of samples from one or many diagnoses.

For additional learning of each element or key please go to the heatmap ProteinPaint Google Docs.

Each code block is for each of the accepted data formats using the key: SNV/indel; SV/Fusion; CNV; ITD; Deletion; or Truncation. Scroll down to see the key examples. Formats for the file types are also found at the ProteinPaint mutation landscape track.

SNV Format, example file SV Format, example file CNV Format, example file ITD Format, example file Deletion Format, example file Truncation Format, example file

URL Parameter EXAMPLE

warning

If you are using DNAnexus links, be sure to extend the duration. See our manage data section. Each data type has its own url key.

Be sure to update lines 1, 4, and 6)

//Mutation Landscape (heatmap snv and indel)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "snvindel_url": "https://westus.dl.azure.dnanex.us/F/D/Xj9QvbV461b5K6JpqPXkP2ZqVkgz39q44ZKK3J8J/svIndelTestData.txt",
       }],
        "show_heatmap": 1,
		}
	}
/// Mutation Landscape (heatmap (SV / fusion)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "sv_url": "https://westus.dl.azure.dnanex.us/F/D/KJVP9x86Vgp6pk0GYqkf825pgzGkVKx55Z8qVV7B/svTestData.txt",
       }],
        "show_heatmap": 1,
		}
	}
///Mutation Landscape (CNV / Gene Level)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "cnv_url": "https://westus.dl.azure.dnanex.us/F/D/xZfxXpFQ636b15xBQf0Bb9ZG3Zj30p62fX02xQVz/cnvTestData.txt",
       }],
        "show_heatmap": 1,
		}
	}
///Mutation Landscape (ITD)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "itd_url": "https://westus.dl.azure.dnanex.us/F/D/G1gBQZ32BQqVyQx8KvzYkF5V7Qg5Q0Z2p4qyFZq1/itdTestData.txt",
       }],
        "show_heatmap": 1,
		}
	}
//Mutation Landscape (Deletion)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "deletion_url": "https://westus.dl.azure.dnanex.us/F/D/fpF14BVPGx6Z2vQ2976vff2q01QxgbPq8q0QJG4X/delTestData.txt",
       }],
        "show_heatmap": 1,
		}
	}
///Mutation Landscape (Truncation)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "truncation_url": "https://westus.dl.azure.dnanex.us/F/D/ZFgxG8p34GYzyjXzzKpKyGJX9BykxYzzXQ9jZ2p9/truncTestData.txt",
       }],
        "show_heatmap": 1,
		}
	}

Additionally, you may add supporting metadata directly. A JSON example can be found within the mutation landscape track in ProteinPaint under the code tab (see image below). In that example, the JSON file has all the sample group information and all metadata across multiple mutationsets together. code

If you choose to add your own JSON for the sample groups, you will need to add this to your code block:

       ///show_heatmap: 1, <- add the comma after 1 if using this extended JSON
       heatmapJSON:{
            "samplegroup": [
              { //Enter JSON here
              },
              ///metabarNames:[] <-- end of your JSON from ProteinPaint's cheat sheet
       }
    }
}

To view an example of the JSON file format:

  1. Example 1: Go to https://proteinpaint.stjude.org/

    • Select Mutation Landscape

      • Select Example

        • Select Code

          • Review the JSON formatting
  2. Example 2: See example 1, but then select the Data tab > Advanced > Schema. This does not show all the JSON configurations of that file used but only the sample data.
  3. Example 3: Go here and review the code block below the visualization.
  4. Example 4: Go here and review the code block below the visualization.

Furthermore, you can convert an excel sheet to JSON. There are many ways to do this, but we recommend BeautifyTools and to debug use https://jsonlint.com/.

Further Customization

If you want to add ProteinPaint or GenomePaint viewers to the genes, please see below, but the files used must be specific to render correctly. If you have trouble, please reach out. Additionally, you can order specific groups of meta data by re-organzing the samples in the Sample Group tab.

"heatmapJSON":{
            "runPpInputTemplate": {
                "rowLabelClick": {
                "geneKey": "positionbygene",
                "useIsoform": true,
                    "template": {
                        "nobox": 1,
                        "noheader": 1,
                        "block": 1,
                        "genome": "hg19",
                        "positionbygene": "fill-in-name-of-clicked-gene",
                        "nativetracks": "refgene",
                        "tracks": [{
                            "mdsjsonurl": "enter link here"
                        }
                        ]
                    }
                }
            }
}

This example is used in our oncoprint to specifically render GenomePaint on the genes.

File Path Example

//Mutation Landscape (heatmap JSON file)
{
"genome": "hg19",
    "study": "proteinpaint_demo/hg19/heatmap/heatmapDemo.json"
}
//Mutation Landscape (heatmap snv and indel)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "snvindel": "proteinpaint_demo/hg19/heatmap/snvindel",
       }],
        "show_heatmap": 1,
		}
	}
/// Mutation Landscape (heatmap (SV / fusion)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "fusion2": "proteinpaint_demo/hg19/heatmap/fusion.dux4.json",
       }],
        "show_heatmap": 1,
		}
	}
///Mutation Landscape (CNV / Gene Level)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "cnv": "proteinpaint_demo/hg19/heatmap/cnv",
       }],
        "show_heatmap": 1,
		}
	}
///Mutation Landscape (ITD)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "itd_url": "path/to/file/itd",
       }],
        "show_heatmap": 1,
		}
	}
//Mutation Landscape (Deletion)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "deletion": "proteinpaint_demo/hg19/heatmap/erg.deletion",
       }],
        "show_heatmap": 1,
		}
	}
///Mutation Landscape (Truncation)
{
"genome": "hg38",
    "studyview": {
        "hide_navigation": 1,
        "name": "TEST",
        "mutationset": [{
            "ctermloss": "proteinpaint_demo/hg19/heatmap/erg.closs",
       }],
        "show_heatmap": 1,
		}
	}

Check out our Genome for Kids (G4K) demo highlighting how to make an oncoprint in our videos section.