10
$\begingroup$

What is the best python package to construct Smooth Overlap of Atomic Positions (SOAP) descriptors given SMILES representation of a molecule? Is this even possible without providing 3D geometry? An example would be appreciated (The example in the paper from dscribe package is too trivial and cannot be extended to other molecules)

P.S. I'm trying to generate these descriptors for QM9 dataset molecules. Is there any databases that already has computed it?

$\endgroup$
3
  • 2
    $\begingroup$ Just fyi you can convert smiles to 3d fairly easily although it isn't robust for inorganic molecules (maybe not at all) $\endgroup$ – Cody Aldaz Nov 9 '20 at 9:12
  • 4
    $\begingroup$ @CodyAldaz Care for elaborate on this? Considering that SOAP works only knowing the exact 3D relationship between the atoms, this (converting smiles to 3D data) may be the best answer. $\endgroup$ – Greg Nov 9 '20 at 12:28
  • 1
    $\begingroup$ @Blade I'm not sure why you are saying that dscribe is "too trivial." You can use dscribe's SOAP implementation for any molecule you like, provided you have 3D coordinates. $\endgroup$ – Andrew Rosen Nov 12 '20 at 21:34
6
$\begingroup$

I'm trying to generate these descriptors for QM9 dataset molecules.

XYZ files are available for the QM9 dataset. It would be more sensible to run SOAP on these geometries. As mentioned, the SOAP descriptor only makes sense when you have the co-ordinates of the atoms in your molecule, and there's no strict unambiguous mapping from SMILES to atomic co-ordinates, and methods that do exist do not give you a relaxed (equilibrium) geometry in any case.

What is the best python package to construct Smooth Overlap of Atomic Positions (SOAP) descriptors given SMILES representation of a molecule?

If you do want to work from a SMILES string, Open Babel can do this with its gen3D option and there is an Open Babel Python package available. Once you have your co-ordinates, dscribe would be a great library to use to calculate the SOAP descriptors, although other libraries are available.

$\endgroup$
1
  • 2
    $\begingroup$ Seconding this answer. It's called smooth overlap of atomic positions. That's going to be silly if you don't have... atomic positions ;). A reasonable approach for small organic molecules might be to use OpenBabel's gen3D as mentioned and then do a quick cleanup with GFN2-xTB. $\endgroup$ – Andrew Rosen Nov 12 '20 at 21:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.