Read in clinical data.
clin <- read.delim("~/OpenPBTA-analysis/data/release-v15-20200228/pbta-histologies.tsv", header = T, sep = "\t")
Add medulloblastoma labels.
##If MB samples were not subtyped, retain only integrated diagnosis. If subtyped, concat with subtype
clin$label <- ifelse(clin$integrated_diagnosis == "Medulloblastoma" & !is.na(clin$molecular_subtype),
paste0(clin$integrated_diagnosis, "-", clin$molecular_subtype),
ifelse(clin$integrated_diagnosis == "Medulloblastoma" & is.na(clin$molecular_subtype),
paste0(clin$integrated_diagnosis), paste0(clin$molecular_subtype)))
##check labels
as.data.frame(table(clin$label))
Add ATRT labels.
##Since ATRT has a broad_histology == Embryonal Tumor, we should specify the disease type in the label
clin$label <- unlist(ifelse(clin$short_histology == "ATRT",
paste0(clin$short_histology), paste0(clin$label)))
##check labels
as.data.frame(table(clin$label))
For “Other” tumors, use integrated diagnosis.
This results in a lot of histologies of small N - discuss what we would like to see here.
clin$label <- unlist(ifelse(clin$short_histology == "Other",
paste0(clin$integrated_diagnosis), paste0(clin$label)))
##check labels
as.data.frame(table(clin$label))
Fix NAs - some NAs are converted to factors when the above is done (there may be a way to stop this during ifelse, but couldn’t quickly find).
clin$label <- ifelse(clin$label == "NA", NA, paste0(clin$label))
For remaining samples, use broad_histology for missing labels.
clin$label <- ifelse(is.na(clin$label),
paste0(clin$short_histology), paste0(clin$label))
## Check all labels
as.data.frame(table(clin$label))
A few notes:
- The 833 remaining NAs are the normal specimens.
- The CNS EFT-CIC will become CNS Ewings sarcoma.
- We have a standalone BRAF V600E subtype, but this is HGG only, and should be labeled as such.
- We probably want to label LGAT as LGG BRAF fusion, LGG BRAF V600E, or LGG BRAF WT.
LS0tCnRpdGxlOiAiQWRkIHBsb3QgbGFiZWxzIHRvIHBidGEtaGlzdG9sb2dpZXMudHN2IGZpbGUiCm91dHB1dDogaHRtbF9ub3RlYm9vayAgICAKdG9jOiBUUlVFCnRvY19mbG9hdDogVFJVRQplZGl0b3Jfb3B0aW9uczogCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KCiMjIFJlYWQgaW4gY2xpbmljYWwgZGF0YS4KCmBgYHtyfQpjbGluIDwtIHJlYWQuZGVsaW0oIn4vT3BlblBCVEEtYW5hbHlzaXMvZGF0YS9yZWxlYXNlLXYxNS0yMDIwMDIyOC9wYnRhLWhpc3RvbG9naWVzLnRzdiIsIGhlYWRlciA9IFQsIHNlcCA9ICJcdCIpCmBgYAoKIyMgQWRkIG1lZHVsbG9ibGFzdG9tYSBsYWJlbHMuCgpgYGB7cn0KIyNJZiBNQiBzYW1wbGVzIHdlcmUgbm90IHN1YnR5cGVkLCByZXRhaW4gb25seSBpbnRlZ3JhdGVkIGRpYWdub3Npcy4gSWYgc3VidHlwZWQsIGNvbmNhdCB3aXRoIHN1YnR5cGUKY2xpbiRsYWJlbCA8LSBpZmVsc2UoY2xpbiRpbnRlZ3JhdGVkX2RpYWdub3NpcyA9PSAiTWVkdWxsb2JsYXN0b21hIiAmICFpcy5uYShjbGluJG1vbGVjdWxhcl9zdWJ0eXBlKSwKICAgICAgICAgICAgICAgICAgICAgICBwYXN0ZTAoY2xpbiRpbnRlZ3JhdGVkX2RpYWdub3NpcywgIi0iLCBjbGluJG1vbGVjdWxhcl9zdWJ0eXBlKSwgCiAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShjbGluJGludGVncmF0ZWRfZGlhZ25vc2lzID09ICJNZWR1bGxvYmxhc3RvbWEiICYgaXMubmEoY2xpbiRtb2xlY3VsYXJfc3VidHlwZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXN0ZTAoY2xpbiRpbnRlZ3JhdGVkX2RpYWdub3NpcyksIHBhc3RlMChjbGluJG1vbGVjdWxhcl9zdWJ0eXBlKSkpCiMjY2hlY2sgbGFiZWxzCmFzLmRhdGEuZnJhbWUodGFibGUoY2xpbiRsYWJlbCkpCmBgYAoKIyMgQWRkIEFUUlQgbGFiZWxzLgoKYGBge3J9CiMjU2luY2UgQVRSVCBoYXMgYSBicm9hZF9oaXN0b2xvZ3kgPT0gRW1icnlvbmFsIFR1bW9yLCB3ZSBzaG91bGQgc3BlY2lmeSB0aGUgZGlzZWFzZSB0eXBlIGluIHRoZSBsYWJlbApjbGluJGxhYmVsIDwtIHVubGlzdChpZmVsc2UoY2xpbiRzaG9ydF9oaXN0b2xvZ3kgPT0gIkFUUlQiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3RlMChjbGluJHNob3J0X2hpc3RvbG9neSksIHBhc3RlMChjbGluJGxhYmVsKSkpCiMjY2hlY2sgbGFiZWxzCmFzLmRhdGEuZnJhbWUodGFibGUoY2xpbiRsYWJlbCkpCmBgYAoKIyMgRm9yICJPdGhlciIgdHVtb3JzLCB1c2UgaW50ZWdyYXRlZCBkaWFnbm9zaXMuClRoaXMgcmVzdWx0cyBpbiBhIGxvdCBvZiBoaXN0b2xvZ2llcyBvZiBzbWFsbCBOIC0gZGlzY3VzcyB3aGF0IHdlIHdvdWxkIGxpa2UgdG8gc2VlIGhlcmUuCgpgYGB7cn0KY2xpbiRsYWJlbCA8LSB1bmxpc3QoaWZlbHNlKGNsaW4kc2hvcnRfaGlzdG9sb2d5ID09ICJPdGhlciIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGUwKGNsaW4kaW50ZWdyYXRlZF9kaWFnbm9zaXMpLCBwYXN0ZTAoY2xpbiRsYWJlbCkpKQojI2NoZWNrIGxhYmVscwphcy5kYXRhLmZyYW1lKHRhYmxlKGNsaW4kbGFiZWwpKQpgYGAKCiMjIEZpeCBOQXMgLSBzb21lIE5BcyBhcmUgY29udmVydGVkIHRvIGZhY3RvcnMgd2hlbiB0aGUgYWJvdmUgaXMgZG9uZSAodGhlcmUgbWF5IGJlIGEgd2F5IHRvIHN0b3AgdGhpcyBkdXJpbmcgaWZlbHNlLCBidXQgY291bGRuJ3QgcXVpY2tseSBmaW5kKS4KCmBgYHtyfQpjbGluJGxhYmVsIDwtIGlmZWxzZShjbGluJGxhYmVsID09ICJOQSIsIE5BLCBwYXN0ZTAoY2xpbiRsYWJlbCkpCmBgYAoKIyMgRm9yIHJlbWFpbmluZyBzYW1wbGVzLCB1c2UgYnJvYWRfaGlzdG9sb2d5IGZvciBtaXNzaW5nIGxhYmVscy4KCmBgYHtyfQpjbGluJGxhYmVsIDwtIGlmZWxzZShpcy5uYShjbGluJGxhYmVsKSwgCiAgICAgICAgICAgICAgICAgICAgIHBhc3RlMChjbGluJHNob3J0X2hpc3RvbG9neSksIHBhc3RlMChjbGluJGxhYmVsKSkKIyMgQ2hlY2sgYWxsIGxhYmVscwphcy5kYXRhLmZyYW1lKHRhYmxlKGNsaW4kbGFiZWwpKQpgYGAKCiMjIEEgZmV3IG5vdGVzOgotIFRoZSA4MzMgcmVtYWluaW5nIE5BcyBhcmUgdGhlIG5vcm1hbCBzcGVjaW1lbnMuCi0gVGhlIENOUyBFRlQtQ0lDIHdpbGwgYmVjb21lIENOUyBFd2luZ3Mgc2FyY29tYS4KLSBXZSBoYXZlIGEgc3RhbmRhbG9uZSBCUkFGIFY2MDBFIHN1YnR5cGUsIGJ1dCB0aGlzIGlzIEhHRyBvbmx5LCBhbmQgc2hvdWxkIGJlIGxhYmVsZWQgYXMgc3VjaC4KLSBXZSBwcm9iYWJseSB3YW50IHRvIGxhYmVsIExHQVQgYXMgTEdHIEJSQUYgZnVzaW9uLCBMR0cgQlJBRiBWNjAwRSwgb3IgTEdHIEJSQUYgV1QuCg==