Extraneous Parity Markers Added to Molecule in "Clean in 3D"

User 8c948fd5ba

06-05-2013 20:45:22

I'm attempting to draw a primary alcohol, which has no parity/chirality/etc.  When I draw the molecule myself and pass it through molConverter (see Screenshot1 for the molecule), I get the following string: [H][#8]C([H])([H])C([H])([H])C([H])([H])[H]


This string results from the following xml:




<?xml version="1.0" encoding="UTF-8"?><cml version="ChemAxon file format v5.10.0, generated by v5.12.1"><MDocument><MChemicalStruct><molecule molID="m1"><atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12" elementType="C C C O H H H H H H H H" x2="-2.219411849975586 -0.18117646872997284 -2.717647075653076 -1.5852941274642944 -4.30294132232666 -3.3064706325531006 -1.358823537826538 1.313529372215271 1.5852941274642944 -4.574706077575684 -4.438823699951172 -0.8605882525444031" y2="-2.8082354068756104 -0.99647057056427 1.358823537826538 3.6235294342041016 -3.034705877304077 -4.076470375061035 -4.212352752685547 -1.99294114112854 -0.498235285282135 1.5852941274642944 0.4076470732688904 5.163529396057129"></atomArray><bondArray><bond atomRefs2="a5 a1" order="1"></bond><bond atomRefs2="a1 a6" order="1"></bond><bond atomRefs2="a7 a1" order="1"></bond><bond atomRefs2="a1 a2" order="1"></bond><bond atomRefs2="a2 a8" order="1"></bond><bond atomRefs2="a9 a2" order="1"></bond><bond atomRefs2="a2 a3" order="1"></bond><bond atomRefs2="a3 a11" order="1"></bond><bond atomRefs2="a10 a3" order="1"></bond><bond atomRefs2="a3 a4" order="1"></bond><bond atomRefs2="a4 a12" order="1"></bond></bondArray></molecule></MChemicalStruct></MDocument></cml>




 


However, if I press the "Clean in 3D" button and then pass the molecule through molConverter (see Screenshot2 for the cleaned molecule), I get one of two different strings: [H][#8][C@]([H])([H])[C@]([H])([H])C([H])([H])[H] OR [H][#8][C@]([H])([H])[C@@]([H])([H])C([H])([H])[H]


These strings result from the following xml: 



<?xml version="1.0" encoding="UTF-8"?><cml version="ChemAxon file format v5.10.0, generated by v5.12.1"> <MDocument><MChemicalStruct><molecule molID="m1"><atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12" elementType="C C C O H H H H H H H H" x3="0.975091947031839 0.6648303290127311 1.805565560252321 1.484005425553194 2.2583586995909872 1.8836930766995577 0.1473458694603294 1.11722970008557 -0.25844338903044184 0.5043835161803841 1.9644344155865112 2.7321807244877334" y3="-0.8932905265409933 0.4651097056687462 0.9342189372842387 2.1848342489382726 2.3946639436729793 -0.820672330878338 -1.1908209135657464 -1.6654689467930528 0.37498938000649434 1.2157778255242615 0.20639156389417948 1.0526022873829437" z3="-0.3713234300409698 0.294851395043763 1.2252693193257487 1.8184273025020974 2.382826506261905 -0.9756682749698912 -1.0199404353264814 0.38999086134006977 0.8746346342730861 -0.48454505723429464 2.025349649932296 0.657404664004483"></atomArray><bondArray><bond atomRefs2="a6 a1" order="1"></bond><bond atomRefs2="a1 a7" order="1"></bond><bond atomRefs2="a8 a1" order="1"></bond><bond atomRefs2="a1 a2" order="1"></bond><bond atomRefs2="a2 a9" order="1"></bond><bond atomRefs2="a10 a2" order="1"></bond><bond atomRefs2="a2 a3" order="1"></bond><bond atomRefs2="a3 a11" order="1"></bond><bond atomRefs2="a12 a3" order="1"></bond><bond atomRefs2="a3 a4" order="1"></bond><bond atomRefs2="a4 a5" order="1"></bond></bondArray></molecule></MChemicalStruct></MDocument></cml>



As far as I can tell, these strings differ based on the orientation the molecule takes on after using Clean in 3D.


 


Now I'm not a master of chemistry by any stretch of the imagination, but it is my understanding that there is no parity/chirality present in these molecules - which is what the @ sign represents. Is there another reason why these @s are being added into the output of molConverter?


 


For reference, I'm passing the following arguments to molConverter: ":+s,+e,+l,+L,+R,-w,-d,-f,-p,-m,-N,-D"


I know already that the e adds the relative chirality flag, which I have seen returned on other molecules as |r|, but removing it from the list of flags does not solve this issue.


 


Happy to provide any other necessary details, just let me know.

ChemAxon d26931946c

08-05-2013 09:57:40

Hi Cliff,


We store the local parity information from the 3D strucure because the smarts (+s option) represents a query structure and in case of substructure search the local parity of a non-chiral molecule can be important in a chiral target molecule. 


If you use smiles (remove the +s option) the parity won't be stored.


BRs,


Peter

User 8c948fd5ba

08-05-2013 13:40:28

Hey,


 


With the modified smarts string (":-s,+e,+l,+L,+R,-w,-d,-f,-p,-m,-N,-D"), I still get the following from the clean in 3D option


[H][O][C@]([H])([H])[C@@]([H])([H])C([H])([H])[H]


with the following xml



<?xml version="1.0" encoding="UTF-8"?><cml version="ChemAxon file format v5.10.0, generated by v5.12.1"><MDocument><MChemicalStruct><molecule molID="m1"><atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12" elementType="C C C O H H H H H H H H" x3="0.975091947031839 0.6648303290127311 1.805565560252321 1.484005425553194 1.8836930766995577 0.1473458694603294 1.11722970008557 -0.25844338903044184 0.5043835161803841 1.9644344155865112 2.7321807244877334 2.2583586995909872" y3="-0.8932905265409933 0.4651097056687462 0.9342189372842387 2.1848342489382726 -0.820672330878338 -1.1908209135657464 -1.6654689467930528 0.37498938000649434 1.2157778255242615 0.20639156389417948 1.0526022873829437 2.3946639436729793" z3="-0.3713234300409698 0.294851395043763 1.2252693193257487 1.8184273025020974 -0.9756682749698912 -1.0199404353264814 0.38999086134006977 0.8746346342730861 -0.48454505723429464 2.025349649932296 0.657404664004483 2.382826506261905"></atomArray><bondArray><bond atomRefs2="a5 a1" order="1"></bond><bond atomRefs2="a1 a6" order="1"></bond><bond atomRefs2="a7 a1" order="1"></bond><bond atomRefs2="a1 a2" order="1"></bond><bond atomRefs2="a2 a8" order="1"></bond><bond atomRefs2="a9 a2" order="1"></bond><bond atomRefs2="a2 a3" order="1"></bond><bond atomRefs2="a3 a10" order="1"></bond><bond atomRefs2="a11 a3" order="1"></bond><bond atomRefs2="a3 a4" order="1"></bond><bond atomRefs2="a4 a12" order="1"></bond></bondArray></molecule></MChemicalStruct></MDocument></cml>



 


I'm not sure what the s option is by default, but even leaving it out of the string entirely results in the same thing.


 


Maybe its useful to note that I do get a flag at the end of the string related to the @ signs; in this instance it was |@@:2,5|, which is confused to me as only one of those locations actually has a @@.

ChemAxon d26931946c

09-05-2013 07:26:17

Yes, this seems a bit strange.


Pcseh@pcseh-t530 ~/work/java/temp/marvin-and-jchem/marvin/scripts
$ ./molconvert smiles:-s,+e,+l,+L,+R,-w,-d,-f,-p,-m,-N,-D -3 -s "[H][#8]C([H])([H])C([H])([H])C([H])([H])[H]"
[H][#8][C@@]([H])([H])[C@@]([H])([H])C([H])([H])[H]

Pcseh@pcseh-t530 ~/work/java/temp/marvin-and-jchem/marvin/scripts
$ ./molconvert smiles:+e,+l,+L,+R,-w,-d,-f,-p,-m,-N,-D -3 -s "[H][#8]C([H])([H])C([H])([H])C([H])([H])[H]"
[H]OC([H])([H])C([H])([H])C([H])([H])[H]
 

If I don't write the "s" option the parity disappears.


We will investigate the reason and get back to you soon.


BR,


Peter

ChemAxon d26931946c

09-05-2013 07:34:36

I've read the smiles and cxsmiles documentation and found this:


http://www.chemaxon.com/marvin/help/formats/smiles-doc.html#options


http://www.chemaxon.com/marvin/help/formats/cxsmiles-doc.html#options


 


"s" is a SMILES export option, not a CXSMILES option. The +- marks have effect only on CXSMILES export options, SMILES option can be turned off by leaving it off the string. 


BRs,


Peter