TCGA Ovarian Cancer GISTIC2 Copy-Number Landscape¶
This example visualizes recurrent copy-number alterations in the TCGA ovarian
serous cystadenocarcinoma cohort (OV-TP) with
GISTIC2 results from the Broad
Institute TCGA Genome Data Analysis Center Firehose. The source analysis used
GISTIC2.0.22 and hg19 coordinates.
{
"description": [
"TCGA Ovarian Cancer GISTIC2 Copy-Number Landscape",
"Shows recurrent GISTIC2 copy-number amplifications and deletions across the TCGA ovarian serous cystadenocarcinoma cohort."
],
"assembly": "hg19",
"scales": {
"x": {
"domain": [
{ "chrom": "chr18", "pos": 14593640 },
{ "chrom": "chr20", "pos": 22538731 }
]
}
},
"name": "gistic-track",
"resolve": { "axis": { "x": "shared" } },
"vconcat": [
{
"name": "gistic-q-value",
"title": {
"text": "GISTIC q-values from the TCGA OV-TP cohort",
"style": "overlay-title"
},
"layer": [
{
"name": "zero-line",
"data": { "values": [0] },
"encoding": {
"y": { "field": "data", "type": "quantitative", "title": null }
},
"mark": {
"type": "rule",
"color": "black",
"opacity": 0.3
}
},
{
"name": "q-value-rects",
"data": {
"url": "https://data.genomespy.app/sample-data/TCGA-OV-GISTIC/scores.gistic",
"format": { "type": "tsv" }
},
"transform": [
{
"type": "formula",
"expr": "datum['-log10(q-value)'] * (datum.Type == 'Del' ? -1 : 1)",
"as": "-log10(q-value)"
}
],
"encoding": {
"color": {
"field": "Type",
"type": "nominal",
"scale": {
"domain": ["Amp", "Del"],
"range": ["#e45756", "#4c78a8"]
}
},
"y": { "field": "-log10(q-value)", "type": "quantitative" },
"x": {
"chrom": "Chromosome",
"pos": "Start",
"type": "locus"
},
"x2": { "chrom": "Chromosome", "pos": "End" }
},
"mark": {
"type": "rect",
"minOpacity": 1
}
},
{
"name": "q-value-thresholds",
"data": {
"values": [0.602, -0.602]
},
"encoding": {
"y": { "field": "data", "type": "quantitative", "title": null }
},
"mark": {
"type": "rule",
"strokeDash": [3, 1],
"color": "black",
"opacity": 0.3
}
}
]
},
{
"name": "gistic-all-lesions",
"title": { "text": "Regions and peaks", "orient": "none" },
"height": { "step": 20 },
"data": {
"url": "https://data.genomespy.app/sample-data/TCGA-OV-GISTIC/all_lesions.conf_99.txt",
"format": { "type": "tsv" }
},
"transform": [
{
"type": "regexExtract",
"field": "Unique Name",
"regex": "^(Amplification|Deletion) Peak[ ]+\\d+$",
"as": ["Type"],
"skipInvalidInput": true
},
{ "type": "filter", "expr": "!!datum.Type" },
{
"type": "regexFold",
"columnRegex": ["^(.*) Limits$"],
"asValue": ["limits"],
"asKey": "Segment type"
},
{
"type": "regexExtract",
"field": "limits",
"regex": "^(chr[^:]+):(\\d+)-(\\d+)",
"as": ["Chrom", "Start", "End"]
},
{
"type": "project",
"fields": [
"Segment type",
"Chrom",
"Start",
"End",
"Type",
"Descriptor",
"q values"
]
}
],
"encoding": {
"color": {
"field": "Type",
"type": "nominal",
"scale": {
"domain": ["Amplification", "Deletion"],
"range": ["#e45756", "#4c78a8"]
}
},
"y": {
"field": "Type",
"type": "nominal",
"scale": { "domain": ["Amplification", "Deletion"], "padding": 0.2 },
"title": null
},
"x": {
"chrom": "Chrom",
"pos": "Start",
"type": "locus"
},
"x2": { "chrom": "Chrom", "pos": "End" },
"opacity": {
"field": "Segment type",
"type": "nominal",
"scale": {
"type": "ordinal",
"domain": ["Wide Peak", "Peak", "Region"],
"range": [0.3, 1, 0.3]
}
},
"size": {
"field": "Segment type",
"type": "nominal",
"scale": {
"type": "ordinal",
"domain": ["Wide Peak", "Peak", "Region"],
"range": [11, 15, 2]
}
}
},
"mark": {
"type": "rule",
"minLength": 2
}
}
],
"config": {
"legend": { "disable": true },
"view": { "stroke": "lightgray" }
}
}
The results shown here are in whole or part based upon data generated by the TCGA Research Network.
The displayed GISTIC2 output files are open-access TCGA data produced by the Broad Institute TCGA Genome Data Analysis Center.
Source: Broad Institute TCGA Genome Data Analysis Center (2016), TCGA OV-TP CopyNumber GISTIC2 Level 4, Firehose run 2016-01-28, GISTIC2.0.22, hg19. Download the source archive.
What to notice¶
The upper track plots GISTIC -log10(q-value) scores across the genome. Red
denotes amplifications and blue denotes deletions; the deletion scores are
negated so the two event types appear on opposite sides of the zero line. The
dashed lines at ±0.602 represent the GISTIC q-value cutoff of 0.25.
The lower track distinguishes each recurrent amplification and deletion's wide peak, peak, and region. The peak itself is the thick, fully opaque stroke; its wide peak is a medium-width translucent stroke, and the broader region is a thin translucent stroke. These intervals are overlaid on the red amplification or blue deletion row, so the central peak stands out against the broader regions.
The initial view spans chromosomes 18 to 20, including several recurrent ovarian-cancer copy-number events.
Using standard GISTIC output directly¶
The specification reads the unmodified scores.gistic and
all_lesions.conf_99.txt files directly. It applies the following display-time
transforms instead of preparing separate tables for the visualization:
formulasigns the score byType, placing deletions below zero while leaving amplification scores positive.regexExtractidentifies amplification and deletion peak rows fromUnique Name, then parses each GISTICchr:start-endinterval into chromosome, start, and end fields.filterkeeps those peak rows from the report table.regexFoldunfolds theWide Peak Limits,Peak Limits, andRegion Limitscolumns into individual graphical intervals.projectretains the interval fields, event type, descriptor, and q-value for rendering and tooltips, omitting the hundreds of per-sample lesion-call columns from the view data.
No source file is filtered, coordinate-converted, or restructured on disk. The transforms only create the in-memory fields that the tracks need.