Hello Corey,
Unfortunately, such functions are not implemented yet, but I think it
can be added in a short time.
But there are some difficulties with setting stereochemistry might
appear. Stereocenters are independent of coordinate representation,
and it is stored as right handed stereopyramid. You can load molecules
from SMILES without coordinates, but SMILES notation defines
stereocenters and cis-trans bonds.
I see here 3 cases that should be taken into account during
implementation:
1. If molecules doesn't have coordinates then to add a stereocenter
you need to specify atoms in a right handed stereopyramid. After that
layout() function will compute coordinates and stereobonds will be
marked as 'up' or 'down'.
2. If molecule has 2D coordinates, then you can mark bonds as 'up',
'down', 'either'. Then after defining all bond marks you can call
buildStereo (not implemented) function to construct actual
stereocenters (right handed stereopyramids). It would also be possible
to define right handed stereopyramid and after that call markBonds()
method to get actual 'up', 'down', or 'either' on some bonds.
3. If molecule has 3D coordinates, then the only one possibility would
be to call buildStereo method to build stereoinformation from 3D
coordinates. 'up'/'down' marks are not relevant in this case.
This is what can be implemented in a short time, because internally
such functionality already exists, but there is no API for it. I would
be great if you explain your scenario: do you have 2D coordinates? Is
presented approach with 3 cases acceptable? Or maybe you can suggest
better approach to set stereocenters?
With best regards,
Mikhail Rybalkin