osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

getting the center of mass of each part of a molecule


I have more than 100 ligand molecules. The image I showed at the beginning of this discussion was only an example. It had missing atoms. 
See it without missing any atom in the pdb format (coordinates in Angstrom unit):
ATOM      1  O1  LIG     1      46.050  50.290  26.860            
ATOM      2  O2  LIG     1      46.070  47.530  27.170          
ATOM      3  C1  LIG     1      47.630  49.260  23.730            
ATOM      4  C2  LIG     1      48.200  49.870  22.500            
ATOM      5  C3  LIG     1      47.090  50.070  24.730           
ATOM      6  C4  LIG     1      46.570  49.490  25.890           
ATOM      7  C5  LIG     1      47.650  47.870  23.890            
ATOM      8  C6  LIG     1      46.590  48.100  26.040             
ATOM      9  C7  LIG     1      47.120  47.290  25.050            
ATOM     10  C8  LIG     1      47.160  50.610  21.680            
ATOM     11  C9  LIG     1      46.450  51.660  26.860            
ATOM     12  C10 LIG     1      46.910  51.920  21.790            
ATOM     13  H1  LIG     1      48.640  49.150  21.820             
ATOM     14  H2  LIG     1      48.980  50.600  22.700           
ATOM     15  H3  LIG     1      47.080  51.150  24.610            
ATOM     16  H4  LIG     1      48.070  47.240  23.110            
ATOM     17  H5  LIG     1      47.140  46.210  25.170            
ATOM     18  H6  LIG     1      46.580  50.030  20.960            
ATOM     19  H7  LIG     1      45.570  52.300  26.810            
ATOM     20  H8  LIG     1      47.090  51.850  26.000            
ATOM     21  H9  LIG     1      47.000  51.860  27.780            
ATOM     22  H10 LIG     1      46.190  48.140  27.920            
ATOM     23  H11 LIG     1      46.220  52.400  21.250            
ATOM     24  H12 LIG     1      46.750  52.530  22.680 

The same ligand coordinate file in gro format (coordinates in nanometer unit) is here as well: 
    1LIG     O1    1   4.605   5.029   2.686
    1LIG     O2    2   4.607   4.753   2.717
    1LIG     C1    3   4.763   4.926   2.373
    1LIG     C2    4   4.820   4.987   2.250
    1LIG     C3    5   4.709   5.007   2.473
    1LIG     C4    6   4.657   4.949   2.589
    1LIG     C5    7   4.765   4.787   2.389
    1LIG     C6    8   4.659   4.810   2.604
    1LIG     C7    9   4.712   4.729   2.505
    1LIG     C8   10   4.716   5.061   2.168
    1LIG     C9   11   4.645   5.166   2.686
    1LIG    C10   12   4.691   5.192   2.179
    1LIG     H1   13   4.864   4.915   2.182
    1LIG     H2   14   4.898   5.060   2.270
    1LIG     H3   15   4.708   5.115   2.461
    1LIG     H4   16   4.807   4.724   2.311
    1LIG     H5   17   4.714   4.621   2.517
    1LIG     H6   18   4.658   5.003   2.096
    1LIG     H7   19   4.557   5.230   2.681
    1LIG     H8   20   4.709   5.185   2.600
    1LIG     H9   21   4.700   5.186   2.778
    1LIG    H10   22   4.619   4.814   2.792
    1LIG    H11   23   4.622   5.240   2.125
    1LIG    H12   24   4.675   5.253   2.268
I am doing molecular dynamics simulation of protein-ligand complex. The issue is to keep the ligand in the binding site of the protein during simulation when turned off the interactions (van der waals, coulomb...) between the ligand and protein. In that case, to keep the ligand in the bindind site I need to apply the translational and rotational restraints (distance, angle, dihedral restraints). The more detail is here http://pubs.acs.org/doi/abs/10.1021/jp0217839

My aim is to get the COM of the whole ligand (I already do it) and divide the ligand in two parts and find to the COM of each part. Then I will apply the distance, angle and dihedral restraints on the atoms of the ligand and protein.  
-The first distance restraints will be between one of the ligand heavy atom closest to the ligand COM (COM for whole ligand atoms) and one of the protein atoms closest to the ligand COM. 
-The second distance restraints  will be between one of the ligand heavy atom closest to the COM of the first part of ligand in two parts and one of the protein atoms closest to the COM of the first part of ligand in two parts. 
-And the third distance restraints  will be between one of the ligand heavy atom closest to the COM of the second part of ligand in two parts and one of the protein atoms closest to the COM of the second part of ligand in two parts.

That is, I will form 3 bonds between ligand and protein. Hope that makes clear what I am trying to do.

Please tell me on the python code what I need to do.

Thanks.