User 21b7e0228c
28-12-2005 17:25:48
Hi - recently wrote a molecular overlay program seeking for optimal superpositions of a candidate compound atop of a reference. I'm using for input 3D sdfiles generated with Clean3D according to Ödon's Conformers.java (posted on this forum) - e.g. I get an .sd file where the first n1 "molecules" are conformations of my first compiound (the reference), the next n2 are conformers of molecule#2, and so on... I therefore need to know, when reading my way through the multiple conformer file, where a molecule stops (e.g. all its conformers were read) and a new one begins. I therefore systematically compare the smiles (obtained from mol.toFormat("smiles")) of the current input Molecule object to the one of the previously processed Molecule. If they differ, means that the conformer set of a new compound has begun at the current Molecule, otherwise I just picked another geometry of the current compound.
Unfortunately, R1-N-R2 amines, when adding hydrogens, become "chiral" (at 0 K) - it's either R1-N@H-R2 or R1-N@@H-R2 and, since this is serious soft and does things well, Clean3D would (and certainly does) enumerate BOTH!! Which sometimes makes my code believe that a conformer set's DONE, if suddenly it reads R1-N@@H-R2 instead of the expected R1-N@H-R2!
Now, I might use toFormat("smiles:0") to ignore stereo - but then, if I have two TRUE enantiomers following each other, my code'll think that they are mere conformers of a same compound! "smiles-H" won't do anything.
Big box of Martzipan for the discoverer of a trick for quick recognition of two conformers of a same species (well, yes, damn the atropoisomers)!
Unfortunately, R1-N-R2 amines, when adding hydrogens, become "chiral" (at 0 K) - it's either R1-N@H-R2 or R1-N@@H-R2 and, since this is serious soft and does things well, Clean3D would (and certainly does) enumerate BOTH!! Which sometimes makes my code believe that a conformer set's DONE, if suddenly it reads R1-N@@H-R2 instead of the expected R1-N@H-R2!
Now, I might use toFormat("smiles:0") to ignore stereo - but then, if I have two TRUE enantiomers following each other, my code'll think that they are mere conformers of a same compound! "smiles-H" won't do anything.
Big box of Martzipan for the discoverer of a trick for quick recognition of two conformers of a same species (well, yes, damn the atropoisomers)!