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

problem of atom charges in protein PDB files #107

Open
yangkimm opened this issue Sep 17, 2019 · 6 comments
Open

problem of atom charges in protein PDB files #107

yangkimm opened this issue Sep 17, 2019 · 6 comments

Comments

@yangkimm
Copy link

what is the PDB file format in oddt(RSC PDB, charmm PDB)?
I want to calculate interactions (salt bridge, hydrogen bonds, etc ) between a protein and a short peptide which obtained from MD simulations (charmm pdb formats). The peptide C-terminal is carboxyl group (COO-). but when I used the commands below:
ligand = next(oddt.toolkit.readfile('pdb', 'ligand.pdb'))
ligand.protein = True
ligand.atom_dict['isminus']
all atoms are false.
so how oddt decides the charge of atom in pdb format or what special pdb formats needed by oddt?

@mwojcikowski
Copy link
Contributor

Pdb format does not always include charges, which is particular problem for ligands, I would suggest using another format better suited for small molecules such as sdf or mol2.

Additionally I would suggest not to use protein = True for small molecules too.

@yangkimm
Copy link
Author

yangkimm commented Sep 19, 2019

My ligand is a little peptide including 5 residues and its C-terminal is carboxyl group(COO-),but the O- atom's formal charge is neither minus nor plus. I think its a common problem for protein. So the correctness of salt bridges in interactions module is doubtful.

@mwojcikowski
Copy link
Contributor

Can you upload a sample file I will try to look a at it next week to figure it out

@yangkimm yangkimm reopened this Sep 19, 2019
@yangkimm
Copy link
Author

This is a pdb file.
G5COO.txt

@yangkimm
Copy link
Author

yangkimm commented Sep 19, 2019

A_minius.txt
This is a small molecule mol2 file. The O- in carboxyl group(COO-) is also not correct.

@yangkimm
Copy link
Author

yangkimm commented Sep 19, 2019

Further, I used the test cases in the source code (test_interactions.py). My scripts are:
python

import oddt
from oddt import interactions
mols = list(oddt.toolkit.readfile('sdf','actives_docked.sdf'))
list(map(lambda x: x.addh(only_polar=True), mols))
rec = next(oddt.toolkit.readfile('pdb', 'receptor_rdkit.pdb'))
rec.protein = True
rec.addh(only_polar=True)
salt_bridges_count = [len(oddt.interactions.salt_bridges(rec, mol)[0]) for mol in mols]
salt_bridges_count
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
but the code in test_interactions.py line 84 is:
assert_array_equal(salt_bridges_count,
[6, 7, 5, 5, 6, 5, 6, 4, 6, 5, 4, 6, 6, 5, 8, 5, 6, 6,
6, 7, 6, 6, 5, 6, 7, 5, 5, 7, 6, 6, 7, 6, 6, 6, 6, 6,
6, 5, 5, 6, 4, 5, 5, 6, 6, 3, 5, 5, 4, 6, 4, 8, 6, 6,
6, 4, 6, 6, 6, 6, 7, 6, 7, 6, 6, 7, 6, 6, 6, 5, 4, 5,
5, 6, 6, 6, 6, 6, 6, 4, 7, 5, 6, 6, 5, 6, 6, 5, 6, 5,
6, 5, 5, 7, 7, 6, 8, 6, 4, 5])
The files of actives_docked.sdf and receptor_rdkit.pdb are in the oddt-0.6/tests/data/dude/xiap directory, while the file of test_interactions.py is in the oddt-0.6/tests/ directory.

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