Are you interested in aromatic c-H? It looks like 3 of 4 molecules have
hydrogens (if you count methyls)
from rdkit import Chem
from rdkit.Chem.Draw import MolsToGridImage
buff = """N#C/C(C#N)=C(C(F)=C/1F)\C(F)=C(F)C1=C(C#N)\C#N
N#C/C(C#C)=C(C=C/1F)\C(F)=C(F)C1=C(C#N)\C#N
FC1=C(F)C(C#N)=C(F)C(OC(Br)(Br)C)=C1C#N
CC1=C(F)C(C#N)=C(F)C(OC(Br)(Br)C)=C1C#N"""
smiles_list = buff.split("\n")
mol_list = [Chem.MolFromSmiles(x) for x in smiles_list]
MolsToGridImage(mol_list,molsPerRow=4)
[image: image.png]
aromatic_cH = Chem.MolFromSmarts("[cH]")
[x.HasSubstructMatch(aromatic_cH) for x in mol_list]
[False, True, False, False]
If you're just looking for hydrogens, you could do something like this.
from rdkit.Chem.rdMolDescriptors import CalcMolFormula
def has_hydrogen(mol):
mf = CalcMolFormula(mol)
return mf.find("H") >= 0
[has_hydrogen(x) for x in mol_list]
[False, True, True, True]
Pat
On Tue, Feb 12, 2019 at 6:40 PM Li, Xiaobo [xiaoboli] <
[email protected]> wrote:
> Dear all,
>
>
> I have a library of molecules, some of them don't have any H atom. I am
> wondering if there is a Smarts string to select these molecules using
> HasSubstructMatch function.
>
> For example,
> to select following molecules(no H atoms)
>
> N#C/C(C#N)=C(C(F)=C/1F)\C(F)=C(F)C1=C(C#N)\C#N
> FC1=C(F)C(C#N)=C(F)C(F)=C1C#N
> FC1=C(F)C(C#N)=C(F)C(OC(Br)(Br)Br)=C1C#N
>
> from
>
> N#C/C(C#N)=C(C(F)=C/1F)\C(F)=C(F)C1=C(C#N)\C#N
> N#C/C(C#C)=C(C=C/1F)\C(F)=C(F)C1=C(C#N)\C#N
> FC1=C(F)C(C#N)=C(F)C(OC(Br)(Br)C)=C1C#N
> CC1=C(F)C(C#N)=C(F)C(OC(Br)(Br)C)=C1C#N
>
>
> Or is there a better way to do it?
>
>
> Best regards,
>
>
> Xiaobo Li
>
>
>
> _______________________________________________
> Rdkit-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss