quantumjot / PyFolding

Python framework for multi-parameter optimization and evaluation of protein folding models
MIT License
16 stars 4 forks source link

S15_homopolymerising model: error #8

Open mnaqvi-code opened 3 years ago

mnaqvi-code commented 3 years ago

When I am running the code and I am getting the following error Automatic global fitting to the homozipper model

r_homo = ising.fit_homopolymer(proteins, n_helices)

ValueError Traceback (most recent call last)

in 1 # try with a one-liner which can also save out the curve fits via:"save='/Users/ergm/Desktop/test.csv' ----> 2 r_homo = ising.fit_homopolymer(proteins, n_helices) #, save='/Users/ergm/Desktop/test.csv') ~\anaconda3\lib\site-packages\pyfolding-1.0-py3.8.egg\pyfolding\ising.py in fit_homopolymer(equilibrium_curves, topologies, p0, bounds, **kwargs) 657 # do the global fit 658 # out, covar = global_fit.fit( p0=p0, bounds=((0,-1.,0.),(10.,1.,-10.)) ) --> 659 out, covar = global_fit.fit( p0=p0, bounds=bounds ) 660 661 ~\anaconda3\lib\site-packages\pyfolding-1.0-py3.8.egg\pyfolding\core.py in fit(self, p0, bounds) 776 # fit the data 777 if bounds: --> 778 out, covar = optimize.curve_fit(self, x, y, p0=p0, bounds=bounds, 779 max_nfev=20000, absolute_sigma=True, 780 sigma=self.fit_weights) ~\anaconda3\lib\site-packages\scipy\optimize\minpack.py in curve_fit(f, xdata, ydata, p0, sigma, absolute_sigma, check_finite, bounds, method, jac, **kwargs) 793 kwargs['max_nfev'] = kwargs.pop('maxfev', None) 794 --> 795 res = least_squares(func, p0, jac=jac, bounds=bounds, method=method, 796 **kwargs) 797 ~\anaconda3\lib\site-packages\scipy\optimize\_lsq\least_squares.py in least_squares(fun, x0, jac, bounds, method, ftol, xtol, gtol, x_scale, loss, f_scale, diff_step, tr_solver, tr_options, jac_sparsity, max_nfev, verbose, args, kwargs) 789 790 if np.any(lb >= ub): --> 791 raise ValueError("Each lower bound must be strictly less than each " 792 "upper bound.") 793 ValueError: Each lower bound must be strictly less than each upper bound.
quantumjot commented 3 years ago

Looks like the bounds are set incorrectly now - maybe this would work?

bounds=((0,-1.,-10.), (10.,1.,0.))