[phenixbb] special positions Refinement crash

Pavel Afonine pafonine at lbl.gov
Thu Oct 10 20:24:25 PDT 2013


Hi Yarrow,

this seems to be a problem on our end then, which I will fix if you send 
me inputs necessary to reproduce it. This may take some time.

The crash happens because in your PDB file you have atom(s) on special 
positions and that particular step in refinement moves them away from 
special position more than a predefined threshold. Unfortunately you 
can't overwrite that threshold and this is something that I need to fix.

Practically I see two ways forward:

1) if these atoms are on special position *not* by accident (say because 
the model is too poor) but their location is supported by the data then 
I afraid you need to wait for the fix. Meanwhile you can try running 
refinement using different random seed (main.random_seed parameter), 
which may help.

2) If these atoms are there by accident then simply move them away from 
special position (in Coot, for example) and that will solve the problem.

Pavel


On 10/10/13 8:55 AM, Yarrow Madrona wrote:
> Thank you Pavel,
>
> Even setting this value up to 10 didn't seem to fix the issue. It seems to
> crash. log report is below.
>
>
> =========================== Add C-beta restraints
> ============================
>
> Adding C-beta torsion restraints...
> num c-beta restraints:  732
>
> ==================== Compute data/restraints target weights
> ===================
>
> Traceback (most recent call last):
>    File
> "/usr/bin/phenix-1.8.4-1496/build/mac-intel-osx-x86_64/../../phenix/phenix/command_line/refine.py",
> line 11, in <module>
>      command_line.run(command_name="phenix.refine", args=sys.argv[1:])
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/command_line.py",
> line 159, in run
>      call_back_handler=call_back_handler)
>    File "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/driver.py",
> line 1593, in run
>      reference_model_manager = self.reference_model_manager).result
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/strategies.py",
> line 171, in __init__
>      ion_placement_manager = ion_placement_manager)
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/macro_cycle.py",
> line 87, in __init__
>      self.call(self.weight,   "Compute data/restraints target weights")
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/macro_cycle.py",
> line 137, in call
>      func(prefix = prefix)
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/macro_cycle.py",
> line 302, in weight
>      log         = self.log)
>    File "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weights.py",
> line 20, in run
>      log                           = log)
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weight_xray_chem.py",
> line 368, in __init__
>      self.xyz_weights_result = self.xyz_weights()
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weight_xray_chem.py",
> line 411, in xyz_weights
>      log=self.log)
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weight_xray_chem.py",
> line 294, in __init__
>      verbose=0)
>    File
> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/memory_eraser.py",
> line 29, in shake_sites
>      max_iterations = max_iterations))
>    File
> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/geometry_restraints/lbfgs.py",
> line 43, in __init__
>      exception_handling_params=lbfgs_exception_handling_params)
>    File
> "/usr/bin/phenix-1.8.4-1496/cctbx_project/scitbx/lbfgs/__init__.py",
> line 259, in run
>      log)
>    File
> "/usr/bin/phenix-1.8.4-1496/cctbx_project/scitbx/lbfgs/__init__.py",
> line 127, in run_c_plus_plus
>      f, g = target_evaluator.compute_functional_and_gradients()
>    File
> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/geometry_restraints/lbfgs.py",
> line 89, in compute_functional_and_gradients
>      self.apply_shifts()
>    File
> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/geometry_restraints/lbfgs.py",
> line 70, in apply_shifts
>      site_cart=self.tmp.sites_shifted[i_seq])
>    File
> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/crystal/__init__.py",
> line 609, in correct_special_position
>      raise AssertionError(error_message)
> AssertionError: Excessive special position correction:
>    unit_cell: (56.278, 67.256, 106.26, 90, 90, 90)
>    space_group_info: P 21 2 2
>    special_op: 1/2,y,1/2
>    site_frac: (0.5155158345734757, 0.37698455671246006, 0.504900074345152)
>    site_special_frac: (0.5, 0.37698455671246006, 0.5)
>    distance_moved: 1.01666
> udp021848uds:Refine_P2122 yarrowmadrona$
>
>> Hi Yarrow,
>>
>> please try increasing this parameter (default is 1.0)
>>
>> correct_special_position_tolerance
>>
>> and let me know if this does not help. Set to 2 or so.
>>
>> Pavel
>>
>> On 10/9/13 4:17 PM, Yarrow Madrona wrote:
>>> Hello,
>>>
>>> I am trying to do a refinement and I get an error that I think means I
>>> have atoms on special positions. The refinement stops and gives the
>>> following output given below. Any help would be appreciated. I am not
>>> sure
>>> how to exactly determine which atoms are at special positions.
>>>
>>> Thank you.
>>>
>>> -Yarrow
>>>
>>>
>>> |-real space refinement
>>> (target=simple)---------------------------------------|
>>> | start: r_work=0.5500 r_free=0.5441 rmsd: bonds=0.019 angles= 1.68
>>> weight= 50|
>>> | final: r_work=0.5309 r_free=0.5358 rmsd: bonds=0.029 angles= 2.45
>>> weight= 80|
>>> |
>>> ---------------------------------------------------------------------------
>>> |
>>>
>>> ==================== Compute data/restraints target weights
>>> ===================
>>>
>>> Traceback (most recent call last):
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/build/mac-intel-osx-x86_64/../../phenix/phenix/command_line/refine.py",
>>> line 11, in <module>
>>>       command_line.run(command_name="phenix.refine", args=sys.argv[1:])
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/command_line.py",
>>> line 159, in run
>>>       call_back_handler=call_back_handler)
>>>     File "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/driver.py",
>>> line 1593, in run
>>>       reference_model_manager = self.reference_model_manager).result
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/strategies.py",
>>> line 171, in __init__
>>>       ion_placement_manager = ion_placement_manager)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/macro_cycle.py",
>>> line 87, in __init__
>>>       self.call(self.weight,   "Compute data/restraints target weights")
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/macro_cycle.py",
>>> line 137, in call
>>>       func(prefix = prefix)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/macro_cycle.py",
>>> line 302, in weight
>>>       log         = self.log)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weights.py",
>>> line 20, in run
>>>       log                           = log)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weight_xray_chem.py",
>>> line 368, in __init__
>>>       self.xyz_weights_result = self.xyz_weights()
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weight_xray_chem.py",
>>> line 411, in xyz_weights
>>>       log=self.log)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/weight_xray_chem.py",
>>> line 294, in __init__
>>>       verbose=0)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/phenix/phenix/refinement/memory_eraser.py",
>>> line 29, in shake_sites
>>>       max_iterations = max_iterations))
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/geometry_restraints/lbfgs.py",
>>> line 43, in __init__
>>>       exception_handling_params=lbfgs_exception_handling_params)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/cctbx_project/scitbx/lbfgs/__init__.py",
>>> line 259, in run
>>>       log)
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/cctbx_project/scitbx/lbfgs/__init__.py",
>>> line 127, in run_c_plus_plus
>>>       f, g = target_evaluator.compute_functional_and_gradients()
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/geometry_restraints/lbfgs.py",
>>> line 89, in compute_functional_and_gradients
>>>       self.apply_shifts()
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/geometry_restraints/lbfgs.py",
>>> line 70, in apply_shifts
>>>       site_cart=self.tmp.sites_shifted[i_seq])
>>>     File
>>> "/usr/bin/phenix-1.8.4-1496/cctbx_project/cctbx/crystal/__init__.py",
>>> line 609, in correct_special_position
>>>       raise AssertionError(error_message)
>>> AssertionError: Excessive special position correction:
>>>     unit_cell: (56.278, 67.256, 106.26, 90, 90, 90)
>>>     space_group_info: P 21 2 2
>>>     special_op: 1/2,y,1/2
>>>     site_frac: (0.5090941495765681, 0.42722892547242985,
>>> 0.5083083194012079)
>>>     site_special_frac: (0.5, 0.42722892547242985, 0.5)
>>>     distance_moved: 1.02047
>>>
>>> Phenix v. 1.8.4-1496
>>>
>> _______________________________________________
>> phenixbb mailing list
>> phenixbb at phenix-online.org
>> http://phenix-online.org/mailman/listinfo/phenixbb
>>
>>
>
>


More information about the phenixbb mailing list