Hi all,
I'd like to calculate the **rooted** Morgan fingerprint for a set of
molecules. By rooted I mean the subset of the whole-molecule fingerprint
which contains just the bits which correspond to circular atom layers (up to
N bond lengths) that include a specific atom.
So let's say that there is a single Uranium atom in each molecule. What I
want to calculate is the subset of the Morgan fingerprint (let's say with a
radius of 3) which contains the bits set on by layers including my U atom.
This should include not only the bits where U was the root of the layer, but
also the bits where U was in the layer of neighboring atoms, up to 3 bonds
away.
After checking the super-helpful "Getting Started with the RDKit in Python"
(Q2 2011) tutorial, section 5.4.1, I can see one way of doing this:
calculating the Morgan fp and then enumerating all the sub-molecules (or
layers) that set the corresponding bits on and then checking if U is in any
one of these submolecules. If it is then the corresponding bit is part of
the root Morgan fp.
Is there any other more efficient way???
Thanks in advance,
George Papadatos
On 28 September 2011 17:16, Sarah Langdon <[email protected]> wrote:
> Hi there,
>
> I've tried to write a function in Python to generate the Murcko
> Framework of a molecule, then remove a ring from the framework. I want
> to remove a ring based on the atom ID of the atoms of the ring, rather
> than as a substructure so that in the case of a molecule containing
> more than one of the same ring, only one ring remains. Therefore I
> have used RemoveAtoms to remove each ring atom one by one. My code is
> as follows.
>
> def removeRings(mol):
>
> frame = MurckoScaffold.GetScaffoldForMol(mol)
>
> getRings = frame.GetRingInfo()
> rings = getRings.AtomRings()
>
> splitFrames = [x for x in range(len(rings))]
>
> for x in range(len(rings)):
> editMol = Chem.EditableMol(frame)
>
> for atom in rings[x]:
> editMol.RemoveAtom(atom)
>
> splitFrames[x] = editMol.GetMol()
>
> for x in splitFrames:
> print Chem.MolToSmiles(x)
>
> However when I use this function I get the following error:
>
> Range Error
> idx
> Violation occurred on line 143 in file /usr/local/bin/src/
> RDKit_2011_03_2/Code/GraphMol/ROMol.cpp
> Failed Expression: 0 <= 22 <= 20
>
> I assume that this means that the atom I am trying to remove is not in
> the range of the atoms in the framework. I have checked the atom IDs
> for all atoms in the framework and all atoms in the rings and they are
> within the same range, so I do not understand why I am getting this
> error. Can anyone help please?
>
> Many thanks,
>
> Sarah Langdon
> PhD student
> Cancer Research UK Cancer Therapeutics Unit
> Institute of Cancer Research
> Haddow Laboratories
> 15 Cotswold Road
> Sutton
> Surrey SM2 5NG
>
> Tel: 0208 722 4139
> Email: [email protected]
>
>
> The Institute of Cancer Research: Royal Cancer Hospital, a charitable
> Company Limited by Guarantee, Registered in England under Company No. 534147
> with its Registered Office at 123 Old Brompton Road, London SW7 3RP.
>
> This e-mail message is confidential and for use by the addressee only. If
> the message is received by anyone other than the addressee, please return
> the message to the sender by replying to it and then delete the message from
> your computer and network.
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> Rdkit-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss