User d032b79802
22-07-2013 09:22:57
JChem4Excel: 5.11.2.820
MarvinSketch: 5.11.2
Dear Sir,
I have a
problem with smiles codes from the same structures. The structures in the file
were differently generated with MarvinSketch. If I change the ortho fluoro atom
in the difluorophenyl substituent into the other ortho position the smiles code
is also changing.
With kind
regards,
Peter
Schneider
ChemAxon a3dda216df
22-07-2013 13:12:21
Hi Peter,
You can find a detailed description of different types of SMILES strings we are generating here:
http://www.chemaxon.com/marvin/help/formats/smiles-doc.html
In JChem for Excel we are generating the so called "generic SMILES", which takes into account only the order of the atoms in molecules, this way for your orto substituted derivatives it is possible that different SMILES strings will be generated.
Hope this helps, but let me know if you have further questions.
Regards,
Anna
User d032b79802
22-07-2013 19:06:38
Hi Anna,
how can I make a unique smiles. If I change the phenyl to an aromatized phenyl, then both smiles are the same!
Kind regards,
Peter
ChemAxon a3dda216df
23-07-2013 08:33:48
Hi Peter,
You can use a JChem for Excel function (JCMolFormat) to specify the type of SMILES to be generated, please check in the attached file. In "Generic SMILES" column you can find the ones generated with the default algorithm, in "Unique SMILES" column the ones, which have been generated with :u option. If you would need more information about JC4XL functions, you can find it here:
http://www.chemaxon.com/jchem4excel/userguide/jchemexcelfunctions.html
Regards,
Anna
User d032b79802
23-07-2013 18:09:17
Hallo Anna,
thank you for the helpful help and the demonstration file.
Is it also possible to use "smiles:u" also in a VBA environment? and how?
many thanks,
Peter
ChemAxon bd13b5bd77
23-07-2013 21:30:45
If you hit Alt(left)+F11 you will go to the VBA environment.
If you use Ctrl+G then the Immediate window is available for you.
Please type:
?Application.Evaluate("JCMolFormat(A2,""smiles:u"")") and then press Enter.
The expression will be evaluated. The result printed out there: Fc1ccc(OCC(=O)N2CCC(C2)c2ccccc2F)c(F)c1
Code:
if you add a module and type a new global function in this way:
Public Function Test(ByVal cCell As Range)
Test = Application.Evaluate("JCMolFormat(" & cCell.Address & ",""smiles:u"")")
End Function
And call it from immediate window:
?Test(ActiveCell)
Fc1ccc(OCC(=O)N2CCC(C2)c2ccccc2F)c(F)c1
I hope this helps,
Viktor
User d032b79802
24-07-2013 13:42:42
Dear Viktor, dear Anna,
your explanations and examples were of big help, thank you very much.
With kind regards,
Peter