occupancy refinement default selections - bug or feature?
There is a ligand residue in the structure that have its occupancy set
to 0.75. refine with default parameters apparently refines every atom
individually, so in the end I have a strange situation where ligand
atoms have different occupancies.
Of course, regular alternate conformers in the protein part of the
structure have single occupancy refined per residue.
Interestingly, when I place altLoc identifier "A" in front of the
residue name of the ligand, single occupancy value is refined (although
there is no second conformation). It settles down near 0.7 (close to
what I selected previously based on a traditional approach of
eliminating difference density and roughly matching B-factors of
hydrogen-bonded protein atoms with ligand), so apparently constraints
(e.g. total occupancy for all the conformers) are not applied.
Is this intentional behavior (I understand that groups can be defined in
the input file but adding altLoc letter seems like a simple trick)? I
think most people would initially expect that occupancy will not vary
within a residue, so the default behavior may seem like a bug to some
(the only situation I can think of where such variation is justified is
to model radiation damage).
--
Ed Pozharski
Hi Ed,
There is a ligand residue in the structure that have its occupancy set to 0.75. refine with default parameters apparently refines every atom individually, so in the end I have a strange situation where ligand atoms have different occupancies.
what phenix.refine does with your occupancies by default is described here: http://www.phenix-online.org/version_docs/1.5-2/refinement.htm#anch20 If you want to refine one occupancy per whole ligand, you need to tell phenix.refine abut it, for example phenix.refine model.pdb data.mtz refine.occupancies.constrained_group.selection="chain X and resname LIG" Based on user's feedback, future versions of phenix.refine will automatically recognize what is supposed to be refined with group occupancy - it's on top of my to-do list. Please let me know if it's still not clear and we will have a closer look.
Interestingly, when I place altLoc identifier "A" in front of the residue name of the ligand, single occupancy value is refined (although there is no second conformation). It settles down near 0.7 (close to what I selected previously based on a traditional approach of eliminating difference density and roughly matching B-factors of hydrogen-bonded protein atoms with ligand), so apparently constraints (e.g. total occupancy for all the conformers) are not applied.
Is this intentional behavior (I understand that groups can be defined in the input file but adding altLoc letter seems like a simple trick)? I think most people would initially expect that occupancy will not vary within a residue, so the default behavior may seem like a bug to some (the only situation I can think of where such variation is justified is to model radiation damage).
Yes, I agree with everything. You can do this trick too (setting altLoc, say A, to the whole ligand), and another "more expected/suggested" way of doing this is what I wrote above. And once again, future versions of phenix.refine will recognize situations like this and handle them fully automatically - it will be ~ten lines of code in mmtbx/utils.py or so -:) All the best! Pavel.
participants (2)
-
Ed Pozharski
-
Pavel Afonine