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

How to deal with the system containing metals? #24

Open
0ut0fcontrol opened this issue Nov 21, 2024 · 2 comments
Open

How to deal with the system containing metals? #24

0ut0fcontrol opened this issue Nov 21, 2024 · 2 comments

Comments

@0ut0fcontrol
Copy link

0ut0fcontrol commented Nov 21, 2024

Hi, how to deal with a system containing metals?
And the protonation state of the atoms chelated with metals?
Also, how to relax water?

Thank you!

7xrl as an example:
image

  • log:
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/cli.py:421: UserWarning: For some bonds the bond order is unknown, hence single bonds are assumed
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/fragments.py:405: UserWarning: Atom 'CA' in 'CA' has more than 4 bonds to heavy atoms (7) and is ignored
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/fragments.py:405: UserWarning: Atom 'K' in 'K' has more than 4 bonds to heavy atoms (7) and is ignored
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/fragments.py:212: UserWarning: Missing fragment for atom 'CA' at position 13340
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/fragments.py:212: UserWarning: Missing fragment for atom 'K' at position 13341
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/fragments.py:212: UserWarning: Missing fragment for atom 'CA' at position 13458
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/fragments.py:212: UserWarning: Missing fragment for atom 'K' at position 13459
  warnings.warn(
/opt/homebrew/Caskroom/mambaforge/base/envs/addh/lib/python3.12/site-packages/hydride/cli.py:255: UserWarning: Parameters required for computation of electronegativity aren't available for the following atoms: CA, CO, K, P. Their electronegativity is given as NaN.
  model.coord = relax_hydrogen(
@padix-key
Copy link
Member

Hi, for all these applications Hydride as currently shortcomings:

how to deal with a system containing metals?

In theory, Hydride is able to deal with molecules containing metals. However there are a few difficulties here:

  • In your example the bond between CO and C is not annotated in the CIF. Hence Hydride thinks they are separate molecules
  • Even if it was annotated it needs to be annotated with a single bond and not a metalc bond, as metalc is also often used to indicate polar bonds to solved ions, which are clearly separate molecules. Here I tend to blame the PDB, as there seems to be no distinction between those cases.
  • Organometallic structures are relatively diverse in comparison with the very few rules of geometry in classical organic compounds. Hence, it could be that there are cases where the underlying fragment library of Hydride has not seen a certain type of metal compound.

For your example I added the SINGLE bond between CO and C manually via the Python API and I got reasonable hydrogen coordinates.
test

And the protonation state of the atoms chelated with metals?

These need to be set manually, right. Only for amino acids the pronotation can be predicted via estimate_amino_acid_charges() (--charges parameter via the CLI). This might change with the implementation of #17.

Also, how to relax water?

This is currently not implemented and actually not planned as of yet, as it would require significant changes in the relaxation algorithm: Currently relaxation works by rotation around a bond between heavy atoms. However, in the edge case of water such bond is absent. Hence, no rotation is happening here.

@0ut0fcontrol
Copy link
Author

Thank you for your reply.

The unified preparation tools for protein-ligand complexes have always been a pain point, and there are no good open-source solutions.

  • PDB2PQR is an option, but the protein and ligand still disjointed, needs a ligand.mol2.

There are some commercial solutions, such as:

It seems that the biotite ecosystem has the opportunity to do better in this regard because it can handle proteins and small molecules in a unified manner.

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

No branches or pull requests

2 participants