ReliaSolve / Molprobity2

0 stars 0 forks source link

Update the metallic/ionic nomenclature to get things correct #161

Closed russell-taylor closed 2 years ago

russell-taylor commented 2 years ago

Maybe metallic is irrelevant, but ionic is; with + and - ions being different groups. Michael is working on figuring this out. Once it is fixed, replace or augment the element_is_metallic() function.

russell-taylor commented 2 years ago

consider ionic_polarity() function that returns +1 for those currently marked metallic, -1 for those marked IONIC, and 0 for others. Run this past Nigel and the Richardson team.

russell-taylor commented 2 years ago

Asked them about this:

After review, the plan from the Richardson lab is to replace the "metallic" designation with an "ionic" designation, which can have either a positive or a negative polarity.

To support this, I propose to replace the recently-added element_is_metallic() method defined in iotbx/pdb/hierarchy.h with a new method named ionic_polarity(). This method will return +1 for all atoms that are currently marked metallic in https://github.com/rlabduke/probe/blob/master/atomprops.h, -1 for the four atoms that are marked IONIC_ATOM_FLAG (F, Cl, Br, and I) and 0 for the remaining atom types. NOTE: The comment in the code on the IONIC flag states "dcr041007 partial, now on halides", which presumably means that this list is incomplete.

I'm open to other proposals for other solutions. I'll proceed with this one on Thursday the 4th unless I hear otherwise.

russell-taylor commented 2 years ago

Nigel recommended making the function name more clear, so made element_is_positive_ion(), element_is_negative_ion() and element_is_ion().

Jane requested the removal of element_is_metallic(), so it was removed.