Open Bastien-N opened 1 year ago
Hi Bastian, is exist('solveCobraLP') == 2 on your machine? It may not be finding an x0 in the polytope due to numerical issues. Are any of your bounds very close together? e.g. ub - lb < 1e-6 ?
Try 'RHMC' as the sampler, that is another option.
Regards,
Ronan
On Mon, 14 Nov 2022 at 12:03, Bastien-N @.***> wrote:
Good afternoon,
I have run into a problem with the chrrSampler, more specifically the rounding part of it. The model I am using is the latest version of the Human1 model ( https://github.com/SysBioChalmers/Human-GEM).
The exact error is: " Error using mve_solver_cobra (line 29) x0 not interior
Error in mve_run_cobra (line 32) [x,E2,converged] = mve_solver_cobra(A,b,x0,maxiter,tol2,reg); %Ben
Error in preprocess (line 255) [T_shift, Tmve,converged] = mve_run_cobra(P.A,P.b, x0,reg);
Error in chrrSampler(line 110) [roundedPolytope] = preprocess(P,options); "
From the tests I was able to do, it seems that somehow the getCCcenter function defined in preprocess does not return a point that is interior to the polytope, but it does not give an error either.
I also have:
- Tried a fresh installation of matlab, gurobi, and cobraToolbox on different hardware. This did not work.
- Tried sampling a different smaller model, which went fine.
I hereby confirm that I have:
- Tried to solve the issue on my own
- Retried to run my code with the latest version of The COBRA Toolbox
- Checked that a similar issue has not already been opened
— Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/2069, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOQEAU4IP74I4DK3NKLWIIS7LANCNFSM6AAAAAAR7X57AE . You are receiving this because you are subscribed to this thread.Message ID: @.***>
(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.)
Hi Ronan,
Yes exist('solveCobraLP') == 2 is true. As for the numerical precision I suspect this is where the issue arise. However I struggle finding a solution as the input model does not have such small ranges. The smallest reaction range is 0.0039. From teh basic polytope of my model I can actually get an interior point.
However, after the first few transformations (restricting to the degenerate subspace, scaling by row_norms) most of P.A and P.b are populated by values in the order of 1e-16. After gmscale this is even worse.
As for RHMC, it seems from initial tests that it is much slower than CHRR, which becomes an issue due to the scale of the model.
Best, Bastien
Good afternoon,
I have run into a problem with the chrrSampler, more specifically the rounding part of it. The model I am using is the latest version of the Human1 model (https://github.com/SysBioChalmers/Human-GEM).
The exact error is: " Error using mve_solver_cobra (line 29) x0 not interior
Error in mve_run_cobra (line 32) [x,E2,converged] = mve_solver_cobra(A,b,x0,maxiter,tol2,reg); %Ben
Error in preprocess (line 255) [T_shift, Tmve,converged] = mve_run_cobra(P.A,P.b, x0,reg);
Error in chrrSampler(line 110) [roundedPolytope] = preprocess(P,options); "
From the tests I was able to do, it seems that somehow the getCCcenter function defined in preprocess does not return a point that is interior to the polytope, but it does not give an error either.
I also have:
I hereby confirm that I have: