From: Christoph S. <c.s...@un...> - 2005-05-31 07:13:41
|
Uli, everyone else, that sounds like a very reasonable suggestion. Thanks for the helpful analysis and, even better, the suggested solution. Any votes (with explanation) against it? If not, I'll apply the change tomorrow (or earlier, if "pro"-votes come in today). Cheers, Chris Uli Fechner wrote: > Hi all, > > I experienced a limitation of CDK regarding the output of R groups with > MDLWriter. > > Description: > > In combinatorial chemistry individual R groups are differentiated by a > numerical index: R1, R2 etc. CDK internally represents all R groups as > PseudoAtoms (subclass of Atom). > > Now here comes the twist: All Pseudoatoms (R1, R2 etc) return a simple > "R" if atom.getSymbol() is called. The "real" R group label R1, R2 etc > can be queried with ((PseudoAtom) atom).getLabel(). > > The MDLWriter, however, queries in its method > public void writeMolecule(Molecule molecule, boolean[] isVisible) > the atom label with > molecule.getAtomAt(f).getSymbol() > > So, for R groups (or any other Pseudoatoms like Me) the output of the > MDLWriter is always a simple "R". I do not know the specification of the > MDL format, but I do know that all programs I worked with so far are > capable of dealing with something like R1 (ChemDraw, ISISDraw, cliff). > > Even though we *might* go against the specs loosing the information in > the write process is a real hassle. > > Proposed solution: > > Exchange > line += formatMDLString(molecule.getAtomAt(f).getSymbol(), 3); > with > if(molecule.getAtom(f) instanceof PseudoAtom) > line += formatMDLString(((PseudoAtom) > molecule.getAtomAt(f)).getLabel(), 3); > else > line += formatMDLString(molecule.getAtomAt(f).getSymbol(), 3); > > I would be very happy if one of the developers could apply this change :) -- Priv. Doz. Dr. Christoph Steinbeck (c.s...@un...) Head of the Research Group for Molecular Informatics Cologne University BioInformatics Center (http://www.cubic.uni-koeln.de) Zülpicher Str. 47, 50674 Cologne Tel: +49(0)221-470-7426 Fax: +49 (0) 221-470-7786 What is man but that lofty spirit - that sense of enterprise. ... Kirk, "I, Mudd," stardate 4513.3.. |