|
|
groupnodeheatmap <- function(lipidclassproperties,data,metadata,class,levels,inputclass,input){
|
|
|
|
|
|
if(input$filetype == "MS-DIAL export"){
|
|
|
lipid_data_classmean <<- right_join(lipidclassproperties,lipidmeancalforgroupnode(data,metadata,input$w) ,by = c("LbmClass"="Ontology"))
|
|
|
}
|
|
|
|
|
|
if(input$filetype == "Sample in rows"){
|
|
|
colnames(data) <- data[1,]
|
|
|
data <- data[-1,]
|
|
|
data[, -c(1:2)] <- apply(data[, -c(1:2)], 2, as.numeric)
|
|
|
colnames(data)[1] <- "name"
|
|
|
colnames(metadata)[1] <- "name"
|
|
|
lipid <- data %>% pivot_longer(cols = -c(1:2),names_to = "Metabolite name") %>%
|
|
|
inner_join(metadata,by = c("name","Class")) %>%
|
|
|
select(c(paste(input$w,"",sep=""),`Metabolite name`,name,value)) %>%
|
|
|
group_by_at(c("Metabolite name",input$w)) %>%
|
|
|
mutate(mean = mean(value)) %>%
|
|
|
ungroup() %>%
|
|
|
distinct(`Metabolite name`,!!as.symbol(input$w),.keep_all = T) %>%
|
|
|
select(c(1,2,5)) %>%
|
|
|
pivot_wider(names_from = paste(input$w,"",sep=""),values_from = mean)
|
|
|
lipidont <- read.csv(input$ontfile$datapath,check.names = F)
|
|
|
lipid <- inner_join(lipidont,lipid,by =c("lipid" = "Metabolite name"))
|
|
|
lipid <- rename(lipid,`Metabolite name` = lipid)
|
|
|
lipid_data_classmean <- right_join(lipidclassproperties,lipid,by = c("LbmClass"="Ontology")) %>% filter(TotalChain != 0)
|
|
|
}
|
|
|
|
|
|
|
|
|
lipid_data_classmean <- filter(lipid_data_classmean,LbmClass == inputclass)
|
|
|
if(unique(lipid_data_classmean$TotalChain) == "1"){
|
|
|
targetmonoacylchain <- c("16:0","16:1","18:0","18:1","18:2","18:3","20:3","20:4","20:5","22:4","22:5","22:6")
|
|
|
monoacyl <- lipid_data_classmean %>% filter(TotalChain == "1") %>% filter(!LbmClass %in% c("AHexCS","AHexSTS"))
|
|
|
targetlipidclass <- monoacyl$LbmClass %>% unique()
|
|
|
monoacyl <- monoacyl[,-c(2:7)]
|
|
|
if(input$acylfilter == T){
|
|
|
|
|
|
acyllist <- list()
|
|
|
for (i in 1:nrow(monoacyl)) {
|
|
|
a <- unlist(str_split(monoacyl$`Metabolite name`[i],pattern = " "))[2]
|
|
|
|
|
|
if (str_detect(a,pattern = ";") == TRUE){
|
|
|
acyl <- a %>% str_split(pattern = ";") %>% unlist()
|
|
|
if(str_detect(acyl[1],pattern = "-")){
|
|
|
acyl <- acyl[1] %>% str_split(pattern = "-") %>% unlist()
|
|
|
acyllist[i] <- a[2]
|
|
|
}else{
|
|
|
acyllist[i] <- acyl[1]
|
|
|
}
|
|
|
|
|
|
}else if(str_detect(a,pattern = "/")==TRUE){
|
|
|
acyl <- a %>% str_split(pattern = "/") %>% unlist()
|
|
|
acyllist[i] <- acyl[2]
|
|
|
}else{
|
|
|
if(str_detect(a,pattern = "-")){
|
|
|
acyl <- a %>% str_split(pattern = "-") %>% unlist()
|
|
|
acyllist[i] <- acyl[2]
|
|
|
}else{
|
|
|
acyllist[i] <- a
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
monoacyl$acyl <- unlist(acyllist)
|
|
|
|
|
|
targetmonoacyllipid <- monoacyl %>% filter(acyl %in% targetmonoacylchain) %>% select(-c(acyl))
|
|
|
}
|
|
|
else{
|
|
|
targetmonoacyllipid <- monoacyl
|
|
|
}
|
|
|
targetlipidclass <- unique(targetmonoacyllipid$LbmClass)
|
|
|
monoacyl <- targetmonoacyllipid
|
|
|
|
|
|
Lipidclassdata<- filter(monoacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(LbmClass))
|
|
|
n <- nrow(d)
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
height <- n*0.9
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 0),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
}}
|
|
|
if(unique(lipid_data_classmean$TotalChain) == "2"&& unique(lipid_data_classmean$Categories) != "Sphingolipids" && unique(lipid_data_classmean$Categories) != "Sterol Lipids"){
|
|
|
targetdiacylchain <- c("16:0","16:1","18:0","18:1","18:2","18:3","20:3","20:4","20:5","22:4","22:5","22:6")
|
|
|
diacyl <- lipid_data_classmean %>% filter(TotalChain == "2", Categories != "Sphingolipids")
|
|
|
targetlipidclass <- diacyl$LbmClass %>% unique()
|
|
|
diacyl <- diacyl[,-c(3:7)]
|
|
|
if(input$acylfilter == T){
|
|
|
acyl1list <- list()
|
|
|
acyl2list <- list()
|
|
|
for (i in 1:nrow(diacyl) ) {
|
|
|
if(str_detect(diacyl$`Metabolite name`[i],pattern = "\\|") == TRUE){
|
|
|
a <- unlist(str_split(diacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ") %>% unlist()
|
|
|
if(str_detect(a[2],pattern = "_") == TRUE){
|
|
|
a <- a[2] %>% str_split(pattern = "_") %>% unlist()
|
|
|
if(str_detect(a[1],pattern = "-") == TRUE){
|
|
|
acyl1 <- a[1] %>% str_split(pattern = "-") %>% unlist()
|
|
|
acyl1list[i] <- acyl1[2]
|
|
|
}else{
|
|
|
acyl1list[i] <- a[1]
|
|
|
}
|
|
|
if(str_detect(a[2],pattern = ";") == TRUE){
|
|
|
acyl2 <- a[2] %>% str_split(pattern = ";") %>% unlist()
|
|
|
acyl2list[i] <- acyl2[1]
|
|
|
}else{
|
|
|
acyl2list[i] <- a[2]
|
|
|
}
|
|
|
}else{
|
|
|
a <- unlist(a)[2] %>% str_split(pattern = "\\)") %>% unlist()
|
|
|
acyl1 <- a[1] %>% str_split(pattern = " ") %>% unlist()
|
|
|
acyl1list[i] <- acyl1[2]
|
|
|
acyl2list[i] <- a[2]
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
acyl1list[i] <- NA
|
|
|
acyl2list[i] <- NA
|
|
|
}
|
|
|
}
|
|
|
|
|
|
diacyl$acyl1 <- unlist(acyl1list)
|
|
|
diacyl$acyl2 <- unlist(acyl2list)
|
|
|
|
|
|
targetdiacyllipid <- diacyl %>% filter(acyl1 %in% targetdiacylchain, acyl2 %in% targetdiacylchain)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diacyl <- targetdiacyllipid %>% select(-c(acyl1,acyl2))
|
|
|
|
|
|
}
|
|
|
else{}
|
|
|
Lipidclassdata<- filter(diacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
}}
|
|
|
|
|
|
if(unique(lipid_data_classmean$TotalChain) == "2"&& unique(lipid_data_classmean$Categories) == "Sterol Lipids" && unique(lipid_data_classmean$LbmClass) != "WE"){
|
|
|
targetdiacylchain <- c("16:0","16:1","18:0","18:1","18:2","18:3","20:3","20:4","20:5","22:4","22:5","22:6")
|
|
|
diacyl <- lipid_data_classmean %>% filter(TotalChain == "2", LbmClass != "WE")
|
|
|
targetlipidclass <- diacyl$LbmClass %>% unique()
|
|
|
diacyl <- diacyl[,-c(3:7)]
|
|
|
if(input$acylfilter == T){
|
|
|
acyl1list <- list()
|
|
|
acyl2list <- list()
|
|
|
for (i in 1:nrow(diacyl) ) {
|
|
|
|
|
|
if(str_detect(diacyl$`Metabolite name`[i],pattern = "\\|") == TRUE){
|
|
|
a <- unlist(str_split(diacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ") %>% unlist()
|
|
|
if(str_detect(a[2],pattern = "/") == TRUE){
|
|
|
a <- a[2] %>% str_split(pattern = "/") %>% unlist()
|
|
|
acyl1list[i] <- a[1]
|
|
|
acyl2list[i] <- a[2]
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
acyl1list[i] <- NA
|
|
|
acyl2list[i] <- NA
|
|
|
}
|
|
|
}
|
|
|
diacyl$acyl1 <- unlist(acyl1list)
|
|
|
diacyl$acyl2 <- unlist(acyl2list)
|
|
|
|
|
|
targetdiacyllipid <- diacyl %>% filter(acyl1 %in% targetdiacylchain, acyl2 %in% targetdiacylchain)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diacyl <- targetdiacyllipid %>% select(-c(acyl1,acyl2))
|
|
|
|
|
|
}
|
|
|
else{}
|
|
|
|
|
|
|
|
|
Lipidclassdata<- filter(diacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
}}
|
|
|
|
|
|
if(unique(lipid_data_classmean$TotalChain) == "2"&&unique(lipid_data_classmean$Categories) == "Sphingolipids"&&unique(lipid_data_classmean$LbmClass) != "ASM"){
|
|
|
targetSphingoidBase <- c("18:0;O2","18:1;O2","18:2;O2","18:0;O3","18:0;2O","18:1;2O","18:2;2O","18:0;3O")
|
|
|
targetnacylchain <- c("16:0","16:1","18:0", "20:0", "22:0", "24:0", "24:1", "26:0", "26:1")
|
|
|
epidermalacylceramide <- c("Cer_EODS","Cer_EOS","Cer_EBDS","HexCer_EOS")
|
|
|
epidermalacylceramidetargetacylchain <- c("18:2")
|
|
|
diacyl <- lipid_data_classmean %>% filter(TotalChain == "2",Categories == "Sphingolipids",LbmClass != "ASM")
|
|
|
targetlipidclass <- diacyl$LbmClass %>% unique()
|
|
|
diacyl <- diacyl[,-c(3:7)]
|
|
|
|
|
|
if(input$acylfilter == T){
|
|
|
acyl1list <- list()
|
|
|
acyl2list <- list()
|
|
|
for (i in 1:nrow(diacyl)) {
|
|
|
if(str_detect(diacyl$`Metabolite name`[i],pattern = "\\|") == TRUE){
|
|
|
a <- unlist(str_split(diacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ")
|
|
|
if(str_detect(unlist(a)[2],pattern = "/") == TRUE){
|
|
|
a <- unlist(a)[2] %>% str_split(pattern = "/") %>% unlist()
|
|
|
acyl1list[i] <- a[1]
|
|
|
if(str_detect(a[2],pattern = ";") == TRUE){
|
|
|
|
|
|
acyl2 <- a[2] %>% str_split(pattern = ";") %>% unlist()
|
|
|
acyl2list[i] <- acyl2[1]
|
|
|
}
|
|
|
else if(str_detect(a[2],pattern = "\\(") == TRUE){
|
|
|
acyl2 <- a[2] %>% str_split(pattern = "\\(") %>% unlist()
|
|
|
acyl2list[i] <- acyl2[1]
|
|
|
}
|
|
|
else{
|
|
|
acyl2list[i] <- a[2]
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
acyl1list[i] <- NA
|
|
|
acyl2list[i] <- NA
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
acyl1list[i] <- NA
|
|
|
acyl2list[i] <- NA
|
|
|
}
|
|
|
}
|
|
|
diacyl$acyl1 <- unlist(acyl1list)
|
|
|
diacyl$acyl2 <- unlist(acyl2list)
|
|
|
targetdiacyllipidnotEOS <- diacyl %>% filter(!Categories %in% epidermalacylceramide) %>% filter(acyl1 %in% targetSphingoidBase, acyl2 %in% targetnacylchain)
|
|
|
targetdiacyllipidEOS <- diacyl %>% filter(Categories %in% epidermalacylceramide) %>% filter(acyl1 %in% targetSphingoidBase, acyl2 %in% epidermalacylceramidetargetacylchain)
|
|
|
targetdiacyllipid <- rbind(targetdiacyllipidEOS,targetdiacyllipidnotEOS)
|
|
|
targetlipidclass <- unique(targetdiacyllipid$LbmClass)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diacyl <- targetdiacyllipid %>% select(-c(acyl1,acyl2))
|
|
|
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
}
|
|
|
|
|
|
|
|
|
Lipidclassdata<- filter(diacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
n <- nrow(d)
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
|
|
|
}}
|
|
|
|
|
|
if(unique(lipid_data_classmean$LbmClass) == "ASM"){
|
|
|
targetnacylchain <- c("16:0","16:1","18:0", "20:0", "22:0", "24:0", "24:1", "26:0", "26:1")
|
|
|
diacyl <- lipid_data_classmean %>% filter(LbmClass == "ASM")
|
|
|
targetlipidclass <- diacyl$LbmClass %>% unique()
|
|
|
diacyl <- diacyl[,-c(3:7)]
|
|
|
|
|
|
if(input$acylfilter == T){
|
|
|
|
|
|
acyl1list <- list()
|
|
|
for (i in 1:nrow(diacyl)) {
|
|
|
if(str_detect(diacyl$`Metabolite name`[i],pattern = "\\(") == TRUE){
|
|
|
a <- str_split(diacyl$`Metabolite name`[i],pattern = "\\(") %>% unlist()
|
|
|
a1 <- a[2] %>% str_split(pattern = "\\)") %>% unlist()
|
|
|
a2 <- a1[1] %>% str_split(pattern = " ") %>% unlist()
|
|
|
acyl1list[i] <- a2[2]
|
|
|
}
|
|
|
else{
|
|
|
acyl1list[i] <- NA
|
|
|
}
|
|
|
}
|
|
|
|
|
|
diacyl$acyl1 <- unlist(acyl1list)
|
|
|
targetdiacyllipid <- diacyl %>% filter(acyl1 %in% targetnacylchain) %>% select(-c(Categories))
|
|
|
|
|
|
targetlipidclass <- unique(targetdiacyllipid$LbmClass)
|
|
|
|
|
|
|
|
|
|
|
|
diacyl <- targetdiacyllipid %>% select(-c(acyl1))
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Lipidclassdata<- filter(diacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
n <- nrow(d)
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if(unique(lipid_data_classmean$TotalChain) == "0"){
|
|
|
targetnacylchain <- c("16:0","16:1","18:0", "20:0", "22:0", "24:0", "24:1", "26:0", "26:1")
|
|
|
diacyl <- lipid_data_classmean %>% filter(TotalChain == "0")
|
|
|
targetlipidclass <- diacyl$LbmClass %>% unique()
|
|
|
diacyl <- diacyl[,-c(3:7)]
|
|
|
if(input$acylfilter == T){
|
|
|
|
|
|
acyl1list <- list()
|
|
|
acyl2list <- list()
|
|
|
|
|
|
for (i in 1:nrow(diacyl)) {
|
|
|
acyl1list[i] <- NA
|
|
|
}
|
|
|
|
|
|
diacyl$acyl1 <- unlist(acyl1list)
|
|
|
targetdiacyllipid <- diacyl %>% filter(acyl1 %in% targetnacylchain) %>% select(-c(Categories))
|
|
|
targetlipidclass <- unique(targetdiacyllipid$LbmClass)
|
|
|
|
|
|
namelist <- list()
|
|
|
pathlist <- list()
|
|
|
|
|
|
diacyl <- targetdiacyllipid %>% select(-c(acyl1))
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
|
|
|
}
|
|
|
|
|
|
Lipidclassdata<- filter(diacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
n <- nrow(d)
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
|
|
|
}}
|
|
|
if(unique(lipid_data_classmean$TotalChain) > 2 && unique(lipid_data_classmean$LbmClass) %in% c("TG","OxTG","HBMP","EtherTG")){
|
|
|
targettriacylchain <- c("16:0","16:1","18:0","18:1","18:2","18:3","20:3","20:4","20:5","22:4","22:5","22:6")
|
|
|
Triacyl <- lipid_data_classmean %>% filter(TotalChain > 2, LbmClass %in% c("TG","OxTG","HBMP","EtherTG"))
|
|
|
targetlipidclass <- Triacyl$LbmClass %>% unique()
|
|
|
Triacyl <- Triacyl[,-c(3:7)]
|
|
|
if(input$acylfilter == T){
|
|
|
acyllist1 <- list()
|
|
|
acyllist2 <- list()
|
|
|
acyllist3 <- list()
|
|
|
for (i in 1:nrow(Triacyl)) {
|
|
|
if(Triacyl$LbmClass[i] == "TG"){
|
|
|
|
|
|
a <- unlist(str_split(Triacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ")
|
|
|
a <- unlist(a)[2] %>% str_split(pattern = "_") %>% unlist()
|
|
|
acyllist1[i] <- a[1]
|
|
|
acyllist2[i] <- a[2]
|
|
|
acyllist3[i] <- a[3]
|
|
|
}else if(Triacyl$LbmClass[i] =="OxTG"){
|
|
|
|
|
|
a <- unlist(str_split(Triacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ")
|
|
|
a <- unlist(a)[2] %>% str_split(pattern = "_") %>% unlist()
|
|
|
acyllist1[i] <- a[1]
|
|
|
acyllist2[i] <- a[2]
|
|
|
b <- a[3] %>% str_split(pattern = ";") %>% unlist()
|
|
|
acyllist3[i] <- b[1]
|
|
|
}else if(Triacyl$LbmClass[i] =="HBMP"){
|
|
|
a <- unlist(str_split(Triacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ")
|
|
|
a <- unlist(a)[2] %>% str_split(pattern = "_") %>% unlist()
|
|
|
b <- a[1] %>% str_split(pattern = "/") %>% unlist()
|
|
|
acyllist1[i] <- b[1]
|
|
|
acyllist2[i] <- b[2]
|
|
|
acyllist3[i] <- a[2]
|
|
|
}else if(Triacyl$LbmClass[i] =="EtherTG"){
|
|
|
a <- unlist(str_split(Triacyl$`Metabolite name`[i],pattern = "\\|"))[2] %>% str_split(pattern = " ")
|
|
|
a <- unlist(a)[2] %>% str_split(pattern = "_") %>% unlist()
|
|
|
acyl <- a[1] %>% str_split(pattern = "-") %>% unlist()
|
|
|
acyllist1[i] <- acyl[2]
|
|
|
acyllist2[i] <- a[2]
|
|
|
acyllist3[i]<- a[3]
|
|
|
}
|
|
|
}
|
|
|
|
|
|
Triacyl$acyl1 <- unlist(acyllist1)
|
|
|
Triacyl$acyl2 <- unlist(acyllist2)
|
|
|
Triacyl$acyl3 <- unlist(acyllist3)
|
|
|
|
|
|
targettriacyllipid <- Triacyl %>% filter(acyl1 %in% targettriacylchain, acyl2 %in% targettriacylchain,acyl3 %in% targettriacylchain) %>% select(-c(acyl1,acyl2,acyl3,Categories))
|
|
|
}
|
|
|
else{
|
|
|
targettriacyllipid <- Triacyl
|
|
|
}
|
|
|
Triacyl <- targettriacyllipid
|
|
|
|
|
|
Lipidclassdata<- filter(Triacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
|
|
|
}}
|
|
|
if(unique(lipid_data_classmean$TotalChain) > 2 && ! unique(lipid_data_classmean$LbmClass) %in% c("TG","OxTG","HBMP","EtherTG")){
|
|
|
Triacyl <- lipid_data_classmean %>% filter(TotalChain > 2, ! LbmClass %in% c("TG","OxTG","HBMP","EtherTG"))
|
|
|
targetlipidclass <- Triacyl$LbmClass %>% unique()
|
|
|
Triacyl <- Triacyl[,-c(3:7)]
|
|
|
diacyl <- Triacyl
|
|
|
Lipidclassdata<- filter(diacyl , LbmClass == inputclass) %>% distinct(`Metabolite name`,.keep_all = TRUE)
|
|
|
if(length(Lipidclassdata$LbmClass) != 0){
|
|
|
d <- Lipidclassdata
|
|
|
rowname <- as.matrix((d$`Metabolite name`))
|
|
|
d <- d <- select(d,-c(`Metabolite name`,LbmClass))
|
|
|
n <- nrow(d)
|
|
|
BreaksList <- seq(-2,2, by = 0.5)
|
|
|
n <- nrow(d)
|
|
|
height <- n/10*3
|
|
|
list <- c(-2,0,2)
|
|
|
lipid <- d
|
|
|
lipid <- lipid[,-1]
|
|
|
rownames(lipid) <- rowname
|
|
|
lipid <- scale_rows(lipid) %>% as.data.frame()
|
|
|
lipid <- tibble::rownames_to_column(lipid, "Metabolite name")
|
|
|
lipid <- pivot_longer(lipid,cols = -c(`Metabolite name`))
|
|
|
lipid <- mutate(lipid, name = name %>% factor(levels = input$levels))
|
|
|
ghm <- ggplot(lipid, aes(x = name, y =`Metabolite name` , fill = value))
|
|
|
ghm <- ghm + geom_tile(color = "black") + scale_fill_gradientn(
|
|
|
colors=c("navy","white","red"),limits=c(min(lipid$value), max(lipid$value))
|
|
|
) + theme(axis.text.x = element_text(angle = 90, hjust = 1),axis.text = element_text(size = input$Fontsize))
|
|
|
print(ghm)
|
|
|
|
|
|
}}
|
|
|
|
|
|
} |