opencobra / cobratoolbox

The COnstraint-Based Reconstruction and Analysis Toolbox. Documentation:
https://opencobra.github.io/cobratoolbox
Other
252 stars 317 forks source link

No subSystem added #590

Closed Gpreciat closed 7 years ago

Gpreciat commented 7 years ago

When the exchange reactions are added the corresponding subsystems are not added

load('ecoli_core_model.mat', 'model')
[model,~] = addExchangeRxn(model,{'13dpg[c]'})

model.subSystem{96} is not set and it should be model.subSystem{96} = 'Exchange';

I hereby confirm that I have:

tpfau commented 7 years ago

hmm.... The problem is, that individual models have different names for Exchange Subsystems. EColi Core uses "Exchange" Recon1 uses "Extracellular Exchange" or similar names Recon2 uses "Exchange/demand reaction".. So there is no clear Name that would be correct. It would depend a lot on the model, and even within a model there could be different names. Solving this will either make this function take quite some time (it will have to check which exchange reactions are there, and what those exchange reactions are named. looking at recon1, we would also have to check, which compartment the exchange comes from, as those might have different names, etc, which I think would be an overkill.

@rmtfleming whats your take here?

rmtfleming commented 7 years ago

There is no 100% reliable way to identify all exchanges, but 'Exchange' is better than nothing.

tpfau commented 7 years ago

fixed in #595