[Rdkit-discuss] EmbedMultipleConfs & enforceChirality

2016-08-01 Thread Rob Smith
Hi RDKitters,

I've been playing around with the EmbedMultipleConfs function (in the
2016.03.3 version of RDKit), to generate conformers for some molecules, and
have come across something that may be a bug/typo.

When I've been using the enforceChirality tag - it appeared to do the
reverse of what I thought it would, ie setting this to True meant that any
existing chirality in the molecule was ignored (and was scrambled), setting
it to False meant the chirality was kept consistent with the originating
molecule.

Is this expected behaviour? (and hence am I reading the documentation wrong
at
http://www.rdkit.org/Python_Docs/rdkit.Chem.rdDistGeom-module.html#EmbedMultipleConfs
)

Thanks,

Rob
--
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Stereochemistry Perception

2016-05-27 Thread Rob Smith
Thank you very much Peter & Peter.

The result makes perfect sense now. As I suspected, I did miss something
obvious - the mirror plane.

Best regards,

Rob


On Fri, May 27, 2016 at 3:14 PM, Peter Gedeck <peter.ged...@gmail.com>
wrote:

> Hello Rob
>
> The compound is not chiral. There is a mirror plane that contains the
> 5-ring and the C-NH3 bond. There is a cis / trans stereoisomers here like
> in 1,4-dichloro-cyclohexane. That cannot be defined using the @symbols.
> However I cannot tell you how to do this for cases like this in SMILES.
>
> Best
>
> Peter
> On Fri, 27 May 2016 at 21:38, Rob Smith <robtsm...@gmail.com> wrote:
>
>> Hi all,
>>
>> I know there's been a lot of discussion about stereochemistry in RDKit,
>> and I don't really want to open the can of worms particularly, but I would
>> appreciate gaining a little more understanding to help explain an
>> observation I've had (and it could be I've missed something really obvious).
>>
>> If I run the following Python RDKit code:
>>
>> from rdkit.Chem import AllChem as Chem
>>
>> AllMolecules = Chem.MolFromSmiles('CC[C@@]1(NC)CC[C@H](N)CC1.N[C@
>> @H]1CC[C@]2(CC1)CCCN2.N[C@H]1CCC[C@@]2(C1)CCCN2.N[C@H]2[C@@]12CCCN1')
>> molecules = Chem.GetMolFrags(AllMolecules, asMols=True)
>> for eachMolecule in molecules:
>> print(Chem.MolToSmiles(eachMolecule, isomericSmiles=True))
>>
>> The output I get is:
>> CC[C@]1(NC)CC[C@@H](N)CC1
>> NC1CCC2(CCCN2)CC1
>> N[C@H]1CCC[C@]2(CCCN2)C1
>> N[C@H]1[C@]12CCCN2
>>
>> The second molecule appears to be perceived as having no steroechemistry,
>> however when a bond is broken in the pyrollidine to remove the spirocentre
>> (the first molecule), the molecule is perceived as having stereochemistry.
>> Also moving the pyrollidine spiro centre away from the 4 position of the
>> cyclohexyl ring appears to enable the stereocentre to be 'perceived'.
>>
>> Thanks in advance for your help,
>>
>> Kind regards,
>>
>> Rob
>>
>> --
>> What NetFlow Analyzer can do for you? Monitors network bandwidth and
>> traffic
>> patterns at an interface-level. Reveals which users, apps, and protocols
>> are
>> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
>> J-Flow, sFlow and other flows. Make informed decisions using capacity
>> planning reports.
>> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
>> ___
>> Rdkit-discuss mailing list
>> Rdkit-discuss@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


[Rdkit-discuss] Stereochemistry Perception

2016-05-27 Thread Rob Smith
Hi all,

I know there's been a lot of discussion about stereochemistry in RDKit, and
I don't really want to open the can of worms particularly, but I would
appreciate gaining a little more understanding to help explain an
observation I've had (and it could be I've missed something really obvious).

If I run the following Python RDKit code:

from rdkit.Chem import AllChem as Chem

AllMolecules = Chem.MolFromSmiles('CC[C@@]1(NC)CC[C@H](N)CC1.N[C@@H]1CC[C@
]2(CC1)CCCN2.N[C@H]1CCC[C@@]2(C1)CCCN2.N[C@H]2[C@@]12CCCN1')
molecules = Chem.GetMolFrags(AllMolecules, asMols=True)
for eachMolecule in molecules:
print(Chem.MolToSmiles(eachMolecule, isomericSmiles=True))

The output I get is:
CC[C@]1(NC)CC[C@@H](N)CC1
NC1CCC2(CCCN2)CC1
N[C@H]1CCC[C@]2(CCCN2)C1
N[C@H]1[C@]12CCCN2

The second molecule appears to be perceived as having no steroechemistry,
however when a bond is broken in the pyrollidine to remove the spirocentre
(the first molecule), the molecule is perceived as having stereochemistry.
Also moving the pyrollidine spiro centre away from the 4 position of the
cyclohexyl ring appears to enable the stereocentre to be 'perceived'.

Thanks in advance for your help,

Kind regards,

Rob
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


[Rdkit-discuss] Stereochemistry - Differences between RDKit Indigo

2015-08-19 Thread Rob Smith
Dear RDKit community,

I'm trying to use RDKit to read in Corina generated stereoisomers (from a
Mol file), assign chiral tags and stereochemistry to the structure and
output the canonical smiles string for each isomer of a given molecule (in
Python), when I do this, half the canonical smiles strings are not unique.

When I read in the output from Corina into an Indigo instance, then use the
canonical smiles from Indigo to create an RDKit molecule, canonical smiles
strings generated from the molecule objects are all unique.

I may be missing an option to enable RDKit to 'visualise' the chiral centre
adjacent to the protonated nitrogen, so if someone can spot where I've made
a mistake, I'd really appreciate it. I've included the output and Python
script below. If you require any further information, please let me know.

Many thanks,
Rob

Output:

RDKit Read in of Molecule
RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@H]2[C@H](C)C)CC1
RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@H]2[C@H](C)C)CC1

INDIGO Read in of Molecule
RDKit Output -  CC[N@]1CC[C@@H]([N@@H+]2CC[C@@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@H]([N@@H+]2CC[C@@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@@H]([N@H+]2CC[C@@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@H]([N@H+]2CC[C@@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@@H]([N@@H+]2CC[C@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@H]([N@@H+]2CC[C@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@@H]([N@H+]2CC[C@H]2C(C)C)CC1
RDKit Output -  CC[N@]1CC[C@H]([N@H+]2CC[C@H]2C(C)C)CC1

Python script :

from rdkit import Chem
import subprocess # Used to run Corina
from indigo import *

def runCorinaTest(inputMol):
indigo = Indigo()

molFile = Chem.MolToMolBlock(inputMol)

corinaCommand = echo \' + molFile + \' | 
# Then Corina - generate stereoisomers...
corinaCommand = corinaCommand + /apps/corina/corina -t n -d
canon,stergen,preserve,names,wh,flapn,msc=7,msi=128 -i t=sdf
corinaResult = subprocess.check_output([corinaCommand], shell=True) #
Gives the stereoisomer species as an SDF string

allMoleculeObjects = []
allMolecules = corinaResult.split(\n) # Separate Corina output
into individual molecules
allMolecules = allMolecules[0:len(allMolecules)-1]

print(RDKit Read in of Molecule)

for eachMolecule in allMolecules:
eachMolecule = eachMolecule + \n
mol = Chem.MolFromMolBlock(eachMolecule, sanitize=True,
removeHs=True, strictParsing=False)
Chem.rdmolops.AssignAtomChiralTagsFromStructure(mol,
replaceExistingTags=True)
Chem.rdmolops.AssignStereochemistry(mol)
print(RDKit Output -   + Chem.MolToSmiles(mol,
isomericSmiles=True))

print(INDIGO Read in of Molecule)
for eachMolecule in allMolecules:
eachMolecule = eachMolecule + \n
mol = indigo.loadMolecule(eachMolecule)
# print(Indigo Output -  + mol.canonicalSmiles())
# Use Indigo Canonical Smiles to create RDKit molecule
mol = Chem.MolFromSmiles(mol.canonicalSmiles())
if mol is not None:
print(RDKit Output -   + Chem.MolToSmiles(mol,
isomericSmiles=True))

return 0

mol = Chem.MolFromSmiles(CC(C)C1[NH+](C2CCN(CC)CC2)CC1)
z = runCorinaTest(mol)
--
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss