Dear developers and users,
My phenix.real_space_refine run crashes with the error mentioned below when I have used following command to run it on a complete ribosome (containing coordinates for small subunit and large subunit in a single pdb file):
phenix.real_space_refine model.pdb map.mrc resolution=4.5 reference_coordinate_restraints.enabled=true reference_coordinate_restraints.selection="chain A and resseq 2:700" reference_coordinate_restraints.sigma=0.05 secondary_structure.enabled=True
res.eff > out.out
From the out.out file I can see that, it ran for 5 macro_cycles and started group b-factor refinement which reads (last few lines):
|-----------------------------------------------------------------------------|
|-group b-factor refinement (macro cycle = 0; iterations = 0)-----------------|
| r_work = 0.3809 r_free = 0.3809 target = 0.153923 restraints weight = None |
|-----------------------------------------------------------------------------|
|-group b-factor refinement (macro cycle = 1; iterations = 32)----------------|
| r_work = 0.3687 r_free = 0.3687 target = 0.144348 restraints weight = 1067.479|
|-----------------------------------------------------------------------------|
|-group b-factor refinement (macro cycle = 2; iterations = 37)----------------|
| r_work = 0.3724 r_free = 0.3724 target = 0.147257 restraints weight = 482.176|
|-----------------------------------------------------------------------------|
|-group b-factor refinement (macro cycle = 3; iterations = 32)----------------|
| r_work = 0.3747 r_free = 0.3747 target = 0.149066 restraints weight = 262.900|
|-----------------------------------------------------------------------------|
The run crashes at this point....
However, phenix.real_space_refine runs fine when I am refining a protein chain or a complex (for eg: just the large or the small subunit of a ribosome). Does it have to do with my pdb file being so big after merging of both subunits where I have also crossed
99999 atoms and atom serial numbers start from A0000? A related question: What is the latest consensus of using chain IDs and atom serial numbers to use in phenix.real_space_refine for handling large files like ribosome pdbs ? I have found some information
on: http://cci.lbl.gov/hybrid_36/
The error in terminal reads:
Traceback (most recent call last):
File "/usr/local/phenix-1.11.1-2575/build/../modules/phenix/phenix/command_line/real_space_refine.py", line 782, in <module>
o = run(sys.argv[1:])
File "/usr/local/phenix-1.11.1-2575/build/../modules/phenix/phenix/command_line/real_space_refine.py", line 518, in __init__
self.caller(func = self.run_macro_cycles, prefix="Macro-cycles")
File "/usr/local/phenix-1.11.1-2575/build/../modules/phenix/phenix/command_line/real_space_refine.py", line 547, in caller
status = func(prefix=prefix, **kwargs)
File "/usr/local/phenix-1.11.1-2575/build/../modules/phenix/phenix/command_line/real_space_refine.py", line 540, in run_macro_cycles
log = self.log)
File "/usr/local/phenix-1.11.1-2575/modules/phenix/phenix/refinement/macro_cycle_real_space.py", line 66, in __init__
self.caller(self.refine_adp, "ADP refinement")
File "/usr/local/phenix-1.11.1-2575/modules/phenix/phenix/refinement/macro_cycle_real_space.py", line 71, in caller
status = func(prefix=prefix)
File "/usr/local/phenix-1.11.1-2575/modules/phenix/phenix/refinement/macro_cycle_real_space.py", line 317, in refine_adp
adp_refinery.refine()
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/refinement/real_space/adp.py", line 78, in refine
b_isos_refined = self.refine_box_with_selected(selection=sel)
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/refinement/real_space/adp.py", line 56, in refine_box_with_selected
fmodel.update_all_scales(update_f_part1=False, apply_back_trace=True)
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 1452, in update_all_scales
self.apply_scale_k1_to_f_obs()
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 1500, in apply_scale_k1_to_f_obs
r_start = self.r_work()
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 2004, in r_work
selection = selection)
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 1972, in _r_factor
f_model = self.f_model_scaled_with_k1_w().data()
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 1730, in f_model_scaled_with_k1_w
data = self.scale_k1_w()*self.f_model_work().data())
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 2048, in scale_k1_w
selection=selection)
File "/usr/local/phenix-1.11.1-2575/modules/cctbx_project/mmtbx/f_model/f_model.py", line 182, in _scale_helper
raise RuntimeError("Zero denominator in scale calculation.")
RuntimeError: Zero denominator in scale calculation.
Best regards,
Tofayel