Distinguish between two types of Markush structures

User cf4264f752

16-05-2012 10:24:50

Hi all,

I need to distinguish between two types of Markush structures. First type is a molecule with undefined R-group on the defined position (see example in Octanoyl.svg) and second type is a molecule with undefined position of defined substituent (see example in Hydroxy-magnolin.svg). I can see that there's a way to decide between those two by analysing mol files as long as the second type has $RGP section in molfile and the first type doesn't (files Hydroxy-magnolin.mol and Octanoyl.mol). But I wonder if there is some JChem function to do it?


ChemAxon fb166edcbd

18-05-2012 14:40:01

We do not have a specific tool for this, but you can use molconvert to convert the molecule to SMILES format and see if it succeeds. Undefined R-atoms are represented by a star ('*') charactes in SMILES, while R-group definitions cannot be described in SMILES and therefore conversion produces an error message in this case.

With your example molecules:

molconvert smiles Octanoyl.mol 
  • )=O

    molconvert smiles Hydroxy-magnolin.mol
    Hydroxy-magnolin.mol: cannot convert molecule 1 to smiles:
    Some features of [#6]OC1=CC(=CC(O[#6])=C1O[#6])[C@H]1OCC2C1CO[C@@H]2C1=C(
  • )C(
  • )=C(O[#6])C(O[#6])=C1
  • cannot be converted to smiles. Use the cxsmiles, smarts or cxsmarts format.

If you want to use our JChem Java API, then you can import the molecule, check if it is an RgMolecule designed to store R-group definitions, and then list the R-group IDs with definitions. The attached example code RTest.java uses getRgroupId(int i) to get the R-group ID for R-group definition with index i. The number of R-group definitions is returned by getRgroupCount().

With your example molecules:

java RTest Octanoyl.mol 
Molecule does not contain R-group definitions.

java RTest Hydroxy-magnolin.mol
R1 is an R-group with definition.

User cf4264f752

24-05-2012 09:29:17


Thanks a lot! That helped.