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

Reply via email to