cobratoolbox icon indicating copy to clipboard operation
cobratoolbox copied to clipboard

FastGapFill not working- file missing

Open kristycyw opened this issue 1 year ago • 2 comments

Error in the function 'prepareFastGapFill', it throws out the following error: Error using load Unable to read file 'KEGGMatrix'. No such file or directory.

Error in generateSUXComp (line 49) load KEGGMatrix

Error in prepareFastGapFill (line 86) MatricesSUX = generateSUXComp(consistModel,dictionary, filename,blackList,listCompartments);

This error is replicable in 'testFastGapFill'

Tested the following to no avail: Load in KEGG_dictionary.xls file from https://github.com/opencobra/COBRA.tutorials/tree/master/reconstruction/fastGapFill/example

dictionary_file= readtable('KEGG_dictionary.xls'); KEGGMatrix=table2array(dictionary_file) [consistModel,consistMatricesSUX,BlockedRxns] = prepareFastGapFill(model)

I also tried manually substituting the dictionary as in: [consistModel,consistMatricesSUX,BlockedRxns] = prepareFastGapFill(model,KEGGMatrix)

I believe the function is missing a file?

I hereby confirm that I have:

  • [X] Tried to solve the issue on my own
  • [X] Retried to run my code with the latest version of The COBRA Toolbox
  • [X] Checked that a similar issue has not already been opened

(Note: You may replace [ ] with [X] to check the box)

kristycyw avatar Aug 05 '22 01:08 kristycyw

If this cannot be fixed, can I run this in an older version of COBRA? How do I download such a version?

kristycyw avatar Aug 05 '22 03:08 kristycyw

Seems as if for some reason, the file is no longer automatically generated when generateSUXComp is called. @ithiele: Is there a reason why the default behaviour of generateSUXComp was changed to not generate the KEGGMatrix file? At least according to the documentation, this should still be the default, but the code has not creating it as default value, and multiple functions call it without the KEGGMatrixLoad variable, so default to not loading it.

In the meantime, you should be able to create those files by calling generateSUXComp(model, dictionary, KEGGFilename, {},getDefaultCompartments()', 0), where dictionary is created by [~,dictionary,~] = xlsread(dictionary_file) KEGGFilename is 'reaction.lst' (or whatever file your reaction database is in) Alternatively you should be able to run it by changing line 46 of generateSUXComp to KEGGMatrixLoad = 0;

tpfau avatar Aug 05 '22 03:08 tpfau