Hello,

I have a question regarding Chemical Features module on RDKit. I realized
that for molecule with SMILES representation "OC1CC1O" from QM9 dataset,
using the code

fdefName = os.path.join(RDConfig.RDDataDir,'BaseFeatures.fdef')
factory = ChemicalFeatures.BuildFeatureFactory(fdefName)
mol = Chem.MolFromSmiles('OC1CC1O')
feats = factory.GetFeaturesForMol(mol)

I get a feature vector with length four, 2 of which are Donor and 2 are
Acceptors. In other words, the output for

for i in range(0, len(feats)):
    if feats[i].GetFamily() == 'Donor':
        print('feat donor: ',i)
        print(feats[i].GetAtomIds())

    elif feats[i].GetFamily() == 'Acceptor':
        print('feat acptr: ',i)
        print(feats[i].GetAtomIds())

is
feat donor:  0
(0,)
feat donor:  1
(4,)
feat acptr:  2
(0,)
feat acptr:  3
(4,)
I was wondering if there is a difference between the two Donors and why I
have two separate donor features? Why it doesn't give a single donor
feature with nodes (0, 4) instead? Thanks you.

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

Reply via email to