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