[phenixbb] occupancy refinement default selections - bug or feature?
Pavel Afonine
PAfonine at lbl.gov
Wed Jan 20 22:05:01 PST 2010
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.
More information about the phenixbb
mailing list