From the API documentation I see there are "Get" methods for accessing
the stereochemistry information of a molecule. Is there anyway to add
this information into a instrumented molecule? I am building
molecules from scratch, and am missing how to create wedge bonds,
etc... within Indigo.
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
On Aug 3, 8:37 pm, Corey Dow-Hygelund <godelsthe...@gmail.com> wrote:
> From the API documentation I see there are "Get" methods for accessing
> the stereochemistry information of a molecule. Is there anyway to add
> this information into a instrumented molecule? I am building
> molecules from scratch, and am missing how to create wedge bonds,
> etc... within Indigo.
Thank you for your helpful reply! I didn't get the Google Groups
response, which is curious, because I have received them in the past.
I will look into my email settings.
To answer your question concerning my "use case", I am parsing
ChemDraw CDX/CDXML files into IndigoObjects to generate MOL files,
canonical smiles strings, etc... These files contain stereochemistry
information at the bond level. I am not directly using the coordinate
information, because I am using the layout functionality of Indigo.
However, the stereochemistry information contained in the ChemDraw
files is useful for rendering purposes.
Therefore, for my purposes, only case one is necessary.
Thanks for your help!
Corey
On Aug 3, 2:32 pm, Mikhail Rybalkin <rybal...@ggasoftware.com> wrote:
> 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
> On Aug 3, 8:37 pm, Corey Dow-Hygelund <godelsthe...@gmail.com> wrote:
> > Hi,
> > From the API documentation I see there are "Get" methods for accessing
> > the stereochemistry information of a molecule. Is there anyway to add
> > this information into a instrumented molecule? I am building
> > molecules from scratch, and am missing how to create wedge bonds,
> > etc... within Indigo.
I have just uploaded an updated Indigo version 1.1-beta5. There is an
additional method to add a stereocenters by specifing stereopyramid.
Code snippet is here:
IndigoObject m = indigo.createMolecule();
IndigoObject a0 = m.addAtom("C");
IndigoObject a1 = m.addAtom("N");
IndigoObject a2 = m.addAtom("O");
IndigoObject a3 = m.addAtom("P");
This interface might be not the best, and I think we will improve this
interface to support both atoms andatom indices, and to do it better.
All advices and suggestions are welcome.
There is no method to get a stereopyramid yet. Such methods are
planned to be added into the next
version: get stereocenter pyramid; change stereocenter group, type;
add cis-trans bonds, and etc.
On the next week I will be on vacation, but in case you have questions
my colleagues will try to answer them.
With best regards,
Mikhail Rybalkin
On Aug 11, 10:19 pm, Corey Dow-Hygelund <godelsthe...@gmail.com>
wrote:
> Thank you for your helpful reply! I didn't get the Google Groups
> response, which is curious, because I have received them in the past.
> I will look into my email settings.
> To answer your question concerning my "use case", I am parsing
> ChemDraw CDX/CDXML files into IndigoObjects to generate MOL files,
> canonical smiles strings, etc... These files contain stereochemistry
> information at the bond level. I am not directly using the coordinate
> information, because I am using the layout functionality of Indigo.
> However, the stereochemistry information contained in the ChemDraw
> files is useful for rendering purposes.
> Therefore, for my purposes, only case one is necessary.
> Thanks for your help!
> Corey
> On Aug 3, 2:32 pm, Mikhail Rybalkin <rybal...@ggasoftware.com> wrote:
> > 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
> > On Aug 3, 8:37 pm, Corey Dow-Hygelund <godelsthe...@gmail.com> wrote:
> > > Hi,
> > > From the API documentation I see there are "Get" methods for accessing
> > > the stereochemistry information of a molecule. Is there anyway to add
> > > this information into a instrumented molecule? I am building
> > > molecules from scratch, and am missing how to create wedge bonds,
> > > etc... within Indigo.
> I have just uploaded an updated Indigo version 1.1-beta5. There is an
> additional method to add a stereocenters by specifing stereopyramid.
> Code snippet is here:
> IndigoObject m = indigo.createMolecule();
> IndigoObject a0 = m.addAtom("C");
> IndigoObject a1 = m.addAtom("N");
> IndigoObject a2 = m.addAtom("O");
> IndigoObject a3 = m.addAtom("P");
> This interface might be not the best, and I think we will improve this
> interface to support both atoms andatom indices, and to do it better.
> All advices and suggestions are welcome.
> There is no method to get a stereopyramid yet. Such methods are
> planned to be added into the next
> version: get stereocenter pyramid; change stereocenter group, type;
> add cis-trans bonds, and etc.
> On the next week I will be on vacation, but in case you have questions
> my colleagues will try to answer them.
> With best regards,
> Mikhail Rybalkin
> On Aug 11, 10:19 pm, Corey Dow-Hygelund <godelsthe...@gmail.com>
> wrote:
> > Hi Mikhail,
> > Thank you for your helpful reply! I didn't get the Google Groups
> > response, which is curious, because I have received them in the past.
> > I will look into my email settings.
> > To answer your question concerning my "use case", I am parsing
> > ChemDraw CDX/CDXML files into IndigoObjects to generate MOL files,
> > canonical smiles strings, etc... These files contain stereochemistry
> > information at the bond level. I am not directly using the coordinate
> > information, because I am using the layout functionality of Indigo.
> > However, the stereochemistry information contained in the ChemDraw
> > files is useful for rendering purposes.
> > Therefore, for my purposes, only case one is necessary.
> > Thanks for your help!
> > Corey
> > On Aug 3, 2:32 pm, Mikhail Rybalkin <rybal...@ggasoftware.com> wrote:
> > > 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
> > > On Aug 3, 8:37 pm, Corey Dow-Hygelund <godelsthe...@gmail.com> wrote:
> > > > Hi,
> > > > From the API documentation I see there are "Get" methods for accessing
> > > > the stereochemistry information of a molecule. Is there anyway to add
> > > > this information into a instrumented molecule? I am building
> > > > molecules from scratch, and am missing how to create wedge bonds,
> > > > etc... within Indigo.