Francois BERENGER
2017-06-19 05:49:30 UTC
Hello,
Sometimes, as a computer scientist, I am quite worried by chemical software libraries:
$ cat data/ethanol.pqr
COMPND ethanol
AUTHOR GENERATED BY OPEN BABEL 2.3.2
HETATM 1 C LIG 1 -0.017 -0.601 0.000 0.04138432 1.700 C
HETATM 2 C LIG 1 1.247 0.248 -0.000 -0.04182526 1.700 C
HETATM 3 H LIG 1 1.285 0.894 -0.888 0.02516417 1.100 H
HETATM 4 H LIG 1 1.270 0.916 0.872 0.02516417 1.100 H
HETATM 5 H LIG 1 2.150 -0.369 0.015 0.02516417 1.100 H
HETATM 6 H LIG 1 -0.096 -1.231 -0.903 0.05542120 1.100 H
HETATM 7 H LIG 1 -0.096 -1.231 0.903 0.05542120 1.100 H
HETATM 8 O LIG 1 -1.086 0.337 0.000 -0.39527743 1.520 O
HETATM 9 H LIG 1 -1.944 -0.125 -0.003 0.20938346 1.100 H
CONECT 1 8 7 2 6
CONECT 1
CONECT 2 1 5 4 3
CONECT 2
CONECT 3 2
CONECT 4 2
CONECT 5 2
CONECT 6 1
CONECT 7 1
CONECT 8 1 9
CONECT 9 8
MASTER 0 0 0 0 0 0 0 0 9 0 9 0
END
# cat data/ethanol.plr
COMPND ethanol
-0.016600 -0.601400 0.000000 -0.203500 1.950000
1.247400 0.248500 -0.000100 0.144100 1.950000
1.285200 0.894300 -0.887700 0.123000 1.200000
1.270100 0.915700 0.872200 0.123000 1.200000
2.149700 -0.369300 0.015500 0.123000 1.200000
-0.095800 -1.230700 -0.903200 0.123000 1.200000
-0.095700 -1.230800 0.903400 0.123000 1.200000
-1.085800 0.337100 0.000300 -0.289300 1.700000
-1.944300 -0.124700 -0.003200 -0.267700 1.200000
END
The .plr file was generated with rdkit.
The .pqr file with obabel.
Maybe I'm out of luck, or I don't understand something, but the two files don't agree
on any single VdW radius (5th column in the .plr file; 10th column in the .pqr
file for HETATM lines).
Here is the code I used for rdkit:
---
periodic_table = Chem.GetPeriodicTable()
def get_radius(atom):
return periodic_table.GetRvdw(atom.GetAtomicNum())
[...]
atoms = mol.GetAtoms()
[...]
radius = get_radius(atom)
[...]
---
Am I doing something wrong?
Isn't there a more direct way to access the VdW radius of an atom
when iterating over the atoms of a molecule?
Who should I trust? obabel? rdkit? the nearest real-world chemist?
Thanks,
F.
Sometimes, as a computer scientist, I am quite worried by chemical software libraries:
$ cat data/ethanol.pqr
COMPND ethanol
AUTHOR GENERATED BY OPEN BABEL 2.3.2
HETATM 1 C LIG 1 -0.017 -0.601 0.000 0.04138432 1.700 C
HETATM 2 C LIG 1 1.247 0.248 -0.000 -0.04182526 1.700 C
HETATM 3 H LIG 1 1.285 0.894 -0.888 0.02516417 1.100 H
HETATM 4 H LIG 1 1.270 0.916 0.872 0.02516417 1.100 H
HETATM 5 H LIG 1 2.150 -0.369 0.015 0.02516417 1.100 H
HETATM 6 H LIG 1 -0.096 -1.231 -0.903 0.05542120 1.100 H
HETATM 7 H LIG 1 -0.096 -1.231 0.903 0.05542120 1.100 H
HETATM 8 O LIG 1 -1.086 0.337 0.000 -0.39527743 1.520 O
HETATM 9 H LIG 1 -1.944 -0.125 -0.003 0.20938346 1.100 H
CONECT 1 8 7 2 6
CONECT 1
CONECT 2 1 5 4 3
CONECT 2
CONECT 3 2
CONECT 4 2
CONECT 5 2
CONECT 6 1
CONECT 7 1
CONECT 8 1 9
CONECT 9 8
MASTER 0 0 0 0 0 0 0 0 9 0 9 0
END
# cat data/ethanol.plr
COMPND ethanol
-0.016600 -0.601400 0.000000 -0.203500 1.950000
1.247400 0.248500 -0.000100 0.144100 1.950000
1.285200 0.894300 -0.887700 0.123000 1.200000
1.270100 0.915700 0.872200 0.123000 1.200000
2.149700 -0.369300 0.015500 0.123000 1.200000
-0.095800 -1.230700 -0.903200 0.123000 1.200000
-0.095700 -1.230800 0.903400 0.123000 1.200000
-1.085800 0.337100 0.000300 -0.289300 1.700000
-1.944300 -0.124700 -0.003200 -0.267700 1.200000
END
The .plr file was generated with rdkit.
The .pqr file with obabel.
Maybe I'm out of luck, or I don't understand something, but the two files don't agree
on any single VdW radius (5th column in the .plr file; 10th column in the .pqr
file for HETATM lines).
Here is the code I used for rdkit:
---
periodic_table = Chem.GetPeriodicTable()
def get_radius(atom):
return periodic_table.GetRvdw(atom.GetAtomicNum())
[...]
atoms = mol.GetAtoms()
[...]
radius = get_radius(atom)
[...]
---
Am I doing something wrong?
Isn't there a more direct way to access the VdW radius of an atom
when iterating over the atoms of a molecule?
Who should I trust? obabel? rdkit? the nearest real-world chemist?
Thanks,
F.