Francois,
There is not a direct unambiguous physical observable that one can point to
that defines a van der Waals radius; they are looked up in tables.
The RDKit and OpenBabel are clearly using different tables.
As to which to use: there isn't really an answer to the question; it comes
down to what you're trying to do and which table you choose to use. If you
just want a vdW radius (and don't care about a vdW distance for a
particular pair of atoms) you can just use a single tabulated value like
what you give below. Given that I no longer remember where the RDKit value
in atomic_data.cpp comes from and the OpenBabel one likely has a reference
attached to it: I'd take the OpenBabel one.
If you care more about what a particular vdW contact length should be,
you're probably better off using a more sophisticated approach. Paolo has
some information on that in this thread:
https://sourceforge.net/p/rdkit/mailman/message/35428577/
-greg
On Mon, Jun 19, 2017 at 7:49 AM, Francois BERENGER <
beren...@bioreg.kyushu-u.ac.jp> wrote:
> Hello,
>
> Sometimes, as a computer scientist, I am quite worried by chemical
> software libraries:
>
> $ cat data/ethanol.pqr
> COMPNDethanol
> AUTHORGENERATED BY OPEN BABEL 2.3.2
> HETATM1 C LIG 1 -0.017 -0.601 0.000 0.04138432 1.700 C
> HETATM2 C LIG 1 1.247 0.248 -0.000 -0.04182526 1.700 C
> HETATM3 H LIG 1 1.285 0.894 -0.888 0.02516417 1.100 H
> HETATM4 H LIG 1 1.270 0.916 0.872 0.02516417 1.100 H
> HETATM5 H LIG 1 2.150 -0.369 0.015 0.02516417 1.100 H
> HETATM6 H LIG 1 -0.096 -1.231 -0.903 0.05542120 1.100 H
> HETATM7 H LIG 1 -0.096 -1.231 0.903 0.05542120 1.100 H
> HETATM8 O LIG 1 -1.086 0.337 0.000 -0.39527743 1.520 O
> HETATM9 H LIG 1 -1.944 -0.125 -0.003 0.20938346 1.100 H
> CONECT18726
> CONECT1
> CONECT21543
> CONECT2
> CONECT32
> CONECT42
> CONECT52
> CONECT61
> CONECT71
> CONECT819
> CONECT98
> MASTER000000009090
> END
>
> # cat data/ethanol.plr
> COMPND ethanol
> -0.016600 -0.601400 0.00 -0.203500 1.95
> 1.247400 0.248500 -0.000100 0.144100 1.95
> 1.285200 0.894300 -0.887700 0.123000 1.20
> 1.270100 0.915700 0.872200 0.123000 1.20
> 2.149700 -0.369300 0.015500 0.123000 1.20
> -0.095800 -1.230700 -0.903200 0.123000 1.20
> -0.095700 -1.230800 0.903400 0.123000 1.20
> -1.085800 0.337100 0.000300 -0.289300 1.70
> -1.944300 -0.124700 -0.003200 -0.267700 1.20
> 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.
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Rdkit-discuss mailing list
> Rdkit-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss