One minor refinement... Pat's answer can be made a bit more efficient by replacing the atom types which appear in both aromatic and aliphatic forms with the corresponding atom number queries and by moving the !#1 to the end. This should produce the same results as Pat's SMARTS: not_organic_pat = Chem.MolFromSmarts("[!#6;!#8;!#7;!#16;!#15;!F;!Cl;!Br;!I;!Na;!K;!Mg;!Ca;!Li;!#1]")
-greg On Sun, Mar 6, 2022 at 3:19 AM Patrick Walters <wpwalt...@gmail.com> wrote: > Here's what I use. > > not_organic_pat = > Chem.MolFromSmarts("[!#1;!C;!O;!N;!S;!P;!F;!Cl;!Br;!I;!c;!o;!n;!s;!p;!Na;!K;!Mg;!Ca;!Li]") > cisplatin = Chem.MolFromSmiles("[NH3+]-[Pt-2](Cl)(Cl)[NH3+]") > cisplatin.HasSubstructMatch(not_organic_pat) > > > > On Sat, Mar 5, 2022 at 8:08 PM Rafael L via Rdkit-discuss < > rdkit-discuss@lists.sourceforge.net> wrote: > >> Dear all, I remember having used some SMARTS-based function to flag >> structures containing "non-organic" atoms. It seems that there is a knime >> node for that ( >> https://forum.knime.com/t/rdkit-molecule-substructure-filter-incorrectly-matches-aromatic-sulfur-atoms-molecule-as-metal-containing-compounds/12935), >> but I wasn't able to find any Python implementations. Does anyone know >> where to find it? >> Thanks in advance >> >> -- >> *Rafael da Fonseca Lameiro* >> PhD Student - Medicinal and Biological Chemistry Group (NEQUIMED) >> São Carlos Institute of Chemistry - University of São Paulo - Brazil >> [image: orcid logo 16px] https://orcid.org/0000-0003-4466-2682 >> _______________________________________________ >> Rdkit-discuss mailing list >> Rdkit-discuss@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >> > _______________________________________________ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss