Oops, I mean the conformational sounds tricky!
Otis
Otis Rothenberger
chemagic.com
On 8/8/2010 3:28 PM, Otis Rothenberger wrote:
Bob,
The constitutional part sounds tricky, but interesting. From a model
kit application perspective, I think incorporating the command in Jmol
is a good idea.
Your script suggestions broke configurational into enantiomeric and
diastereomeric. Will that be part of the command? If not, the return
from the suggested compare command can be used to fish these types out
as needed. I know the term geometric isomer is dated, but I like the
term. From the logic of your script breakdown, I don't see a way to
catch geometric isomers. If you have any ideas on this, I'd love to
hear them.
Otis
Otis Rothenberger
chemagic.com
On 8/8/2010 12:40 PM, Bob Hanson wrote:
Otis, I'm integrating this into Jmol today. Should be able to distinguish
constitutional, configurational, and conformational isomers.
Command will be:
X=compare({1.1},{2.1},"ISOMER")
Bob
On Aug 8, 2010, at 2:00 AM, Otis Rothenberger<[email protected]> wrote:
Bob,
I tacked your compare suggestions on to the end of our two model (same
frame) identity check. After a 1 second delay, your isomer type
comparison is displayed. In case users interested in this type of thing
missed your code in my previous verbose email chain re SMILES problems,
I'll post it in this separate note. All I can say is great and useful
toy. I've been playing with variations (2R,3R)-2-bromo-3-chlorobutane
and others way past bed time.
Otis
Bob Hanson Wrote:
The way I was thinking to categorize two models is this:
var m1 = {molecule=1} # or whatever
var m2 = {molecule=2} # or whatever
# check molecular formulas
var sameMF = (m1.find("MF") == m2.find("MF"))
# get SMILES string for molecule 1
var smiles = m1.find("SMILES")
var smiles_enantiomer =
sm.replace("@@","!@").replace("@","@@").replace("!@@","@")
var smiles_nostereo = smiles.replace("@","")
# note: we can't just compare SMILES strings like we can molecular formulas
# because SMILES strings here are not "cannonical" - but that is no
problem at all
# instead, we "find" the SMILES string for one model in the other. Using
"SMILES"
# here instead of "SMARTS" guarantees an exact search and not a
substructure search
var identical = sameMF&& (m2.find("SMILES",smiles)> 0)
var configurationalIsomers = sameMF&& !identical&&
(m2.find("SMILES",sm_nostereo)> 0)
var enantiomers = configurationalIsomers&&
(m2.find("SMILES",smiles_enantiomer)> 0)
var diastereomers = configurationalIsomers&& !enantiomers
var constitutionalIsomers = sameMF&& !identical&& !configurationalIsomers
--
Otis Rothenberger
chemagic.com
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users