Stereochemistry being lost in mrv format?

ChemAxon fa971619eb

29-07-2005 09:12:01

I'm seeing a problem with Marvin losing atom sterochemistry when I use the mrv format.





If I paste this structure into Marvin Sketch the stereochemistry appears:





<MDocument>


<MChemicalStruct>


<molecule molID="m1">


<atomArray


atomID="a1 a2 a3 a4 a5"


elementType="C C C Cl Br"


x2="-8.458240000000002 -8.458240000000002 -7.124693333333335 -9.791973333333335 -7.124693333333335"


y2="-4.025093333333333 -5.565093333333334 -6.335093333333335 -3.255093333333334 -3.255093333333334"


/>


<bondArray>


<bond atomRefs2="a1 a5" order="1">


<bondStereo>W</bondStereo>


</bond>


<bond atomRefs2="a1 a4" order="1" />


<bond atomRefs2="a1 a2" order="1" />


<bond atomRefs2="a2 a3" order="1" />


</bondArray>


</molecule>


</MChemicalStruct>


</MDocument>








but if I paste in this one (the only difference is the lack of atom coordinates) the stereochemistry is lost.





<MDocument>


<MChemicalStruct>


<molecule molID="m1">


<atomArray


atomID="a1 a2 a3 a4 a5"


elementType="C C C Cl Br"


/>


<bondArray>


<bond atomRefs2="a1 a5" order="1">


<bondStereo>W</bondStereo>


</bond>


<bond atomRefs2="a1 a4" order="1" />


<bond atomRefs2="a1 a2" order="1" />


<bond atomRefs2="a2 a3" order="1" />


</bondArray>


</molecule>


</MChemicalStruct>


</MDocument>








This is with Marvin 3.5.8


Any ideas?








Tim

ChemAxon 25dcd765a3

29-07-2005 14:06:28

Hi Tim,





I think this is quite correct.





In the first structure example you have defined the stereochemistry of the 1st atom using wedge notation and also the coordinates.





In the second example, however, you have just defined that you have a wedge connecting to the 1st atom, but as the coordinates are not known the 1st atom can be 'R' or 'S' configuration depending on the coordinates. (See attached pictures.)





In the new marvin (4.0) you will be able to define the parity of a given atom using the atomParity attribute, which will allow to store chiral molecules without coordinates in mrv format.





All the best


Andras

ChemAxon fa971619eb

30-07-2005 11:31:43

That makes certain sense, but I'm still somewhat confused.


What I'm actually doing is registering structures into a JChem table using UpdateHandler, and then getting the standardized molecule back using:


Molecule UpdateHanlder.getMolecule()


When I then ask for this molecule in smiles format I see the stereochemistry, but when I ask for it in mrv format I don't.








Code goes something like this:





Code:
String m = .... ; // some structure with a chiral centre


batchUpdateHandler.setValuesForFixColumns(m);


int cd_id = batchUpdateHandler.execute(true);


chemaxon.struc.Molecule camol = batchUpdateHandler.getMolecule();


System.out.println("MOL: cd_id=" + cd_id + ", SMILES: " + camol.toFormat("smiles:a-H") + "\n");


System.out.println(camol.toFormat("mrv:a-H") );









and the output I get looks like this:





MOL [a-H] cd_id=2, SMILES: CC[C@@H](Cl)Br





<?xml version="1.0"?>


<MDocument>


<MChemicalStruct>


<molecule molID="m1">


<atomArray


atomID="a1 a2 a3 a4 a5"


elementType="C C C Cl Br"


/>


<bondArray>


<bond atomRefs2="a1 a5" order="1">


<bondStereo>W</bondStereo>


</bond>


<bond atomRefs2="a1 a4" order="1" />


<bond atomRefs2="a1 a2" order="1" />


<bond atomRefs2="a2 a3" order="1" />


</bondArray>


</molecule>


</MChemicalStruct>


</MDocument>








Then when I paste the smiles version into MarvinSketch I see the wedge bond, but when I paste the mrv version I don't.





Does this make any sense?








Tim

ChemAxon 25dcd765a3

01-08-2005 13:41:29

Hi,





In the current version if you need 'mrv' format, the molecule is 0D and has parity info then you can't avoid cleaning to 2D. In the next Marvin version (4.0) the problem is solved, so you don't need to clean the molecule in this case.


The modified code:


Code:



chemaxon.struc.Molecule camol = batchUpdateHandler.getMolecule();


System.out.println("MOL: cd_id=" + cd_id + ", SMILES: " + camol.toFormat("smiles:a-H") + "\n");


camol.clean(2,null);


System.out.println(camol.toFormat("mrv:a-H") );








All the best


Andras

ChemAxon fa971619eb

02-08-2005 12:36:29

Thanks, that's fixed it!





Tim