Otis,
Other information in the database includes: CAS RN, InChI, InChiKey, and
ChemSpider ID. I’m aware that the different sources for SMILES is a potential
issue, having already dealt with that. I’m also aware that compounds can have
more than one CAS number and more than one ChemSpider ID even though I learned
that CAS numbers were unique back when I was in college. An unfortunate
reality is that I don’t have all of the keys for every compound. Another
potential problem with the database is that I might not have removed all of the
situations where a single compound appeared more than once. There are other
things in the database (gifs, pdbs, jcamp spectra) for some compounds.
Jennifer
On Jul 19, 2016, at 4:22 PM, Otis Rothenberger
<osrot...@icloud.com<mailto:osrot...@icloud.com>> wrote:
Jennifer,
The default is that JSME keeps explicit hydrogens to carbon, and these will
show up in brackets. An option can be used to turn this off.
It sounds like you have a mix of SMILES that may have been created by options
variations in the JSME implementations being used. That's a problem.
One more question, and then I'll do some more thinking. What other items or
keys are in the database?
Otis
--
Otis Rothenberger
o...@chemagic.org<mailto:o...@chemagic.org>
http://chemagic.org<http://chemagic.org/>
On Jul 19, 2016, at 4:01 PM, Jennifer L. Muzyka
<jennifer.muz...@centre.edu<mailto:jennifer.muz...@centre.edu>> wrote:
Otis,
1200 of the compounds have SMILES that agree with the JSME version. Those were
generated by a buddy of mine. Then when I found some disagreed, I went through
them one by one to fix the ones that disagree.
The next 3800 came from some other source than JSME when one of my students
imported the compounds into the database. Most of those are not involved in
reactions so those compounds might not be relevant. I anticipate that I would
change them one by one if needed so that they agree with JSME. None of those
have SMILES that look like the stuff with brackets and H’s that JSME produces.
They tend to use the slashes to indicate double bond stereochemistry and @ to
indicate chirality at stereocenters. (People who are more proficient
programmers than I am could probably complete the task more rapidly by
automating it.)
Now I’m adding new reactions to accompany the question type where students draw
the starting material rather than the product, I’m adding new compounds one by
one. I’m getting the SMILES for each of those compounds from the JSME database.
Jennifer
On Jul 19, 2016, at 3:51 PM, Otis Rothenberger
<osrot...@icloud.com<mailto:osrot...@icloud.com>> wrote:
Jennifer,
On the student side, Jmol and JSME would be working together. This is no big
deal - very easy. The problem is server side.
Let me think about this. Some important points: Do your existing database
SMILES have stereo chemistry - i.e. / \ and @ notation where appropriate? Are
they all JSME SMILES? Is there a possibility that the database creators may
have drawn explicit hydrogens on carbon in non-stereo contect?
Otis
--
Otis Rothenberger
o...@chemagic.org<mailto:o...@chemagic.org>
http://chemagic.org<http://chemagic.org/>
On Jul 19, 2016, at 3:37 PM, Jennifer L. Muzyka
<jennifer.muz...@centre.edu<mailto:jennifer.muz...@centre.edu>> wrote:
Otis,
The SMILES database has about 5000 compounds in it. I’m confused about how
JSmol works here. Would there be a JSmol drawing interface rather than JSME?
I guess I need to go read the Jmol documentation about how to get the SMILES
stuff working. Is there some automated process to get the Jmol versions of the
SMILES to update the database?
Jennifer
On Jul 19, 2016, at 2:00 PM, Otis Rothenberger
<osrot...@icloud.com<mailto:osrot...@icloud.com>> wrote:
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<mailto:o...@chemagic.org>
http://chemagic.org<http://chemagic.org/>
On Jul 19, 2016, at 1:23 PM, Jennifer L. Muzyka
<jennifer.muz...@centre.edu<mailto: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
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
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
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/>
------------------------------------------------------------------------------
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