Claire DiLosa
Introduction
Glioblastoma is an aggressive cancer of the central nervous system with very poor clinical outcomes. Despite the standard treatment of surgery, radiation, and chemotherapy, the five-year survival rate is only 6.8%, with a median survival of only 12-15 months[1]. Professor Maya Saleh, a researcher from the Armand-Frappier Health Biotechnology Center of the National Institute of Scientific Research, is working to map the immune environment of the brains of patients with Glioblastoma[2]. The project is ongoing and mainly focuses on the immune cells surrounding the tumour and their interactions with the tumour microenvironment. Part of this work involves analyzing which lipids and metabolites are present in the tumour microenvironment, a method commonly referred to as lipidomics and metabolomics, respectively. In this report, I will focus on quantitatively comparing lipidomic data from normal brain tissue and tissue from patients with glioblastomas.
Lipids are one of the four classes of biological macromolecules and are key components of cellular membranes. The basic structure of a lipid includes a head group that can vary in charge and chemical group, attached to a fatty acid chain (tail) that can vary in number, length, and saturation (number of double bonds)[3,4]. This variation in tail and head groups has led to thousands of different lipid species present in cells. An example of a lipid species you might see in this report is TG(48:1), which represents a triglyceride that contains 48 carbons and 1 double bond in its fatty acid chains (tail)[4]. Lipids perform many roles within cells, serving as signalling molecules and energy stores. Tumours often undergo metabolic reprogramming to meet energy demands, and lipid metabolism is frequently altered, which makes the pathways tumours rely on a potential therapeutic target[1]. Understanding what lipids are present in glioblastoma tissue can provide insight into how the tumours have altered lipid metabolism.
Lipidomics is a large-scale analysis of all the lipids present in a sample – referred to as the “lipidome”[5]. The technique relies on mass spectrometry, which uses differences in mass and charge to identify and measure biomolecules. For this project, I have obtained the published supplementary table from Abdullah, et al (2026)[6], which reports lipids and other molecules (metabolites) present in tissue samples from patients with gliomas and normal brain tissue.
#load libraries
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readxl)
library(ggplot2)
library(ggfortify)
path <-("~/Desktop/Bio9915/Stats in Lipidomics/Glioma Lipidomics + Metabolomics.xlsx")
glioma <- read_excel(path, skip=1) #skip =1 so that column headers come from row 2 (How the excel was formatted)
clin_names <- c("identifier", "tissue_type", "idh_status", "grade", "histology",
"mgmt_methylation", "subtype", "surgery_type", "age", "sex", "sample_type") # renaming column headers to not have spaces
# the imported dataset contains both lipids and metabolites. I want to focus on the lipids so I needed to filter out the lipids and tidy it up. In the title of most lipid species, it contains (X:Y) to denote information on the lipid chain i.e. DG(32:1). Will use this feature to pull lipids out of the dataset.
extra_lipids <- c("Sphingosine", "Platelet-activating factor", "Decanoate", "Oleamide", "Cholate", "Glycocholate", "Glycochenodeoxycholate", "4alpha-Hydroxyformyl-4beta-methyl-5alpha-cholest-8-en-3beta-ol", "N-Undecanoylglycine") #these are a few lipids that don't have (X:Y) in their name. Grouping them into an object called extra lipids for later.
glioma_lipids <- glioma |>
select(1:11, # first 11 columns that include clinical information
matches("\\(.*\\d+:\\d+.*\\)"), # names that include (X:Y)
all_of(extra_lipids)) #the extra lipids picked out earlier
dim(glioma_lipids)
## [1] 91 248
names(glioma_lipids)
## [1] "Identifier"
## [2] "Tissue Type"
## [3] "IDH Status"
## [4] "Glioma Grade"
## [5] "Histology"
## [6] "MGMT Methylation Status"
## [7] "Transcriptomic Subtype"
## [8] "Surgery Type"
## [9] "Age"
## [10] "Sex"
## [11] "Sample Type"
## [12] "1,2-DG(32:0)"
## [13] "1,2-DG(32:1)"
## [14] "1,2-DG(34:0)"
## [15] "1,2-DG(34:1)"
## [16] "1,2-DG(34:2)"
## [17] "1,2-DG(36:0)"
## [18] "1,2-DG(36:1)"
## [19] "1,2-DG(36:2)"
## [20] "1,2-DG(36:4)"
## [21] "1,2-DG(38:2)"
## [22] "1,2-DG(38:4)"
## [23] "1,2-DG(38:5)"
## [24] "1,2-DG(38:6)"
## [25] "1,2-DG(40:6)"
## [26] "1,2-DG(40:7)"
## [27] "3-Hydroxycarnitine (14:0)"
## [28] "3-Hydroxycarnitine (16:0)"
## [29] "3-Hydroxycarnitine (18:1)"
## [30] "3-Hydroxycarnitine (4:0)"
## [31] "3-Hydroxycarnitine (5:0)"
## [32] "3-Hydroxycarnitine (6:0)"
## [33] "3-Hydroxycarnitine (8:0)"
## [34] "Carnitine (12:0)"
## [35] "Carnitine (14:0)"
## [36] "Carnitine (16:0)"
## [37] "Carnitine (16:1)"
## [38] "Carnitine (17:0)"
## [39] "Carnitine (18:0)"
## [40] "Carnitine (18:1)"
## [41] "Carnitine (20:0)"
## [42] "Carnitine (3:0)"
## [43] "Carnitine (4:0)"
## [44] "Carnitine (5:0)"
## [45] "Carnitine (6:0)"
## [46] "Cer(d18:0/16:0)"
## [47] "Cer(d18:0/22:0)"
## [48] "Cer(d18:0/24:0)"
## [49] "Cer(d18:0/24:1)"
## [50] "Cer(d18:0/26:0)"
## [51] "Cer(d18:1/16:0)"
## [52] "Cer(d18:1/18:0)"
## [53] "Cer(d18:1/20:0)"
## [54] "Cer(d18:1/22:0)"
## [55] "Cer(d18:1/22:1)"
## [56] "Cer(d18:1/23:0)"
## [57] "Cer(d18:1/24:0)"
## [58] "Cer(d18:1/24:1)"
## [59] "Cer(d18:1/25:0)"
## [60] "Cer(d18:1/26:0)"
## [61] "Cer(d18:1/26:1)"
## [62] "Cer(d18:2/22:0)"
## [63] "Cer(d18:2/23:1)"
## [64] "Cer(d18:2/24:1)"
## [65] "FA (12:0)"
## [66] "FA (14:0)"
## [67] "FA (16:0)"
## [68] "FA (16:1)"
## [69] "FA (18:0)"
## [70] "FA (18:1)"
## [71] "FA (20:0)"
## [72] "FA (20:2)"
## [73] "FA (8:0)"
## [74] "Hydroxy-FA (12:0)"
## [75] "Hydroxy-FA (18:1)"
## [76] "Hydroxy-FA (6:0)"
## [77] "Hydroxy-FA (7:0)"
## [78] "Hydroxy-FA (8:0)"
## [79] "LPC(16:0)"
## [80] "LPC(16:1)"
## [81] "LPC(17:0)"
## [82] "LPC(18:0)"
## [83] "LPC(18:1)"
## [84] "LPC(18:2)"
## [85] "LPC(18:3)"
## [86] "LPC(20:0)"
## [87] "LPC(20:1)"
## [88] "LPC(20:2)"
## [89] "LPC(20:3)"
## [90] "LPC(20:4)"
## [91] "LPC(22:0)"
## [92] "LPC(22:4)"
## [93] "LPC(22:6)"
## [94] "LPC(24:0)"
## [95] "LPE(16:0)"
## [96] "LPE(18:0)"
## [97] "LPE(18:1)"
## [98] "LPE(18:2)"
## [99] "LPE(18:3)"
## [100] "LPE(20:1)"
## [101] "LPE(20:2)"
## [102] "LPE(20:4)"
## [103] "LPE(22:6)"
## [104] "PC(14:0/18:1)_PC(16:0/16:1)"
## [105] "PC(14:0/18:2)"
## [106] "PC(16:0/16:0)"
## [107] "PC(16:0/18:0)"
## [108] "PC(16:0/18:1)"
## [109] "PC(16:0/18:2)"
## [110] "PC(16:0/20:3)"
## [111] "PC(16:0/20:4)"
## [112] "PC(16:0/20:5)"
## [113] "PC(16:0/22:4)"
## [114] "PC(16:0/22:5)"
## [115] "PC(16:0/22:6)"
## [116] "PC(16:1/14:0)"
## [117] "PC(16:1/18:1)"
## [118] "PC(16:1/20:3)"
## [119] "PC(18:0/18:0)"
## [120] "PC(18:0/20:4)"
## [121] "PC(18:0/22:4)"
## [122] "PC(18:0/22:6)"
## [123] "PC(18:1/18:0)"
## [124] "PC(18:1/18:1)"
## [125] "PC(18:1/20:4)"
## [126] "PC(18:1/22:1)"
## [127] "PC(18:1/22:6)"
## [128] "PC(18:2/16:1)"
## [129] "PC(18:2/18:0)"
## [130] "PC(18:2/18:1)"
## [131] "PC(18:2/18:2)"
## [132] "PC(18:2/20:2)"
## [133] "PC(18:2/20:4)"
## [134] "PC(18:3/16:0)"
## [135] "PC(18:3/18:2)"
## [136] "PC(20:4/20:2)"
## [137] "PC(38:2)"
## [138] "PC(40:2)"
## [139] "PC(40:5)"
## [140] "PC(40:8)"
## [141] "PE(16:0/18:2)"
## [142] "PE(16:0/20:4)"
## [143] "PE(16:0/22:6)"
## [144] "PE(16:1/18:0)"
## [145] "PE(16:1/18:1)"
## [146] "PE(16:1/20:4)"
## [147] "PE(18:0/18:1)"
## [148] "PE(18:0/18:2)"
## [149] "PE(18:0/20:3)"
## [150] "PE(18:0/20:4)"
## [151] "PE(18:0/22:5)"
## [152] "PE(18:1/18:1)"
## [153] "PE(18:1/18:2)"
## [154] "PE(18:1/20:4)"
## [155] "PE(18:1/22:6)"
## [156] "PE(18:2/20:4)"
## [157] "PE(22:4/18:0)"
## [158] "PE(24:5/18:0)"
## [159] "PE(38:1)"
## [160] "PG(34:1)"
## [161] "PG(36:2)"
## [162] "PG(36:3)"
## [163] "PG(36:4)"
## [164] "PG(38:4)"
## [165] "PG(38:5)"
## [166] "PG(38:6)"
## [167] "PG(40:4)"
## [168] "PG(40:6)"
## [169] "PG(40:7)"
## [170] "PG(40:8)"
## [171] "PI(16:0/20:4)"
## [172] "PI(16:0/22:6)"
## [173] "PI(18:0/18:2)"
## [174] "PI(18:0/20:3)"
## [175] "PI(18:0/20:4)"
## [176] "PI(18:0/20:5)"
## [177] "PI(18:0/22:3)"
## [178] "PI(18:0/22:4)"
## [179] "PI(18:0/22:5)"
## [180] "PI(18:0/22:6)"
## [181] "PI(18:1/18:0)"
## [182] "PI(18:1/18:1)"
## [183] "PI(18:1/20:3)"
## [184] "PI(18:1/20:4)"
## [185] "PI(18:1/22:4)"
## [186] "PI(18:1/22:5)"
## [187] "PI(32:0)"
## [188] "PI(34:2)"
## [189] "PI(36:3)"
## [190] "PI(38:6)"
## [191] "PS(34:2)"
## [192] "PS(36:1)"
## [193] "PS(36:4)"
## [194] "PS(38:3)"
## [195] "PS(38:5)"
## [196] "PS(38:6)"
## [197] "PS(40:5)"
## [198] "PS(40:6)"
## [199] "PS(40:7)"
## [200] "SM(18:0/16:0)"
## [201] "SM(18:0/18:0)"
## [202] "SM(18:0/20:0)"
## [203] "SM(18:0/22:0)"
## [204] "SM(18:0/24:1)"
## [205] "SM(18:1/14:0)"
## [206] "SM(18:1/15:0)"
## [207] "SM(18:1/16:0)"
## [208] "SM(18:1/17:0)"
## [209] "SM(18:1/18:0)"
## [210] "SM(18:1/18:1)"
## [211] "SM(18:1/20:0)"
## [212] "SM(18:1/21:0)"
## [213] "SM(18:1/22:0)"
## [214] "SM(18:1/22:1)"
## [215] "SM(18:1/23:0)"
## [216] "SM(18:1/24:0)"
## [217] "SM(18:1/24:1)"
## [218] "SM(18:1/24:2)"
## [219] "SM(18:2/20:0)"
## [220] "SM(18:2/22:0)"
## [221] "SM(18:2/25:0)"
## [222] "SM(36:2)"
## [223] "SM(40:3)"
## [224] "SM(41:2)"
## [225] "TG(48:1)"
## [226] "TG(50:0)"
## [227] "TG(50:1)"
## [228] "TG(50:2)"
## [229] "TG(50:3)"
## [230] "TG(52:1)"
## [231] "TG(52:2)"
## [232] "TG(52:3)"
## [233] "TG(52:4)"
## [234] "TG(52:5)"
## [235] "TG(54:2)"
## [236] "TG(54:3)"
## [237] "TG(54:4)"
## [238] "TG(54:5)"
## [239] "TG(56:6)"
## [240] "Sphingosine"
## [241] "Platelet-activating factor"
## [242] "Decanoate"
## [243] "Oleamide"
## [244] "Cholate"
## [245] "Glycocholate"
## [246] "Glycochenodeoxycholate"
## [247] "4alpha-Hydroxyformyl-4beta-methyl-5alpha-cholest-8-en-3beta-ol"
## [248] "N-Undecanoylglycine"
# now need to select for just glioblastoma and normal tissue samples.
*References 1. Lu, L., Zhang, Y., Yang, Y. et al. Lipid metabolism: the potential therapeutic targets in glioblastoma. Cell Death Discov. 11, 107 (2025). https://doi.org/10.1038/s41420-025-02390-3
Legault, J.-B. (2025, June 20). Montreal researcher receives $1.2 million to advance glioblastoma research. CityNews Montreal. https://montreal.citynews.ca/2025/06/20/montreal-glioblastoma-research/
T. Harayama and H. Riezman, “Understanding the diversity of membrane lipid composition,” Nature reviews. Molecular cell biology, vol. 19, no. 5, pp. 281–296, May 2018, doi: 10.1038/nrm.2017.138.
G. Liebisch et al., “Update on LIPID MAPS classification, nomenclature, and shorthand notation for MS-derived lipid structures,” Journal of lipid research, vol. 61, no. 12, pp. 1539–1555, Dec. 2020, doi: 10.1194/jlr.S120001025.
Johannes V. Swinnen, Jonas Dehairs; A beginner’s guide to lipidomics. Biochem (Lond) 8 February 2022; 44 (1): 20–24. doi: https://doi.org/10.1042/bio_2021_181
K. G. Abdullah et al., “Gliomas phenocopy an inborn error of metabolism to drive neuronal activity and tumor growth,” Cell, Sept. 2026, doi: 10.1016/j.cell.2026.08.037.