SysBioChalmers/GECKO

readDLKcatOutput reports non-matching metabolites

HossFir opened this issue · 1 comments

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:

kcatList_DLKcat = readDLKcatOutput(ecModel);

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.

edkerk commented

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.