opencobra / cobratoolbox

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

Incorrect initialization + slow fastFVA #1861

Open ga01 opened 2 years ago

ga01 commented 2 years ago

Hi, I am trying to (correctly) install cobra, so far unsuccessfully, and I would like to ask for some advice. When running InitCobraToolbox the initialization does not result in any error messages, although I get a few warnings:

Checking if git is installed ... Done (version: 2.26.0). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)... Done. Adding all the files of The COBRA Toolbox ... Done. Define CB map output... set to svg. Warning: Requested Model not present in the model directory.\n This is either due to the model not being downloaded, or not being part of the distributed models. In getDistributedModelFolder (line 37) In initCobraToolbox (line 324) Warning: libsbml binaries not on Matlab path: COBRA Toolbox will be unable to read/write SBML files ...

However, the binaries, test/models, papers and tutorials folders are empty after initialization, irrespectively of my efforts. The only solution that worked was to clone these directories separately e.g. git clone https://github.com/opencobra/COBRA.binary, etc. This worked, and I got the binaries/models. Running testFastFVA seems to produce the correct result, and running fastFVA on files of moderate size (Recon3D) also seems to produce the correct result.

However the binaries are extremely slow: fastFVA is orders of magnitude slower than it should be based on the literature (on Recon1.mat 2 minutes vs 5 seconds), much slower than cobrapy, and converting a .mat file to sbml is also remarkably slow and memory intensive, to the degree that I am effectively unable to convert my files (running times > 48 hours, out of memory errors). I am trying to use cobra for the whole-body human metabolic network (Thiele et al. 2020 MSB) and so far I effectively wasn't able to convert the network to sbml, or to perform a successful FVA on it.

I would be grateful for any suggestion in fixing this issue, if it is possible to fix. I am using a large cluster with Scientific Linux, state-of-art (Icelake/Skylake) processors, Matlab r2020b, IBM Cplex 12.10.

Kind regards, George

rmtfleming commented 2 years ago

https://groups.google.com/g/cobra-toolbox/c/oFzL2Lkbz58/m/oayT80zdBAAJ?pli=1 The issue is with the cplexFVA.c code that is calling cplex. It seems that it makes reference to a pointer that cplex no longer use. The cplexFVA.c code needs to be updated to use cplex 12.9+ or use an older version of cplex. Regards, Ronan

The following type definition, deprecated in CPLEX V12.8.0, has been removed: CPXFILEptr.

On Tue, 2 Nov 2021 at 21:21, ga01 @.***> wrote:

Hi, I am trying to (correctly) install cobra, so far unsuccessfully, and I would like to ask for some advice. When running InitCobraToolbox the initialization does not result in any error messages, although I get a few warnings:

Checking if git is installed ... Done (version: 2.26.0). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)... Done. Adding all the files of The COBRA Toolbox ... Done. Define CB map output... set to svg. Warning: Requested Model not present in the model directory.\n This is either due to the model not being downloaded, or not being part of the distributed models. In getDistributedModelFolder (line 37) In initCobraToolbox (line 324) Warning: libsbml binaries not on Matlab path: COBRA Toolbox will be unable to read/write SBML files ...

However, the binaries, test/models, papers and tutorials folders are empty after initialization, irrespectively of my efforts. The only solution that worked was to clone these directories separately e.g. git clone https://github.com/opencobra/COBRA.binary, etc. This worked, and I got the binaries/models. Running testFastFVA seems to produce the correct result, and running fastFVA on files of moderate size (Recon3D) also seems to produce the correct result.

However the binaries are extremely slow: fastFVA is orders of magnitude slower than it should be based on the literature (on Recon1.mat 2 minutes vs 5 seconds), much slower than cobrapy, and converting a .mat file to sbml is also remarkably slow and memory intensive, to the degree that I am effectively unable to convert my files (running times > 48 hours, out of memory errors). I am trying to use cobra for the whole-body human metabolic network (Thiele et al. 2020 MSB) and so far I effectively wasn't able to convert the network to sbml, or to perform a successful FVA on it.

I would be grateful for any suggestion in fixing this issue, if it is possible to fix. I am using a large cluster with Scientific Linux, state-of-art (Icelake/Skylake) processors, Matlab r2020b, IBM Cplex 12.10.

Kind regards, George

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOWL3B636UD4AHDK3O3UKBI5JANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

rmtfleming commented 2 years ago

"However, the binaries, test/models, papers and tutorials folders are empty after initialization, irrespectively of my efforts. The only solution that worked was to clone these directories separately e.g. git clone https://github.com/opencobra/COBRA.binary, etc." Please debug this and propose a solution rather than a workaround. It is something to do with your system and very hard on my side to debug without more info.

On Tue, 2 Nov 2021 at 22:24, Ronan M.T. Fleming @.***> wrote:

https://groups.google.com/g/cobra-toolbox/c/oFzL2Lkbz58/m/oayT80zdBAAJ?pli=1 The issue is with the cplexFVA.c code that is calling cplex. It seems that it makes reference to a pointer that cplex no longer use. The cplexFVA.c code needs to be updated to use cplex 12.9+ or use an older version of cplex. Regards, Ronan

The following type definition, deprecated in CPLEX V12.8.0, has been removed: CPXFILEptr.

On Tue, 2 Nov 2021 at 21:21, ga01 @.***> wrote:

Hi, I am trying to (correctly) install cobra, so far unsuccessfully, and I would like to ask for some advice. When running InitCobraToolbox the initialization does not result in any error messages, although I get a few warnings:

Checking if git is installed ... Done (version: 2.26.0). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)... Done. Adding all the files of The COBRA Toolbox ... Done. Define CB map output... set to svg. Warning: Requested Model not present in the model directory.\n This is either due to the model not being downloaded, or not being part of the distributed models. In getDistributedModelFolder (line 37) In initCobraToolbox (line 324) Warning: libsbml binaries not on Matlab path: COBRA Toolbox will be unable to read/write SBML files ...

However, the binaries, test/models, papers and tutorials folders are empty after initialization, irrespectively of my efforts. The only solution that worked was to clone these directories separately e.g. git clone https://github.com/opencobra/COBRA.binary, etc. This worked, and I got the binaries/models. Running testFastFVA seems to produce the correct result, and running fastFVA on files of moderate size (Recon3D) also seems to produce the correct result.

However the binaries are extremely slow: fastFVA is orders of magnitude slower than it should be based on the literature (on Recon1.mat 2 minutes vs 5 seconds), much slower than cobrapy, and converting a .mat file to sbml is also remarkably slow and memory intensive, to the degree that I am effectively unable to convert my files (running times > 48 hours, out of memory errors). I am trying to use cobra for the whole-body human metabolic network (Thiele et al. 2020 MSB) and so far I effectively wasn't able to convert the network to sbml, or to perform a successful FVA on it.

I would be grateful for any suggestion in fixing this issue, if it is possible to fix. I am using a large cluster with Scientific Linux, state-of-art (Icelake/Skylake) processors, Matlab r2020b, IBM Cplex 12.10.

Kind regards, George

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOWL3B636UD4AHDK3O3UKBI5JANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.


Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu


Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming


