Hi, I am working with the pmi library and I am trying to add an IMP.pmi.restraints.saxs.SAXSRestraint but I am getting an error. The error does not come when I add the restraint and as far as I can tell the system understands what I have given it. The issue arises when I add the restraint to the model and then try to optimize_flexible_beads(), here is the full error: Traceback (most recent call last): File "test.py", line 154, in <module> dof_obj.optimize_flexible_beads(100) File "/usr/local/lib/python3.8/site-packages/IMP/pmi/dof/__init__.py", line 518, in optimize_flexible_beads mc.optimize(nsteps) File "/usr/local/lib/python3.8/site-packages/IMP/pmi/samplers.py", line 201, in optimize self.mc.optimize(nstep * self.get_number_of_movers()) File "/usr/local/lib/python3.8/site-packages/IMP/__init__.py", line 5041, in optimize return _IMP_kernel.Optimizer_optimize(self, max_steps) _IMP_kernel.IOException: Profile is not sampled for q = 0.0131, q_max = 0.5 You can remove points with q > 0.5 from the experimental profile or recompute the profile with higher max_q
I dont understand what this means, as I have set the maxq to be 0.3 in the restraint and the profile object has 0.3 as its maxq. q = 0.0131 is my first data point. I also get a similar error if I either remove the optimize_flexible_beads step or add the restraint to the model after optimization and then run replica exchange, here is that error: Traceback (most recent call last): File "test.py", line 172, in <module> rex.execute_macro() File "/usr/local/lib/python3.8/site-packages/IMP/pmi/macros.py", line 395, in execute_macro output.init_stat2(low_temp_stat_file, File "/usr/local/lib/python3.8/site-packages/IMP/pmi/output.py", line 820, in init_stat2 d = l.get_output() File "/usr/local/lib/python3.8/site-packages/IMP/pmi/restraints/__init__.py", line 107, in get_output score = self.evaluate() File "/usr/local/lib/python3.8/site-packages/IMP/pmi/restraints/__init__.py", line 83, in evaluate return self.weight * self.rs.unprotected_evaluate(None) File "/usr/local/lib/python3.8/site-packages/IMP/__init__.py", line 3785, in unprotected_evaluate return _IMP_kernel.RestraintSet_unprotected_evaluate(self, da) _IMP_kernel.IOException: Profile is not sampled for q = 0.0131, q_max = 0.5 You can remove points with q > 0.5 from the experimental profile or recompute the profile with higher max_q
It seems like the issue is occuring after I add the restraint so I dont think it is a file format issue but like I said im not sure what is going on. Anything you could do to help would be appreciated.
Thanks, Cameron
On 10/20/20 11:51 PM, Cameron Murray wrote: > I am working with the pmi library and I am trying to add an > IMP.pmi.restraints.saxs.SAXSRestraint but I am getting an error. The > error does not come when I add the restraint and as far as I can tell > the system understands what I have given it.
This looks like a bug. Please open an issue at https://github.com/salilab/imp/issues and attach a minimal test case so we can reproduce it.
Ben
Hi I would love to but unfortunately in my attempts to fix this issue I updated from imp version 2.13.0_02 to 2.13.0_04 and now I have different errors that prevent me from running the program at all. This is the error I get from the new version: Traceback (most recent call last): File "test.py", line 6, in <module> import IMP.pmi.topology File "/usr/local/lib/python3.8/site-packages/IMP/pmi/topology/__init__.py", line 25, in <module> import IMP.pmi.tools File "/usr/local/lib/python3.8/site-packages/IMP/pmi/tools.py", line 23, in <module> import RMF File "/usr/local/lib/python3.8/site-packages/RMF.py", line 15, in <module> import _RMF ImportError: dlopen(/usr/local/lib/python3.8/site-packages/_RMF.so, 2): Symbol not found: __ZN5boost10filesystem6detail16create_directoryERKNS0_4pathEPNS_6system10error_codeE Referenced from: /usr/local/Cellar/imp/2.13.0_4/lib/libRMF.dylib Expected in: /usr/local/opt/boost/lib/libboost_filesystem-mt.dylib in /usr/local/Cellar/imp/2.13.0_4/lib/libRMF.dylib
I tried to revert to version 2.13.0_02 or just 2.13.0 with homebrew but I was unable and ended up uninstalling my older version by mistake so I cant just use brew switch. I tried to install using a url with the 2.13.0 hash but it said: Error: Calling Non-checksummed download of imp formula file from an arbitrary URL is disabled! Is there a sanctioned way to install previous versions?
Sorry for all the trouble and thanks, Cameron
On Wed, 21 Oct 2020 at 14:44, Ben Webb ben@salilab.org wrote:
> On 10/20/20 11:51 PM, Cameron Murray wrote: > > I am working with the pmi library and I am trying to add an > > IMP.pmi.restraints.saxs.SAXSRestraint but I am getting an error. The > > error does not come when I add the restraint and as far as I can tell > > the system understands what I have given it. > > This looks like a bug. Please open an issue at > https://github.com/salilab/imp/issues and attach a minimal test case so > we can reproduce it. > > Ben > -- > ben@salilab.org https://salilab.org/~ben/ > "It is a capital mistake to theorize before one has data." > - Sir Arthur Conan Doyle >
On 10/21/20 2:09 PM, Cameron Murray wrote: > Hi I would love to but unfortunately in my attempts to fix this issue I > updated from imp version 2.13.0_02 to 2.13.0_04 and now I have different > errors that prevent me from running the program at all. ... > ImportError: dlopen(/usr/local/lib/python3.8/site-packages/_RMF.so, 2): > Symbol not found: > __ZN5boost10filesystem6detail16create_directoryERKNS0_4pathEPNS_6system10error_codeE > Referenced from: /usr/local/Cellar/imp/2.13.0_4/lib/libRMF.dylib > Expected in: /usr/local/opt/boost/lib/libboost_filesystem-mt.dylib > in /usr/local/Cellar/imp/2.13.0_4/lib/libRMF.dylib
Right, the Homebrew folks pushed a new boost version (1.74) today, and IMP needs to be rebuilt against it. I'm actually doing that right now, so if you wait 30 minutes or so then try 'brew update' again you should see the IMP package update, at which point a 'brew upgrade' should get you running again. Or you can reinstall from source (brew reinstall -s imp) but I wouldn't recommend that because it will take a long time to build.
> Is there a sanctioned way to install previous versions?
Unfortunately the previous versions won't work either because they are also built against older versions of boost (and other dependencies). The "solution" would be to install an older version of boost. But I wouldn't recommend that either because it will probably break other packages on your Mac.
Ben
participants (2)
-
Ben Webb
-
Cameron Murray