segrelab / cometspy

Python interface for running COMETS simulations and analyzing the results
GNU General Public License v3.0
11 stars 9 forks source link

The function or variable 'getSecAbsExcMets' is not recognized #42

Open yqq-79 opened 1 year ago

yqq-79 commented 1 year ago

Hello! I am following COMETS Documentation to learn the Multispecies Example under the COMETS MATLAB TOOLBOX section. When I use the getSecAbsExcMets function to obtain metabolites secreted, absorbed and exchanged by each organism, I encounter this problem: "The function or variable 'getSecAbsExcMets' is not recognized". The previous commands in the example all work smoothly.

dukovski commented 1 year ago

Hi,

I'll have to take a look at this, not sure what is going on. The MATLAB toolbox is rarely used so we focus our efforts on the cometspy python toolbox. Would you want to try this with cometspy instead?

yqq-79 commented 1 year ago

Hello! I try to obtain metabolites secreted, absorbed and exchanged by each organism with cometspy. Which function do I use to achieve this to relapace the getSecAbsExcMets function?

dukovski commented 1 year ago

Look at the basic run in this protocol: https://github.com/segrelab/COMETS_Protocols/blob/master/COMETS_protocols/COMETS_example_Ecoli_CoreModel_WellMixed/Python/P1_test_tube.ipynb Here first you need to make sure that you are saving the extracellular metabolites with this line: sim_params.set_param('writeMediaLog', True) in cell 6. Then you can get them with a code like this: media = experiment.media.copy() media = media[media.conc_mmol<900]

fig, ax = plt.subplots() media.groupby('metabolite').plot(x='cycle', ax =ax, y='conc_mmol')

I hope this helps.