2010/8/10 정종영 <[email protected]>: > 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 [email protected] https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

