[phenixbb] Planarity restraint ignored when dist_esd equal to 0

Takanori Nakane takanori.nakane at bs.s.u-tokyo.ac.jp
Tue Sep 27 20:06:14 PDT 2016


Hi Pavel,

Thank you very much for clarification.

I see your points and now agree that 'stop if esd is 0' is bit too much.

Best regards,

Takanori Nakane

Am 2016年09月28日 um 11:33 schrieb Pavel Afonine:
> Hello Takanori,
>
> thanks for feedback! It is always very much appreciated!
>
>> I have recently encountered a similar situation, where I
>> took a CIF file for a ligand from the CCP4 monomer library
>> and found planarity restraints are silently ignored in PHENIX.
>> This is very confusing and dangerous.
>
> I can see how this may be confusing so I agree with Keitaro that a
> warning would be good to have. Also, phenix.refine always outputs .geo
> file that lists all the restraints for all atoms, which allows to check
> presence or absence of particular restraints for atoms in question.
>
>> > with this logic you interpret the number and not use it. Follow this
>> > road you may end up with odd things, like let's treat 0 as
>> > "constraints", 0.1 as "strong restraints", 1.5 as "weak restraints",
>> etc
>> > and in each case do something very different - I hope you get the idea.
>>
>> The "zero sigma" limit of a Gaussian is an infinitely sharp
>> probability distribution (= delta function). So I think the transition
>> from restraints to constraints is not "odd" but quite natural both
>> mathematically and semantically.
>
> Theoretically it is all right of course, but in terms of code it may be
> quite different pieces of code. It is much less cryptic if a decision to
> use one option (restraints) or another (constraints) is a made based on
> a clearly named parameter rather than inferring from interpreting a number.
>
>> Anyway, if PHENIX does not want to treat 0 as constraints,
>> I would prefer an error stop, not just a warning,
>
> It is always a balance between being conservative vs relaxed, automated
> vs less automated. There is no perfect solution for drawing the line,
> Iafraid. I'm sure if we make phenix.refine stop every time it sees esd=0
> there will be a great deal of people flooding mailboxes saying "why it's
> stopping, I don't care, I want my refinement job finished", etc.
>
> phenix.refine favors automation paradigm while providing a lot of room
> for flexibility. You can define custom bonds, angles, torsions, planes,
> groups of planes to be parallel, as many as you wish and for any atoms
> of your choice. And you can make sure that what you defined was actually
> used by inspecting .geo files.
>
> A practical solution to "esd=0 issue" that is somewhere in between the
> two extremes ("stop if esd=0" vs "ignore and keep going") is to replace
> esd=0 with say esd=0.01 (or whatever is used for rings in TYR or PHE).
> This will let program going as before and you will get your plane that I
> bet one wouldn't be able to tell that it is not perfect just by looking
> at it!
>
>> because most people
>> don't mean "ignore this record" by zero sigma.
>
> Frankly, I don't know and I wouldn't be so sure. I'd say many wouldn't
> tell (and care about) the difference between restraints vs constrains,
> not to mention nuances about meaning of esd=0, which is fine.
>
> Those who don't mean "ignore this record" are probably trained to use
> the program X, where this assumption is made. Perhaps it's not too
> unreasonable to realize that not everything adopted in program X is
> equally and fully adopted in program Y.
>
> I can make a list of hundreds other similar decisions that are made
> under the hood of phenix.refine automatically.
> - Do hydrogens participate in bulk-solvent mask calculation?
> - Do vdw radii of non-H change when H are used in refinement?
> - What program does if it sees non-positive definite anisotropic ADP or
> any of T, L or S matrix?
> - What happens if input PDB has ANISOU records, TLS is not requested and
> resolution is not great for anisotropic refinement?
> - Are H treated as riding or freely refined if data resolution is 0.73A?
> - What data resolution is used when you request to do rigid-body
> refinement?
> - What refinement target is used (LS or ML) if there is less than 50
> test (free) reflections?
> ... Yep, I can go on for 100+ more items like this. If every time we
> stop and ask users what to do that would not go well!
>
> All the best,
> Pavel
>
> _______________________________________________
> phenixbb mailing list
> phenixbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/phenixbb
> Unsubscribe: phenixbb-leave at phenix-online.org


More information about the phenixbb mailing list