I was trying to run pathway enrichment analysis of lipids. I think I run into issues with lipid names.
The input I used has lipid abbreviations name.vec= c(“TAG 54:2/18:0”, “PC 18:0/18:3”, “PE 18:0/18:3”, “CE 20:0”, “CE 18:3”, “CE 18:2”, “CE 20:3”)
I have tried
(1) check lipid=T in CrossReferencing
mSet<-InitDataObjects(“conc”, “msetora”, FALSE)
mSet<-Setup.MapData(mSet, name.vec);
mSet<-CrossReferencing(mSet, “name”, lipid = T);
mSet<-CreateMappingResultTable(mSet);
mSet<-SetMetabolomeFilter(mSet, F);
mSet<-SetCurrentMsetLib(mSet, “kegg_pathway”, 2);
mSet ← CalculateHyperScore(mSet)
The error message occurs at CalculateHyperScore:
[1] “Loaded files from MetaboAnalyst web-server.”
[1] “Failed to connect to the API Server!”
[1] “Error! Mset ORA via api.xialab.ca unsuccessful!”
(2) convert the lipid name to HMDB format using MetaboAnalystR
name.input = paste(name.vec, collapse = “;”)
toSend = list(queryList=name.vec, inputType=“name”)
library(httr)
call = “http://api.xialab.ca/mapcompounds”
query_results = httr::POST(call, body = toSend, encode =“json”)
query_results$status_code==200
query_results_text = content(query_results, “text”, encoding = “UTF-8”)
query_results_json = rjson::fromJSON(query_results_text)
hmdb_input = query_results_json$HMDB
mSet<-InitDataObjects(“conc”, “msetora”, FALSE)
mSet<-Setup.MapData(mSet, hmdb_input);
mSet<-CrossReferencing(mSet, “hmdb”);
mSet<-CreateMappingResultTable(mSet);
mSet<-SetMetabolomeFilter(mSet, F);
mSet<-SetCurrentMsetLib(mSet, “kegg_pathway”, 2);
mSet ← CalculateHyperScore(mSet)
The same error occurs at CalculateHyperScore.
I am connected to the Internet, and would not have this issue if I use common molecule names as input. However, the common names are not available for this dataset. The (2) is particularly strange because it looks like the source code use HMDB IDs to run test.
I really love the tool as it is unique in the metabolic analysis space, and would appreciate any insight.
Thank you!