Hi Lara,
I have put together a gist that uses GetO3A() to align benzene to
naphthalene and I got the correct mappings, so I am not sure what went
wrong for you:
https://gist.github.com/ptosco/1dc3eeae87b5676b60c3a47ad60cea0a
To do the sort of alignments that you describe you could also
conveniently use the FindMCS() function, possibly with a lenient atom
comparison criterion (e.g., CompareAny), and then to obtain all
symmetry-equivalent permutations use the MCS query molecule with
Chem.Mol.GetSubstructMatches() setting the uniquify flag to False.
HTH,, cheers
p.
On 30/06/2020 18:33, Patel, Lara Anne via Rdkit-discuss wrote:
Dear Rdkit Community,
I am currently working on developing a drug discovery program that
needs to be able to align similar molecules onto one another. I have
beenusing rdkit to do this so far, but I have had trouble getting the
alignment to work well consistently across different molecules.
Ideally we want to identify the portions of the molecules that are
similar to one another and then align the molecules such that those
portions overlap. It also needs to allow for sampling of the possible
permutations in that alignment where there are symmetries that can be
taken advantage of. I'm wondering if this can be done with one or two
function in rdkit.
I have given three examples below of molecules that we want to be able
to align and how those alignments should work.
1.We want benzene and phenol to map the carbons in the ring but to
allow the placement of the OH group to be equally likely to go onto
each of the carbons. There should be a 1/6 probability that the OH
group could be on a given benzene carbon location.
c--c c--c H
/ -- \ / -- \ /
c | | c ----> c | | c--O
\ -- / \ -- /
c--c c--c
2. We wantbenzene and napthaleneto map ontoone another such that the
ring of the benzene overlaps with one of the napthalene rings and vice
versa.
c--c c--c
/ -- \ / -- \
c | | c ----> c | | c--c
\ -- / \ -- / -- \
c--c c--c | | c
\ -- /
c--c
3. We want to be able to have ring decorations map onto each other
when possible.
c--c c--c H
/ -- \ / -- \ /
c | | c--CH3 ----> c | | c--O
\ -- / \ -- /
c--c c--c
I should note that I have tried usingthe GetO3A function in rdkit to
align the molecules and it has given some really bizarre mappings for
napthalene to benzene mapping. I will give some examples of atoms that
were mapped to one another bellow. The mapped atoms are indicated with
an '@' sign.
@--@ c--@
/ -- \ / -- \
@ | | @ ----> c | | @--@
\ -- / \ -- / -- \
@--@ @--@ | | c
\ -- /
@--c
@--c @--@
/ -- \ / -- \
@ | | @ ----> c | | @--c
\ -- / \ -- / -- \
@--@ @--@ | | c
\ -- /
c--c
@--c @--@
/ -- \ / -- \
@ | | @ ----> @ | | c--c
\ -- / \ -- / -- \
@--@ @--@ | | c
\ -- /
@--c
I would really appreciate suggestions on how to handle these realignments.
Best Regards,
Lara
_______________________________________________
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