Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

From pdb redo testing; 7N5 had outdated atom names and other updates #35

Merged
merged 31 commits into from
Jan 10, 2024

Conversation

drlemmus
Copy link
Collaborator

7N5 was not compatible with the current CCD and needs replacement

@drlemmus drlemmus changed the title From pdb redo testing; 7N5 had outdated atom names From pdb redo testing; 7N5 had outdated atom names and other updates Oct 26, 2023
@GaribMurshudov
Copy link
Contributor

GaribMurshudov commented Oct 26, 2023

It seems that all tests have failed. We need to check and correct them before approving for the update. Have you added new monomers to the mon_lib_list.cif also?

@keitaroyam
Copy link
Contributor

One may be my error. I will check them and let you know what was wrong.

@keitaroyam
Copy link
Contributor

In EXA, IEK, and JL0, there some lines like

<<<<<<< HEAD

inserted. Perhaps you did not properly resolve conflicts? Please add a commit to this branch to fix those files.

@drlemmus
Copy link
Collaborator Author

Thanks for pointing that out. I'll check

@drlemmus
Copy link
Collaborator Author

Fixed. I also noticed that the hydrogen names in EXA are non-standard. I'll ask the PDB to fix that.

@GaribMurshudov
Copy link
Contributor

I see that there are two ligands with metals (CLF and 8M0). They seem to have problems.
How did you create them?

@drlemmus
Copy link
Collaborator Author

drlemmus commented Oct 26, 2023

I see that there are two ligands with metals (CLF and 8M0). They seem to have problems. How did you create them?

libcheck << eof >>& $WORKDIR/make_dic.log
N
file_l ${HETID}_def.cif
mon $HETID
nodist y
coor y

eof

Using the CCD file as a starting point

@GaribMurshudov
Copy link
Contributor

