Thanks,

I got confused by the function description found here: 
http://rdkit.org/docs/source/rdkit.Chem.rdmolops.html 
<http://rdkit.org/docs/source/rdkit.Chem.rdmolops.html>

In the description it says: 

rdkit.Chem.rdmolops.AssignStereochemistry((Mol)mol[, (bool)cleanIt=False[, 
(bool)force=False[, (bool)flagPossibleStereoCenters=False]]]) → None : 
<http://rdkit.org/docs/source/rdkit.Chem.rdmolops.html#rdkit.Chem.rdmolops.AssignStereochemistry>
Does the CIP stereochemistry assignment 
for the molecule’s atoms (R/S) and double bond (Z/E). Chiral atoms will have a 
property ‘_CIPCode’ indicating their chiral code.
ARGUMENTS:
mol: the molecule to use
cleanIt: (optional) if provided, atoms with a chiral specifier that aren’t 
actually chiral (e.g. atoms with duplicate substituents or only 2 substituents, 
etc.) will have their chiral code set to CHI_UNSPECIFIED. Bonds with 
STEREOCIS/STEREOTRANS specified that have duplicate substituents based upon the 
CIP atom ranks will be marked STEREONONE.
force: (optional) causes the calculation to be repeated, even if it has already 
been done
flagPossibleStereoCenters (optional) set the _ChiralityPossible property on 
atoms that are possible stereocenters
C++ signature :
void AssignStereochemistry(RDKit::ROMol {lvalue} [,bool=False [,bool=False 
[,bool=False]]])

Just to be on the safe side the above function does n ot do the CIP 
stereochemistry assignment?

Best,
Zoltan

On 27 Sep 2019, at 21:59, Dan Nealschneider <dan.nealschnei...@schrodinger.com> 
wrote:

RDKit stores absolute configuration around atoms using parity (which is based 
on atom index), not CIP codes. This has oodles of benefits, for instance you 
can represent absolute configuration of atoms in achiral structures like 
1,4-dimethylcyclohexane. So, yeah - AssignStereochemistry is intended to 
produce different results with different atom sequences.

If you need Cahn/Ingold/Prelog-style R or S for display, maybe try:
from rdkit import Chem
print(Chem.FindMolChiralCenters(mol))

https://github.com/rdkit/rdkit/blob/2d8bb6c1687a2fa78f66fc61966544e5f44f157c/rdkit/Chem/__init__.py#L80
 
<https://github.com/rdkit/rdkit/blob/2d8bb6c1687a2fa78f66fc61966544e5f44f157c/rdkit/Chem/__init__.py#L80>



dan nealschneider | senior developer
 <https://www.schrodinger.com/>

On Wed, Sep 25, 2019 at 2:35 PM Zoltan Takacs <zozo...@gmail.com 
<mailto:zozo...@gmail.com>> wrote:
Dear RDkitters,

I am playing around with the assignstereochemistry function and I am getting 
confused. If I change the numbering of the atoms but not their coordinates (for 
example switch to canonical numbering) I get a different answer. In fact it 
only seems to work right when I switch to canonical numbering with openbabel. 

What rules does the function follow? Is there any role played by the numbering 
of atoms? Do they have to be numbered in any special way for example the groups 
need to follow each other when assigning CIP priority?  

Thanks

_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net <mailto:Rdkit-discuss@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss 
<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

Reply via email to