Hi all,

I ran into a case that I found confusing.  If convert this SMILES to an
RDKit molecule, I get a valid molecule.

In [2]: mol = Chem.MolFromSmiles("O=C(CC1SCCC1)c1coooo1N")

In [3]: mol
Out[3]: <rdkit.Chem.rdchem.Mol at 0x10caefbc0>

However, if I convert the molecule to SMILES then covert it back to a
molecule, it is no longer valid.

In [4]: smi = Chem.MolToSmiles(mol)

In [5]: new_mol = Chem.MolFromSmiles(smi)
[20:35:06] Explicit valence for atom # 1 O, 3, is greater than permitted
RDKit ERROR: [20:35:06] Explicit valence for atom # 1 O, 3, is greater than
permitted

In [6]: new_mol

In [7]: new_mol is None
Out[7]: True

I'd like to be able to catch invalid molecules like this in one step rather
than two.  What am I
doing wrong?

Thanks,

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

Reply via email to