libcheck made mistake. These ligands should be done with care.

  1. libcheck added H atoms, there are none (as far as i know)
  2. Bonds and angles are not as good as they should be. We should be able to do better. The program for updating bonds and angles is almost ready, but not ready yet. It can update angles when metal is in the middle of the angle but not at the ends. It needs to be sorted out also.
  3. Here is an example of CLF updated (bond lengths and FE centred angles
  4. For these cases we also need restraints to atoms not existing in these ligands (restraints to atoms from protein atoms).
  5. I will ask Kaveh (who is developing this program) if he agrees the program to be tested by other people than me.

@GaribMurshudov
Copy link
Contributor

What should we do with cases like 8ML0? Do we need a ligand named 8M0 which is going to be never complete?
These cases can and perhaps should be dealt with metals, waters (and smaller compounds in the pdb) and external restraints. Otherwise we will always make mistake, as small changes in oxidation and surrounding can change bond, angles etc dramatically

@drlemmus
Copy link
Collaborator Author

These sort of metal clusters are rare but they are a genuine use-case for some. Perhaps we don't need these compounds in the monomer library but we do need a way to generate restraints even if they are not entirely perfect. The current output of libcheck is not great but good enough to run pdb-redo. The biggest problem arises if you write out the model with hydrogens that should not be there.

@GaribMurshudov
Copy link
Contributor

GaribMurshudov commented Oct 26, 2023

We may be able to generate better distances and angles for cases like CLF - but still external distances angles need to be used.
For cases like 8M0 - and there are several in the PDB - I think we need to use metal and external restraints (generated automatically of course).
Additional hydrogens are additional problems. Bonds and angles are wrong also (CCD entry itself is wrong, we need something better and perhaps update CCD)

@keitaroyam
Copy link
Contributor

keitaroyam commented Oct 26, 2023

The test still failed, because R0I was not added to mon_lib_list.cif.

IEK: this may be accidental (just a newline added). I may revert this to make the history clean.

CLF and 8M0: these are not added in this PR. We should fix them, so it could be discussed elsewhere after closing this. In this PR, R0I and S5Q are made by libcheck. I have not looked into them yet.

I also noticed that the hydrogen names in EXA are non-standard. I'll ask the PDB to fix that.

PDB people mentioned they may make H/H2/H3 the standard: wwPDB/backbone-extension#1 (comment). Your request would be appreciated.

@drlemmus
Copy link
Collaborator Author

I added R0I to mon_lib_list.cif that solved the checks

newline addition reverted
@GaribMurshudov
Copy link
Contributor

GaribMurshudov commented Oct 26, 2023

Ok. I looked at R0I in the PDB. I am not sure that this ligand is correct. In one of the PDBs density seems to be weak and methyl group seems to be out of place. In another case neither metyl not ethylene group seem to be present.

Now a question? Should we add all CCD entries to our monomer library or should we do some sanity check. (density, chemistry and so on)?
IF we want PDB-REDO work then yes, we should add all. If we want the monomer library to be sane then we need to do a chemsitry check. I suggest we write a small function to add libraries for pdb redo. If you use servalcat/refmacat then it should be straightforward. We check the pdb file, if it has a ligand that is not in our library you check the CCD, download and use it.If there are more than one ligand then refmacat should be able to accept more than one file. Links would remain problematic.

@drlemmus
Copy link
Collaborator Author

I guess the Pt atom will cause an enormous amount of radiation damage and the sites are not fully occupied.

For sake of pdb-redo it is not needed to add all new ligands to the ML. I would like to add things that cause specific problems with AceDRG.
I recently changed the workflow in pdb-redo to deal with the behaviour of Refmacat which is quite a bit more stringent when it comes to new compounds the Refmac was. The way it works now is that when Refmacat/Gemmi notices a new compound and stops, pdb-redo gets the description from the CCD and generates restraints with AceDRG. If that fails a second attempt is made with Libcheck. The new description is added to my copy of the ML, but mon_lib_list.cif is not updated (too much risk of race conditions as I frequently run many Refmacat jobs in parallel). Gemmi doesn't use it to find restraints for compounds so that works fine. This seems to be reasonably robust.

I am in favour of adding new compounds to the ML but there is no real rush from my side. I'm more interested in adding LINKs but these need to be curated. The good news is that new LINKs are not that common and the current fallback in Refmacat seems robust enough.

About checking CCD entries: that is not our primary job. However, if we notice specific problems or naming inconsistencies, by all means please report them. I try to do that once a month. If you want to be in the loop, I can CC you.

@keitaroyam
Copy link
Contributor

I also checked S5Q and PDB 8boq. Fe-S bond lengths and angles from libcheck seem inappropriate and inconsistent with the model.

The new description is added to my copy of the ML, but mon_lib_list.cif is not updated

You could also use --ligand to give (multiple) dictionary cif files, which may be even safer.

@GaribMurshudov
Copy link
Contributor

Ok. Let me try these and see if we can get a better geometry values. There seems to be a carbon in this ligand. It is unusual.

@keitaroyam
Copy link
Contributor

Perhaps I should revert dbc442d (to keep the old atom names #39) and merge this PR soon. I believe we will be able to fix the metal containing ligands R0I and S5Q by the next week?

@GaribMurshudov
Copy link
Contributor

I should be able to fix R0I and few others by the next week.

@keitaroyam
Copy link
Contributor

R0I and S5Q restraints were remade using Kaveh and Fei's programs, and fixed manually. Now the branch can be merged?

@GaribMurshudov
Copy link
Contributor

@drlemmus could you please test this please?

@drlemmus
Copy link
Collaborator Author

drlemmus commented Jan 9, 2024

Tested, both behave properly in pdb-redo and coot

Copy link
Contributor

@GaribMurshudov GaribMurshudov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robbie seems to be happy.

@keitaroyam keitaroyam merged commit a6fd13d into master Jan 10, 2024
1 check passed
@keitaroyam keitaroyam deleted the from-pdb-redo-testing branch January 10, 2024 01:13
@keitaroyam
Copy link
Contributor

@drlemmus Thanks for testing. Next time please consider making a branch from the latest master, which will make the history cleaner.

@drlemmus
Copy link
Collaborator Author

Will do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants