> Essentially I'm taking the result of a Gaussian optimization (for a radical); 
> constructing an SDF file with OpenBabel (via cclib), and then trying to read 
> the result in RDKit.
> I have the SMILES string of the radical, but the connectivity is lost in the 
> gaussian output file. So the SDF that gets created by OpenBabel has to assume 
> bond orders based on distances that it sometimes gets wrong.

As someone who uses similar workflows, my suggestion is to save the original 
SMILES or SDF file, and merely update the coordinates. That is, if you use OB 
or RDKit to generate an initial 3D structure, save a SDF with the bond valence 
information (and in this case, presumably the M RAD record). Then you read the 
Gaussian output with Open Babel or cclib.

Since the atom order should be the same from Gaussian as your original SDF, you 
merely have to copy over the coordinates after reading the Gaussian file.

You can, in principal, also save the SMILES string as the "title" line in a 
Gaussian or other quantum chemistry program if you don't want to keep duplicate 
files (i.e., when reading the output with Pybel you can use mol.title to get 
the SMILES string back).

Suffice to say the main thing is to keep the original bond/valence information, 
don't throw it away. ;-)

Cheers,
-Geoff

---
Prof. Geoffrey Hutchison
Department of Chemistry
University of Pittsburgh
tel: (412) 648-0492
email: geo...@pitt.edu
twitter: @ghutchis
web: https://hutchison.chem.pitt.edu/



_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to