(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, Thanks for your rapid response. Today I tried to get the solvers/initialization right, with limited success, unfortunately; it seems that cplex 12.8 is not recognized by the present cobra. I tested five Cplex solvers: 12.6.3, 12.7.1, 12.8, 12.9, 12.10.

First I initialized cobra with initCobraToolbox as it is described in the manual (this leaves the binary, papers, etc. folders empty). The first three solvers (12.6.3, 12.7.1, 12.8) are not recognized by cobra, and it produces the following error messages:

[--*-] ILOG_CPLEX_PATH: /home/gaa27/rds/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux changeCobraSolver: problem initialising CPLEX object: Error:File: /rds/user/gaa27/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux/@Cplex/Cplex.p Line: 942 Column: 0 Identifier 'changedParam' is not a function or a shared variable. To share 'changedParam' with nested function, initialize it in the current scope. For more information, see Sharing Variables Between Parent and Nested Functions. Could not find installation of ibm_cplex, so it cannot be tested

However cplex 12.9 and 12.10 are recognized during (the incomplete) initialization, and are apparently processed correctly:

You can solve LP problems using: 'ibm_cplex' - 'cplexlp' You can solve MILP problems using: 'ibm_cplex' You can solve QP problems using: 'ibm_cplex' You can solve MIQP problems using: 'ibm_cplex' You can solve NLP problems using: You can solve EP problems using:

(Note that other solvers are unavailable due to the incomplete initialization)

Next I ran "git submodule init" and "git submodule update" in the cobratoolbox directory. This results in the download of all missing files, and it goes without any error messages, so the internet connection works fine. However, if I run initCobraToolbox again, then it will not be able to recognize the previously recognized Cplex solvers anymore, and I get the following error messages (plus the standard solvers):

changeCobraSolver: problem initialising CPLEX object: Too many input arguments. Could not find installation of ibm_cplex, so it cannot be tested

You can solve LP problems using: 'glpk' - 'pdco' - 'quadMinos' You can solve MILP problems using: 'glpk' You can solve QP problems using: 'pdco' You can solve MIQP problems using: You can solve NLP problems using: You can solve EP problems using: 'pdco'

So, it is difficult to say for me what's going on, but it seems that Cplex 12.8 is not recognized by the current cobratoolbox release anymore, and simple fixes to the missing file problem result in unexpected behavior. (I also tried an older version (3.0.0), but it crashes during initialisation.)

Kind regards, George

rmtfleming commented 2 years ago

Hi George,

there are two issues: 1) not finding cplex 12.8 by the call to compatibleStatus = isCompatible(solverName, printLevel, specificSolverVersion) reads fork-cobratoolbox/docs/source/installation/compatMatrix.rst which contains 12.8 for "Linux Ubuntu". Maybe that OS is too specific?

2) updating fastFVA to support cplex 12.10

Solving 2 would be more forward compatible and less platform specific.

Regards,

Ronan

On Wed, 3 Nov 2021 at 13:56, ga01 @.***> wrote:

Hi Ronan, Thanks for your rapid response. Today I tried to get the solvers/initialization right, with limited success, unfortunately; it seems that cplex 12.8 is not recognized by the present cobra. I tested five Cplex solvers: 12.6.3, 12.7.1, 12.8, 12.9, 12.10.

First I initialized cobra with initCobraToolbox as it is described in the manual (this leaves the binary, papers, etc. folders empty). The first three solvers (12.6.3, 12.7.1, 12.8) are not recognized by cobra, and it produces the following error messages:

[--*-] ILOG_CPLEX_PATH: /home/gaa27/rds/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux changeCobraSolver: problem initialising CPLEX object: Error:File: @.***/Cplex.p Line: 942 Column: 0 Identifier 'changedParam' is not a function or a shared variable. To share 'changedParam' with nested function, initialize it in the current scope. For more information, see Sharing Variables Between Parent and Nested Functions. Could not find installation of ibm_cplex, so it cannot be tested

However cplex 12.9 and 12.10 are recognized during (the incomplete) initialization, and are apparently processed correctly:

You can solve LP problems using: 'ibm_cplex' - 'cplexlp' You can solve MILP problems using: 'ibm_cplex' You can solve QP problems using: 'ibm_cplex' You can solve MIQP problems using: 'ibm_cplex' You can solve NLP problems using: You can solve EP problems using:

(Note that other solvers are unavailable due to the incomplete initialization)

Next I ran "git submodule init" and "git submodule update" in the cobratoolbox directory. This results in the download of all missing files, and it goes without any error messages, so the internet connection works fine. However, if I run initCobraToolbox again, then it will not be able to recognize the previously recognized Cplex solvers anymore, and I get the following error messages (plus the standard solvers):

changeCobraSolver: problem initialising CPLEX object: Too many input arguments. Could not find installation of ibm_cplex, so it cannot be tested

You can solve LP problems using: 'glpk' - 'pdco' - 'quadMinos' You can solve MILP problems using: 'glpk' You can solve QP problems using: 'pdco' You can solve MIQP problems using: You can solve NLP problems using: You can solve EP problems using: 'pdco'

So, it is difficult to say for me what's going on, but it seems that Cplex 12.8 is not recognized by the current cobratoolbox release anymore, and simple fixes to the missing file problem result in unexpected behavior. (I also tried an older version (3.0.0), but it crashes during initialisation.)

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-959141689, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOVIFAKGUP2RA74CHFDUKE5R5ANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, Well, I don't know, one can never exclude some distribution-specific idiosyncrasies, but I guess the same would hold for 12.10.

Kind regards, George

rmtfleming commented 2 years ago

Hi George, check what the output of compatibleStatus = isCompatible(solverName, printLevel); is. Regards, Ronan

On Wed, 3 Nov 2021 at 14:46, ga01 @.***> wrote:

Hi Ronan, Well, I don't know, one can never exclude some distribution-specific idiosyncrasies, but I guess the same would hold for 12.10.

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-959304124, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOUHBBPI3PYNKVGV7SLUKFDNLANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

rmtfleming commented 2 years ago

Also, these lines of changeCobraSolver

    case {'ibm_cplex','cplexlp'}
        try
           prob.f = 1;
           prob.Aineq = 1;
           prob.bineq = 10;
           prob.ub    = 5;
           cplex = Cplex(prob);
            ILOGcplex = Cplex('fba');  % Initialize the CPLEX object
            solverOK = true;
        catch ME
            fprintf('%s\n',['changeCobraSolver: problem initialising

CPLEX object: ' ME.message ]) solverOK = false; end matver=split(version,'.'); matver=str2double(strcat(char(matver(1)),'.',char(matver(2)))); if matver < 8.6 warning('off', 'MATLAB:lang:badlyScopedReturnValue'); % take out warning message end

On Wed, 3 Nov 2021 at 15:00, Ronan M.T. Fleming @.***> wrote:

Hi George, check what the output of compatibleStatus = isCompatible(solverName, printLevel); is. Regards, Ronan

On Wed, 3 Nov 2021 at 14:46, ga01 @.***> wrote:

Hi Ronan, Well, I don't know, one can never exclude some distribution-specific idiosyncrasies, but I guess the same would hold for 12.10.

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-959304124, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOUHBBPI3PYNKVGV7SLUKFDNLANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.


Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu


Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming


(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan,

compatibleStatus = isCompatible('ibm_cplex', 1, 12.8); The compatibility can only be evaluated on Linux Ubuntu. The solver compatibility is not tested with MATLAB R2020b. compatibleStatus

compatibleStatus =

 2

So basically nothing unexpected. In the changeCobraSolver.m I have exactly the same code as above.

Kind regards, George

rmtfleming commented 2 years ago

Hi George, what is the result of

system_dependent('getos')

in matlab on your system?

Regards, Ronan

On Wed, 3 Nov 2021 at 16:31, ga01 @.***> wrote:

Hi Ronan,

compatibleStatus = isCompatible('ibm_cplex', 1, 12.8); The compatibility can only be evaluated on Linux Ubuntu. The solver compatibility is not tested with MATLAB R2020b. compatibleStatus

compatibleStatus =

2

So basically nothing unexpected. In the changeCobraSolver.m I have exactly the same code as above.

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan,

system_dependent('getos') ans = 'Linux 3.10.0-1160.36.2.el7.x86_64 #1 SMP Mon Jul 26 08:21:44 CDT 2021 x86_64'

George

rmtfleming commented 2 years ago

what is the result of ILOGcplex = Cplex('fba')

On Wed, 3 Nov 2021 at 19:28, ga01 @.***> wrote:

Hi Ronan,

system_dependent('getos') ans = 'Linux 3.10.0-1160.36.2.el7.x86_64 #1 https://github.com/opencobra/cobratoolbox/pull/1 SMP Mon Jul 26 08:21:44 CDT 2021 x86_64'

George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-959853821, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOWO2G3JNVOJY5LJ4RLUKGEM7ANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan,

Cplex 12.9 (recognized by cobra): "Unrecognized function or variable 'Cplex'."

Cplex 12.8 (not recognized by cobra): "Undefined function 'Cplex' for input arguments of type 'char'."

I get the same ("Undefined ...) with 12.9 after running "git submodule init" and "git submodule update" when cplex 12.9 is not recognized anymore.

George

rmtfleming commented 2 years ago

Hi George,

you should get something like this

which Cplex @.***/Cplex.p % Cplex constructor

Are your env variables set correctly? https://opencobra.github.io/cobratoolbox/stable/installation.html#ibm-ilog-cplex

It could also be that initCobraToolbox does not add the Cplex to the path for some reason.

After a fresh clone, if you run these commands from the cobratoolbox top level folder, does it populate each submodule? git submodule update --init --recursive git submodule foreach git checkout master

Regards,

Ronan

On Wed, 3 Nov 2021 at 21:25, ga01 @.***> wrote:

Hi Ronan,

Cplex 12.9 (recognized by cobra): "Unrecognized function or variable 'Cplex'."

Cplex 12.8 (not recognized by cobra): "Undefined function 'Cplex' for input arguments of type 'char'."

I get the same ("Undefined ...) with 12.9 after running "git submodule init" and "git submodule update" when cplex 12.9 is not recognized anymore.

George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-960104235, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOSNIGSXUFUHMBPWXW3UKGSCXANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, Yes, the $ILOG_CPLEX_PATH is set correctly and the submodules are populated. However, when running initCobraToolbox after populating the submodules cplex is still not recognized, even if I set its path manually with addpath. I thought that aliases may cause the trouble (/rds/user/gaa27/ = /home/gaa27/rds/) but adding them manually with addpath doesn't help with initialization, so I doubt it. However, addpath does help directly before using cplex:

CPLEX 12.9: $ echo $ILOG_CPLEX_PATH /rds/user/gaa27/hpc-work/local/CPLEX_Studio129 ...

addpath('/home/gaa27/rds/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux') which cplex /rds/user/gaa27/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux/@Cplex/Cplex.p % Cplex constructor ILOGcplex = Cplex('fba')

ans=

Cplex handle

Properties: Model: [1x1 struct] Param: [1x1 struct] DisplayFunc: @disp

Methods, Events, Superclasses

CPLEX 12.8: $ echo $ILOG_CPLEX_PATH /rds/user/gaa27/hpc-work/local/CPLEX_Studio128 ...

addpath('/home/gaa27/rds/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux') which cplex /rds/user/gaa27/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux/@Cplex/Cplex.p % Cplex constructor ILOGcplex = Cplex('fba') Error using Cplex Error:File: /rds/user/gaa27/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux/@Cplex/Cplex.p Line: 942 Column: 0 Identifier 'changedParam' is not a function or a shared variable. To share 'changedParam' with nested function, initialize it in the current scope. For more information, see Sharing Variables Between Parent and Nested Functions.

The key thing however is that cplex 12.8 (and fastFVA) does not seem to work, and I find it unlikely that it is an installation issue.

George

rmtfleming commented 2 years ago

Hi George,

on your system, should it be:

ILOG_CPLEX_PATH = '/rds/user/gaa27/hpc-work/local/CPLEX_Studio128/' In initCobraToolbox, this line configEnvVars(1); updates ILOG_CPLEX_PATH to /rds/user/gaa27/hpc-work/local/CPLEX_Studio128/ cplex/matlab/x86-64_linux/ Here is what it looks like on mine: @.***:~/work/sbgCloud/code/fork-cobratoolbox$ echo $ILOG_CPLEX_PATH /usr/local/bin/cplex/ibm/ILOG/CPLEX_Studio1210

getenv('ILOG_CPLEX_PATH')

ans =

'/usr/local/bin/cplex/ibm/ILOG/CPLEX_Studio1210'

which Cplex @.***/Cplex.p % Cplex constructor

I don't understand how any system could recover from using an alias. The initial setting for ILOG_CPLEX_PATH and subsequent changes do not, to my knowledge, take into account alises. Maybe you could edit configEnvVars to take that into account?

In any case, I agree that the error with cplex 12.8 is not connected with the path. It has been reported before, but I don't know the solution for it. https://groups.google.com/g/cobra-toolbox/c/3uNJxvMwzbI

If you cannot find the solution to the latter, I suggest to dig into the cplexFVA.c code that is calling cplex and update it. It seems that it makes reference to a pointer that cplex no longer use. The cplexFVA.c code needs to be updated to use cplex 12.9+ because you cannot use an older version of cplex on your system it seems.

Regards,

Ronan

On Wed, 3 Nov 2021 at 23:38, ga01 @.***> wrote:

Hi Ronan, Yes, the $ILOG_CPLEX_PATH is set correctly and the submodules are populated. However, when running initCobraToolbox after populating the submodules cplex is still not recognized, even if I set its path manually with addpath. I thought that aliases may cause the trouble (/rds/user/gaa27/ = /home/gaa27/rds/) but adding them manually with addpath doesn't help with initialization, so I doubt it. However, addpath does help directly before using cplex:

CPLEX 12.9: $ echo $ILOG_CPLEX_PATH /rds/user/gaa27/hpc-work/local/CPLEX_Studio129 ...

addpath('/home/gaa27/rds/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux') which cplex @.***/Cplex.p % Cplex constructor ILOGcplex = Cplex('fba')

ans=

Cplex handle

Properties: Model: [1x1 struct] Param: [1x1 struct] DisplayFunc: @disp https://github.com/disp

Methods, Events, Superclasses

CPLEX 12.8: $ echo $ILOG_CPLEX_PATH /rds/user/gaa27/hpc-work/local/CPLEX_Studio128 ...

addpath('/home/gaa27/rds/hpc-work/local/CPLEX_Studio128/cplex/matlab/x86-64_linux') which cplex @./Cplex.p % Cplex constructor ILOGcplex = Cplex('fba') Error using Cplex Error:File: @./Cplex.p Line: 942 Column: 0 Identifier 'changedParam' is not a function or a shared variable. To share 'changedParam' with nested function, initialize it in the current scope. For more information, see Sharing Variables Between Parent and Nested Functions.

The key thing however is that cplex 12.8 (and fastFVA) does not seem to work, and I find it unlikely that it is an installation issue.

George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-960296540, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOTQ2CDDBAENOBQM35LUKHBZBANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, Well, our cluster is a very large one with tens of thousands of cores, with multiple partitions, workspaces, I think home directories are physically separate from work directories etc., and apparently this results in some complexities that initCobraToolbox.m cannot handle. The variables are set correctly, and after a fresh clone cplex 12.9 is recognized during initialization (although submodules are not populated):

You can solve LP problems using: 'ibm_cplex' - 'cplexlp' You can solve MILP problems using: 'ibm_cplex' You can solve QP problems using: 'ibm_cplex' You can solve MIQP problems using: 'ibm_cplex' You can solve NLP problems using: You can solve EP problems using:

And yet the following happens:

which cplex 'cplex' not found. configEnvVars(1) which cplex 'cplex' not found. getenv('ILOG_CPLEX_PATH') ans = '/rds/user/gaa27/hpc-work/local/CPLEX_Studio129' addpath('/rds/user/gaa27/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux') which cplex /rds/user/gaa27/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux/@Cplex/Cplex.p % Cplex constructor getenv('ILOG_CPLEX_PATH') ans = '/rds/user/gaa27/hpc-work/local/CPLEX_Studio129'

I might not figure out why, I primarily needed fastFVA, hoping that it is faster than cobrapy. Many thanks for your help, and I'm sorry we couldn't fix the issue.

Kind regards, George

rmtfleming commented 2 years ago

Hi George, using the COBRA toolbox on a remote resource is an important use case. It is very hard for us to figure out what is going on in your particular situation, because we dont have access to that system. However, open source software depends on people pitching in to maintain and improve things. There are 1/4 million lines of code in the cobra toolbox. People need to be prepared to push through the debugging pain barrier, share their improvements with others, or the whole open source idea becomes one sided. Regards, Ronan

On Thu, 4 Nov 2021 at 10:53, ga01 @.***> wrote:

Hi Ronan, Well, our cluster is a very large one with tens of thousands of cores, with multiple partitions, workspaces, I think home directories are physically separate from work directories etc., and apparently this results in some complexities that initCobraToolbox.m cannot handle. The variables are set correctly, and after a fresh clone cplex 12.9 is recognized during initialization (although submodules are not populated):

You can solve LP problems using: 'ibm_cplex' - 'cplexlp' You can solve MILP problems using: 'ibm_cplex' You can solve QP problems using: 'ibm_cplex' You can solve MIQP problems using: 'ibm_cplex' You can solve NLP problems using: You can solve EP problems using:

And yet the following happens:

which cplex 'cplex' not found. configEnvVars(1) which cplex 'cplex' not found. getenv('ILOG_CPLEX_PATH') ans = '/rds/user/gaa27/hpc-work/local/CPLEX_Studio129'

addpath('/rds/user/gaa27/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux') which cplex @.***/Cplex.p % Cplex constructor getenv('ILOG_CPLEX_PATH') ans = '/rds/user/gaa27/hpc-work/local/CPLEX_Studio129'

I might not figure out why, I primarily needed fastFVA, hoping that it is faster than cobrapy. Many thanks for your help, and I'm sorry we couldn't fix the issue.

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-960646035, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOT7WCDRRP7JJJUYQS3UKJQ4JANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, I agree; I will ask the sysadmins to find out what's wrong with the initialization on our system, and how to fix it. Really large clusters will always be very complex, so maybe they will come up with something useful and generic. Unfortunately I am not a Matlab developer, and tinkering with the internals of initCobraToolbox.m is beyond my skills.

I wonder whether there are plans for a gpu-enabled Cobra? As far as I know currently none of the cobra versions are gpu-enabled, but I have very little experience with it.

Kind regards, George

ga01 commented 2 years ago

I wonder whether you know an older cobra version that is able to utilize the cplex 12.8 solvers (so has a functional fastFVA)?

George

rmtfleming commented 2 years ago

Hi George, can you please first test fastFVA on a desktop with cplex 12.8 and the devel version of the cobra toolbox: https://github.com/opencobra/cobratoolbox/tree/develop Regards, Ronan

On Thu, 4 Nov 2021 at 13:40, ga01 @.***> wrote:

I wonder whether you know an older cobra version that is able to utilize the cplex 12.8 solvers (so has a functional fastFVA)?

George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-960953105, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEORFNDITJOONR2REN73UKKEOLANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, Unfortunately, right now I do not have access to a desktop with Matlab. I checked the devel version, and it is no different from the stable version.

George

rmtfleming commented 2 years ago

Hi George, if your institution has a licence for a cluster, your sysadmin should be able to explain how you could checkout one of those licences on your desktop. Regards, Ronan

On Thu, 4 Nov 2021 at 14:33, ga01 @.***> wrote:

Hi Ronan, Unfortunately, right now I do not have access to a desktop with Matlab. I checked the devel version, and it is no different from the stable version.

George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-961062109, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOWL7IXIXJXPOQSLVSTUKKKR5ANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, I'm sure it would be possible the get a local Matlab installation, but a single desktop will not have sufficient processing power for my problems, so I have to get Cobra right on the cluster. I hope a sysadmin can help with that, and if there will be a solution, I will post it immediately.

Kind regards, George

rmtfleming commented 2 years ago

Hi George, generally when debugging, one tries to eliminate variables then get something to work before reintroduction of potential confounding variables. The confounding variable here is the cluster vs desktop! Regards, Ronan

On Thu, 4 Nov 2021 at 15:24, ga01 @.***> wrote:

Hi Ronan, I'm sure it would be possible the get a local Matlab installation, but a single desktop will not have sufficient processing power for my problems, so I have to get Cobra right on the cluster. I hope a sysadmin can help with that, and if there will be a solution, I will post it immediately.

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-961151322, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOVGYORG26T5S46E4GLUKKQSRANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, Just an update; the newer initCobraToolbox does populate the submodules upon initialization. However, ibm_cplex is still not recognized, even though $ILOG_CPLEX_PATH is set correctly, and adding the paths manually with addpath doesn't help (with the initialization).

getenv('ILOG_CPLEX_PATH') ans = '/home/gaa27/rds/hpc-work/local/CPLEX_Studio129' which cplex 'cplex' not found. addpath('/home/gaa27/rds/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux') which cplex /rds/user/gaa27/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux/@Cplex/Cplex.p % Cplex constructor

Kind regards, George

rmtfleming commented 2 years ago

Hi Gorge,

glad to hear that part of the problem is solved.

However, it is impossible for me to figure out the other part of your platform because I dont have access to it. Try to debug what is happening with ILOG_CPLEX_PATH in configEnvVars.

Regards,

Ronan

On Sat, 6 Nov 2021 at 13:49, ga01 @.***> wrote:

Hi Ronan, Just an update; the newer initCobraToolbox does populate the submodules upon initialization. However, ibm_cplex is still not recognized, even though $ILOG_CPLEX_PATH is set correctly, and adding the paths manually with addpath doesn't help (with the initialization).

getenv('ILOG_CPLEX_PATH') ans = '/home/gaa27/rds/hpc-work/local/CPLEX_Studio129' which cplex 'cplex' not found.

addpath('/home/gaa27/rds/hpc-work/local/CPLEX_Studio129/cplex/matlab/x86-64_linux') which cplex @.***/Cplex.p % Cplex constructor

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-962454547, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOUXX7OP423XCJR4Q5TUKUW45ANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan, On our cluster the new Cobra (with the changes of Tim Hensen) does seem to initialize cobra + cplex 12.9 - 12.10 correctly, however not 12.8 (so fastFVA doesn't work), I get the same error message as previously:

Error:File: ///CPLEX_Studio128/cplex/matlab/x86-64_linux/@Cplex/Cplex.p Line: 942 Column: 0

Using changeCobraSolver, or removing paths to different setfield.m files as suggested in different threads doesn't help:

which -all setfield /usr/local/Cluster-Apps/matlab/R2020b/toolbox/matlab/datatypes/setfield.m

I wonder whether this is still an installation issue (installation with cplex 12.9 goes now without problems), or the current Cobra is not expected to work with 12.8 anymore?

Kind regards George

rmtfleming commented 2 years ago

Hi George, trying to fix platform and version specific issues is very hard because there are so many combinations. Going forward, someone with C programming experience needs to dig into the fastFVA code so cplex 12.9 - 12.10 works correctly with it. Regards, Ronan

On Fri, 19 Nov 2021 at 17:31, ga01 @.***> wrote:

Hi Ronan, On our cluster the new Cobra (with the changes of Tim Hensen) does seem to initialize cobra + cplex 12.9 - 12.10 correctly, however not 12.8 (so fastFVA doesn't work), I get the same error message as previously:

Error:File: @.***/Cplex.p Line: 942 Column: 0

Using changeCobraSolver, or removing paths to different setfield.m files as suggested in different threads doesn't help:

which -all setfield /usr/local/Cluster-Apps/matlab/R2020b/toolbox/matlab/datatypes/setfield.m

I wonder whether this is still an installation issue (installation with cplex 12.9 goes now without problems), or the current Cobra is not expected to work with 12.8 anymore?

Kind regards George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-974268181, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEORRFO2FDXV47K7CX3LUM2CYLANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

ga01 commented 2 years ago

Hi Ronan,
Thank you; I was simply wondering whether the current Cobra can handle the (very likely) somewhat different interfaces of cplex 12.8 and 12.9+, because the installation guide lists it as a compatible solver. (Or getting it right with the latest cobra is hopeless, 12.8 is not supported anymore).

I have seen that this came up earlier already (https://github.com/opencobra/cobratoolbox/issues/1699), but the only solution in the thread is to upgrade cplex. Is it known which cobra version was the last that still could use 12.8? I tried an earlier Cobra (3.0.0) but that doesn't install correctly for other reasons.

Kind regards, George

rmtfleming commented 2 years ago

Hi George,

cobra toolbox support for ibm_cplex has been restored: "See here: https://github.com/opencobra/cobratoolbox/issues/1868" That should be fixed in the current master version.

What is still missing is support for fastFVA which still needs someone to edit the fastFVA C code.

Regards,

Ronan

On Sat, 20 Nov 2021 at 09:52, ga01 @.***> wrote:

Hi Ronan, Thank you; I was simply wondering whether the current Cobra can handle the (very likely) somewhat different interfaces of cplex 12.8 and 12.9+, because the installation guide lists it as a compatible solver. (Or getting it right with the latest cobra is hopeless, 12.8 is not supported anymore).

I have seen that this came up earlier already (#1699 https://github.com/opencobra/cobratoolbox/issues/1699), but the only solution in the thread is to upgrade cplex. Is it known which cobra version was the last that still could use 12.8? I tried an earlier Cobra (3.0.0) but that doesn't install correctly for other reasons.

Kind regards, George

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1861#issuecomment-974624860, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOSA7HSD55XEEGGR3UDUM5VWPANCNFSM5HHOFX7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)