Dear Greg,

> Dear Jongyoung,
>
> 2010/8/10 정종영 <[email protected]>:
>>>
>>> That code looks fine to me.
>>>
>>> To help debug this, can you please provide the CTAB from the SDfile
>>> and the RDKit output for a molecule where you see a difference?
>>>
>>> Thanks,
>>> -greg
>>>
>>>
>>
>> I attached a sd file that has coordinate problem.
>> It is from 1A30 pdb file and saved as sdf file.
>>
>> 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.

- Jongyoung 






------------------------------------------------------------------------------
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

Reply via email to