Dear all,

I would like to write a SMARTS chain that matches any compound with a decalin ring system,
whatever bond multiplicity.
I wrote it as 'C1~C~C2~C~C~C~C~C2~C~C1' with ~ standing for "any bond".
The C1-C1 and C2-C2 bonds have the "default type", which is single or aromatic.
The code

m1 = Chem.MolFromSmiles('C1CCCC(=C12)CCCC2')
m2 = Chem.MolFromSmiles('C1CCC=C(C12)CCCC2')
pattern = Chem.MolFromSmarts('C1~C~C2~C~C~C~C~C2~C~C1')
print(m1.HasSubstructMatch(pattern))
print(m2.HasSubstructMatch(pattern))

prints False for m1 and True for m2 because the double bond in m1 is located
at the place of one of the ring closure bonds in pattern.

My question is how to write a SMARTS chain that fits in all cases for decalin or any other ring system and is more related to SMARTS-writing than to RDKit, I admit.

Best,

Jean-Marc

--

Dr. Jean-Marc Nuzillard
Institute of Molecular Chemistry, CNRS UMR 7312
Faculté des Sciences Exactes et Naturelles, Bâtiment 18
BP 1039
51687 REIMS Cedex 2
France

Tel : 33 3 26 91 82 10
Fax : 33 3 26 91 31 66
http://www.univ-reims.fr/icmr
http://eos.univ-reims.fr/LSD/CSNteam.html

ORCID: 0000-0002-5120-2556
http://www.univ-reims.fr/LSD/
http://www.univ-reims.fr/LSD/JmnSoft/

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

Reply via email to