Jennifer,

For the most part,  there is no cross application canonical SMILES. Daylight 
never released the technical details to their reduction to canonical algorithm. 
Consequently, uniqueness exists only within a given “copycat” application. I 
believe PubChem uses Open Eye SMILES. If you were comparing Open Eye unique 
SMILES to Open Eye unique SMILE, you could do a simple string comparison.

JSME is top notch in my opinion. I would not use any other online drawing 
software, but with JSME, you cannot have canonical (unique) SMILES AND 
stereochemistry. If you want simple string comparison, both SMILES (sever and 
student drawn) will have to be JSME without E/Z and stereo chemistry. I’m 
almost certain that this has not changed since the "old doc" in the previous 
email. I think this means that you are going to have to use these explicit 
options in server and client JSME SMILE creation: noquery (this is default), 
noautoez, canonize (this is default), nostereo. I’d list all explicitly.

This probably not what you actually want, and that’s the absolute beauty of 
what Bob created in JSmol! With Bob’s approach, the cross application unique 
SMILES barriers do not matter. Bob took the expression “unique SMILES” and made 
it obsolete!

To do this (include stereochemistry via Bob’s approach) you will also have to 
make some options selections in JSME, but you will also be able to use E/Z and 
stereochemistry.

How large is your SMILES database?

--
Otis Rothenberger
o...@chemagic.org
http://chemagic.org

