Closed HossFir closed 1 year ago
Version 3.1.0 has not seen any change in parsing metabolite names, and if anything should result in less metabolites by more thorough filtering of currency metabolites. Are you sure you have the right model file loaded, and direct to the right DLKcat.tsv file? I'll work on readDLKcatOutput
giving a more complete error message, reporting the non-matching substrates,
For the moment you can get more information by running:
dbstop if error
kcatList_DLKcat = readDLKcatOutput(ecModel);
and when the error is reported, run the following lines:
tmp = ismember(subs,model.metNames));
nonMatchingMets = subs(tmp);
Then, nonMatchingMets has the names of metabolites from DLKcat.tsv that cannot be found in model.metNames
.
I generated the new DLKcat.tsv using
writeDLKcatInput(ecModel,[],[],[],[],true);
and subsequently,runDLKcat();
It generated the new DLKcat.tsv with my organism information. However, I saw an error on the following line:
https://github.com/SysBioChalmers/GECKO/blob/63785559f6c7ebdb908386da92d56a034571c449/tutorials/full_ecModel/protocol.m#L145
It stated that Not all substrates from DLKcat output can be found in model.metNames. DLKcat was likely run with an input file that was generated from another ecModel.
I had no such error on the previous version 3.0.2.