wwpdb-dictionaries / mmcif_pdbx

wwPDB PDBx/mmCIF Dictionary
Creative Commons Zero v1.0 Universal
9 stars 9 forks source link

Relation between _pdbx_struct_special_symmetry.auth_asym_id and _atom_site.auth_asym_id #26

Open drlemmus opened 4 years ago

drlemmus commented 4 years ago

The relation between _pdbx_struct_special_symmetry.auth_asym_id and _atom_site.auth_asym_id is not properly described in dictionary which means that a change of _atom_site.auth_asym_id (e.g. from 'AAA' to 'A') cannot be inherited automatically.

drlemmus commented 4 years ago

Similarly, for pdbx_distant_solvent_atoms.auth_asym_id the connection to _atom_site.auth_asym_id is not working because the line "_item_linked.parent_name '_atom_site.auth_asym_id'" is commented out. Is there a good reason for this? This makes editing mmCIF files much harder.

epeisach commented 3 years ago

In short, I do not know the historical reasons, but a number of attributes in pdbx_struct_special_symmetry.auth_asym_id are linked to chem_comp and struct_asym. One would need to review the archive to see if there is an issue here.

drlemmus commented 3 years ago

Not quite sure what you mean. Do you want to check the archive to see if there are currently conflicts in the reference from _pdbx_struct_special_symmetry.auth_asym_id to _atom_site.auth_asym_id? Isn't that a reversal of the problem? We should see what is logical (IMO having the relation described) and then make sure the annotation fits the logic.

epeisach commented 3 years ago

What I meant is that if we were to consider such a parent/child connection - we would need to review the archive to see if there are any conflicts. There is one dictionary for the archive. If we add a parent/child relationship - no matter how obvious, we need to ensure that there isn't an example that would violate it. If there is, we need to understand why.

drlemmus commented 3 years ago

Yes, I agree. I was more considering the order of precedence. If anything, there are already entries in the archive that do not fit the dictionary. We just report them and they get fixed. It's a different story if this affects a lot of entries.

epeisach commented 3 years ago

There are a few entries that have dictionary errors due to special circumstances. Symmetry operator shorthand n_abc - breaks down when you are close to a screw axis and need to exceed 9 for a or b or c. Non-homogeneous X-ray structures is another case.

What I was saying is that I do not wish to intentionally add a parent/child relationship which invalidates existing entries. The order is fix first before adding a restriction.