> On Jul 19, 2016, at 1:23 PM, Jennifer L. Muzyka <jennifer.muz...@centre.edu> 
> wrote:
> 
> Otis,
> The SMILES goes back to the MySQL database for comparison rather than just 
> running JavaScript within the browser.  The stuff in the database was all 
> generated with JSME.  (So I’m confused about how adding Jmol to the mix will 
> help.)  The “canonical” SMILES generated by JSME sure doesn’t look like the 
> canonical SMILES provided in PubChem.  But maybe I’m actually getting SMARTS? 
>  I will go read the documentation you have pointed out.  
> Jennifer
> 
> 
> 
> 
> 
> 
> Jennifer Muzyka
> H.W. Stodghill Jr. and Adele H. Stodghill Professor of Chemistry
> Centre College
> 600 West Walnut Street
> Danville, KY  40422
> 
> jennifer.muz...@centre.edu <mailto:jennifer.muz...@centre.edu>
> http://web.centre.edu/muzyka <http://web.centre.edu/muzyka>
> http://organicers.org <http://organicers.org/>
> 
> 859-238-5413
> fax 859-236-7925
> 
> 
> 
> 
> 
> 
>> On Jul 18, 2016, at 10:56 PM, Otis Rothenberger <osrot...@icloud.com 
>> <mailto:osrot...@icloud.com>> wrote:
>> 
>> Jennifer,
>> 
>> I knew this statement was out there. It took me a while to find the Web doc:
>> 
>> "public String JME.smiles()
>> 
>> returns a SMILES string of the current molecule(s) or reaction. For single 
>> molecule without stereochemistry the SMILES is unique, unification is not 
>> yet implemented for molecules with stereochemistry and for reactions.”
>> http://www.molinspiration.com/jme/doc/jme_functions.html 
>> <http://www.molinspiration.com/jme/doc/jme_functions.html>
>> 
>> It’s an old doc, but I’m sure it still applies.
>> 
>> Since canonize is the default in JSME, you’re going to have to select 
>> nocanonize!
>> 
>> Also, your current option setting sets the “query” option. That sets up 
>> SMARTS mode. I don’t think that is what you want?
>> 
>> Although it’s commented out in your current HTML, it looks like you are set 
>> of for a simple string comparison. That’s not going to work. This is where 
>> Bob’s JSmol .find approach comes into play - my previous email.
>> 
>> I’ve been using a Jmol/JSME SMILES comparison for quite a while, so don’t 
>> hesitate to ask if you need more specific information.
>> 
>> Otis
>> 
>> --
>> Otis Rothenberger
>> o...@chemagic.org <mailto:o...@chemagic.org>
>> http://chemagic.org <http://chemagic.org/>
>>> On Jul 18, 2016, at 4:22 PM, Otis Rothenberger <osrot...@icloud.com 
>>> <mailto:osrot...@icloud.com>> wrote:
>>> 
>>> Jennifer,
>>> 
>>> You have to set SMILES settings in the JSME options part of your JSME 
>>> set-up to invoke stereochemistry and E/Z. This page explains all of the 
>>> options and the set up procedure:
>>> 
>>> http://peter-ertl.com/jsme/JSME_2015-06-14/doc.html 
>>> <http://peter-ertl.com/jsme/JSME_2015-06-14/doc.html>
>>> 
>>> BUT, BUT,  it looks like you are doing SMILES comparisons, and with 
>>> stereochemistry and E/Z invoked, I’m pretty sure JSME SMILES are not 
>>> unique. The best way to compare SMILES is with JSmol. In the case of your 
>>> page, you could hide JSmol on the page. Comparison can be done in 
>>> JavaScript:
>>> 
>>> function compSmiles(key, ans) {
>>> key = key.replace(/\\/g, '\\\\');
>>> ans = ans.replace(/\\/g, '\\\\');
>>> return Jmol.evaluateVar(jmolApplet0. "'" + key + "'.find('SMILES','" + ans 
>>> + "') > 0");
>>> }
>>> 
>>> My quotes above are hard to read, so here’s the function with spaces to 
>>> emphasis the quotes:
>>> 
>>> function compSmiles(key, ans) {
>>> key = key.replace(/\\/g, ' \\\\ ');
>>> ans = ans.replace(/\\/g, ' \\\\ ');
>>> return Jmol.evaluateVar(jmolApplet0. " ' " + key + " '.find('SMILES',' " + 
>>> ans + " ') > 0");
>>> }
>>> 
>>> The replace statements above are needed to place the SMILES \ notation into 
>>> a JavaScript string - i.e. correct the fact that \ in a character escape in 
>>> JavaScript.
>>> 
>>> Otis
>>> --
>>> Otis Rothenberger
>>> o...@chemagic.org <mailto:o...@chemagic.org>
>>> http://chemagic.org <http://chemagic.org/>
>>>> On Jul 18, 2016, at 3:39 PM, Jennifer L. Muzyka 
>>>> <jennifer.muz...@centre.edu <mailto:jennifer.muz...@centre.edu>> wrote:
>>>> 
>>>> I’m not sure if this listserv is the proper place for me to ask this 
>>>> question, but I’m not sure where else to ask.  I’m using the JSME embedded 
>>>> within Jmol/JSmol to let students practice reaction questions where they 
>>>> can draw products.  The ability to draw starting materials is currently in 
>>>> development.  My problem is that JSME generates some quirky SMILES 
>>>> strings.  Cis and trans-3-hexene both generate [H]C(CC)=C([H])CC, so it’s 
>>>> not possible to distinguish the stereoisomers.  If I don’t draw in the 
>>>> stereochemistry explicitly, I get the canonical SMILES.  (If you’d like to 
>>>> see the page in development, feel free to check it out 
>>>> athttp://chemserv.centre.edu/muzyka/reactionzoo/jsmol/jsme/JSMEreaction17.php
>>>>  
>>>> <http://chemserv.centre.edu/muzyka/reactionzoo/jsmol/jsme/JSMEreaction17.php>)
>>>> 
>>>> The documentation for JSME says it generates canonical SMILES, but I 
>>>> haven’t seen any other SMILES that use the brackets with the H atoms.  
>>>> 
>>>> If you guys can point me to an alternate location to ask this question, 
>>>> I’d appreciate it.
>>>> Thanks
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>> 
>> ------------------------------------------------------------------------------
>> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
>> patterns at an interface-level. Reveals which users, apps, and protocols are 
>> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
>> J-Flow, sFlow and other flows. Make informed decisions using capacity 
>> planning
>> reports.http://sdm.link/zohodev2dev_______________________________________________
>>  <http://sdm.link/zohodev2dev_______________________________________________>
>> Jmol-users mailing list
>> Jmol-users@lists.sourceforge.net <mailto:Jmol-users@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/jmol-users
> 
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are 
> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
> J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> reports.http://sdm.link/zohodev2dev_______________________________________________
> Jmol-users mailing list
> Jmol-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jmol-users

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to