Dear Greg, My own source code has some problems, not because of Conformer class.
I fixed it Thank you - Jongyoung > 2010/8/10 정종영 <lis...@yonsei.ac.kr>: >> Dear Greg, >> >>>> >>>> Would you check and compare coordinates of Conformer class and sdf >>>> file? >>> >>> The look the same to me: >>> >>> [36]>>> suppl = Chem.SDMolSupplier('test.sdf',True,False) >>> >>> [37]>>> m = suppl.next() >>> >>> [38]>>> conf = m.GetConformer() >>> >>> [39]>>> for i in range(m.GetNumAtoms()): print >>> list(conf.GetAtomPosition(i)) >>> ....: >>> [4.8410000000000002, 27.576000000000001, 5.3099999999999996] >>> [5.7329999999999997, 26.393999999999998, 5.165] >>> [7.1740000000000004, 26.771999999999998, 5.5039999999999996] >>> [7.6239999999999997, 27.887, 5.218] >>> [5.6379999999999999, 25.818000000000001, 3.75] >>> [5.827, 26.846, 2.6520000000000001] >>> [5.625, 26.274999999999999, 1.262] >>> [4.6630000000000003, 25.497, 1.0649999999999999] >>> [6.4249999999999998, 26.620000000000001, 0.36299999999999999] >>> .... >>> >>> When you use this file, what do you see? >>> >>> -greg >>> >>> >> >> I executed below source code.. >> >> ... >> >> SDMolSupplier ligandMolSup(fname, true, false); >> ROMol *ligand = ligandMolSup.next(); >> >> /////////////////////////////////////////////// >> /// This is extended modules to calculate in-house molecular >> properties >> /////////////////////////////////////////////// >> assignCSBAtomTypes(ligand); >> MolecularPropertiesCalculator molPropCalcator(ligand); >> molPropCalcator.calculateMPEOE(); >> molPropCalcator.calculateCDEAP(); >> //////////////////////////////////////////////////// >> >> int numOfAtom = ligand->getNumAtoms(); >> Conformer conf = ligand->getConformer(); >> Point3D atomPos; >> for (int i=0; i<numOfAtom; i++){ >> atomPos = conf.getAtomPos(i); >> std::cout << atomPos << std::endl; >> } >> >> >> <output> >> 1.2333 0.554 0.7792 >> -0.6952 -2.7148 -0.7502 >> 0.7958 -2.1843 0.8685 >> 1.7813 0.8105 -1.4821 >> -0.0857 0.6088 0.4403 >> -0.7927 -0.5515 0.1244 >> -0.7288 1.8464 0.4133 >> -2.1426 -0.4741 -0.2184 >> -2.0787 1.9238 0.0706 >> ... >> >> >> I guess that center of coordinate is translated to origin "(0.0, 0.0, >> 0.0)" >> in Conformer class. > > There is code in the RDKit to do this (specifically in > GraphMol/MolTransforms/MolTransforms.h), but that code is not used by > the SDMolSupplier. > > Could it be that your MolecularPropertiesCalculator modifies the > conformation? > > Best, > -greg > > > > > ------------------------------------------------------------------------------ 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 _______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss