Greg,

Thanks.

Yingfeng

On Fri, Aug 28, 2015 at 6:13 AM, Greg Landrum <[email protected]>
wrote:

> Well, here's a way to find the rings where all of the bonds are conjugated:
>
> In [1]: from rdkit import Chem
>
> In [2]: m = Chem.MolFromSmiles('C1CC1CC(=O)c1nnc2cc(-c3ccc(OC)cc3)nn2c1CC')
>
> In [3]: ri = m.GetRingInfo()
>
> In [4]: brs = ri.BondRings()
>
> In [5]: conjugatedRings = []
>
> In [6]: for i,br in enumerate(brs):
>     conj=True
>     for b in br:
>         if not m.GetBondWithIdx(b).GetIsConjugated():
>             conj=False
>             break
>     if conj:
>         conjugatedRings.append(i)
>    ...:
>
>
> Then, using those indices, you can find the lists of atoms that are in
> each of those conjugated rings:
>
> In [7]: ars = ri.AtomRings()
> In [8]: conjugatedAtomRings = [ars[x] for x in conjugatedRings]
>
> In [9]: len(ars)
> Out[9]: 4
>
> In [10]: len(conjugatedAtomRings)
> Out[10]: 3
>
> In [11]: conjugatedAtomRings
> Out[11]: [(7, 8, 9, 21, 22, 6), (10, 9, 21, 20, 11), (13, 14, 15, 18, 19,
> 12)]
>
>
> From this point it's a matter of deciding how you want to count electrons
> from each atom. The approach used in the RDKit C++ code is described, more
> or less accurately, here:
> http://rdkit.org/docs/RDKit_Book.html#aromaticity
>
> -greg
>
>
> On Thu, Aug 27, 2015 at 5:36 PM, Yingfeng Wang <[email protected]> wrote:
>
>> Greg,
>>
>> Thanks. I believe identifying anti-aromatic bonds even just with simple
>> rings will be very helpful to my project. Could you please give me some
>> links or sample codes about identifying all the conjugated simple rings and
>> do an electron count? Would you also like to share me some relevant rules
>> you think could be reasonable?
>>
>> By the way, if there is a hard way to identify all anti-aromatic bonds,
>> could you also please give me some hints? If fortunately I can implement
>> it, I will share it by posting my code in this mailing list.
>>
>>
>> Thanks.
>>
>> Yingfeng
>>
>> On Thu, Aug 27, 2015 at 10:08 AM, Greg Landrum <[email protected]>
>> wrote:
>>
>>> Hi Yingfeng,
>>>
>>> Non-aromatic is not a problem, but there's no easy way I can think of
>>> off the top of my head for identifying anti-aromatic systems without making
>>> C++ code changes.
>>>
>>> If you were willing to limit yourself to simple rings, you could write
>>> some python code to identify all the conjugated simple rings and do an
>>> electron count according to whatever rules you think are relevant.
>>>
>>> -greg
>>>
>>>
>>> On Thu, Aug 27, 2015 at 1:52 PM, Yingfeng Wang <[email protected]>
>>> wrote:
>>>
>>>> Could anyone please share your experience with identifying non-aromatic
>>>> bonds using RDKit? I would greatly appreciate your help.
>>>>
>>>> Yingfeng
>>>>
>>>>
>>>> On Mon, Aug 24, 2015 at 9:42 PM, Yingfeng Wang <[email protected]>
>>>> wrote:
>>>>
>>>>> Sorry, my previous email has a typo.
>>>>>
>>>>> According to the following link,
>>>>>
>>>>> http://www.rdkit.org/docs/RDKit_Book.html
>>>>>
>>>>> I get sample code for identifying aromatic bonds like
>>>>>
>>>>> >>> from rdkit import Chem
>>>>> >>> m=Chem.MolFromSmiles('O=C1C=CC(=O)C2=C1OC=CO2')
>>>>> >>> m.GetBondBetweenAtoms(6,7).GetIsAromatic()
>>>>>
>>>>> Is there a way to identify anti-aromatic bonds using Rdkit?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Yingfeng
>>>>>
>>>>> On Mon, Aug 24, 2015 at 9:38 PM, Yingfeng Wang <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> According to the following link,
>>>>>>
>>>>>> http://www.rdkit.org/docs/RDKit_Book.html
>>>>>>
>>>>>> I get sample code for identifying identify anti-aromatic bonds like
>>>>>>
>>>>>> >>> from rdkit import Chem
>>>>>> >>> m=Chem.MolFromSmiles('O=C1C=CC(=O)C2=C1OC=CO2')
>>>>>> >>> m.GetBondBetweenAtoms(6,7).GetIsAromatic()
>>>>>>
>>>>>> Is there a way to identify anti-aromatic bonds using Rdkit?
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> Yingfeng
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> 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

Reply via email to