ó
œ™xTc           @   sš   d  d l  m Z d  d l m Z d  d l Z d  d l m Z d  d l m	 Z	 d  d l
 Z
 d „  Z d „  Z d „  Z e d	 k r– e d
 e
 j d ƒ n  d S(   iÿÿÿÿ(   t   division(   t!   conformation_dependent_restraintsN(   t   flex(   t   geometry_restraintsc          C   s  d }  t  j j d t j |  ƒ d d  ƒ } | j ƒ  j ƒ  } t j	 ƒ  } t j
 d d d d d g d	 d
 d d d# d d ƒ } | j | ƒ t j
 d d d d d g d	 d d d d$ d d ƒ } | j | ƒ t j
 d d d d d g d	 d
 d d d% d d ƒ } | j | ƒ t j
 d d d d d g d	 d d d d& d d ƒ } | j | ƒ t j ƒ  } t j d d d d g d	 d d d ƒ } | j | ƒ t j d d d d g d	 d d d ƒ } | j | ƒ t j d d d d g d	 d d d ƒ } | j | ƒ t j d d d d g d	 d d d ƒ } | j | ƒ t j d d d d g d	 d d d ƒ } | j | ƒ t j d d d d g d	 d d d ƒ } | j | ƒ t j d d d d g d	 d d d ƒ } | j | ƒ g  } t j d d d d d d  d d  d d d d  d  d d  d  d  d g d d  ƒ }	 | j |	 ƒ t j d d d d  d d  d d d d d d d  d d  d  d  d g d d  ƒ }	 | j |	 ƒ t j d d  d d  d d  d d d d  d d! d  d d  d  d  d  g d d  ƒ }	 | j |	 ƒ xF t d d ƒ D]5 }
 Hd" G|
 GHHx! | D] }	 |	 j | | | ƒ qúWqâWd  S('   NsR  ATOM      0  CA  GLY A   3       5.804  -2.100   7.324  1.00  1.36           C
ATOM      1  C   GLY A   3       4.651  -1.149   7.578  1.00  1.01           C
ATOM      2  O   GLY A   3       3.598  -1.553   8.071  1.00  1.38           O
ATOM      3  N   GLY A   3       6.706  -1.622   6.294  1.00  1.11           N
ATOM      4  CA  PHE A   4       3.819   1.134   7.419  1.00  0.89           C
ATOM      5  CB  PHE A   4       4.397   2.380   8.094  1.00  1.13           C
ATOM      6  C   PHE A   4       3.185   1.509   6.084  1.00  0.94           C
ATOM      7  N   PHE A   4       4.852   0.121   7.242  1.00  0.88           N
ATOM      8  O   PHE A   4       2.361   2.421   6.010  1.00  1.47           O
ATOM      9  CA  LEU A   5       3.055   1.059   3.693  1.00  0.87           C
ATOM     10  CB  LEU A   5       3.965   0.435   2.634  1.00  1.13           C
ATOM     11  C   LEU A   5       1.634   0.527   3.541  1.00  0.87           C
ATOM     12  N   LEU A   5       3.576   0.800   5.030  1.00  0.92           N
ATOM     13  O   LEU A   5       1.246  -0.440   4.196  1.00  1.23           O
t   linest   source_infot   i_seqsi   i    i   i   t   angle_idealg      d@t   weightg      >@i   t   periodicityi   i   g      N@g      4@i   i   i	   i   t   residue_namet   GLYt   next_residue_namet   PHEt   conformation_proxiest   i_phi_proxyt   i_psi_proxyt   i_dynamic_anglest   i_dynamic_dihedralst   LEUi   s   Starting cycleg      Œ@g      y@g      Œ@g      y@(   t   iotbxt   pdbt   inputR   t   split_linest   Nonet   atomst   extract_xyzR   t   shared_dihedral_proxyt   dihedral_proxyt   appendt   shared_angle_proxyt   angle_proxyR   t   ranget   update_restraints(   t	   pdbstringt   pdb_inpt
   sites_cartt   dihedral_proxiest   psit   phit   angle_proxiest   at   cfd_listt   cfdt   x(    (    si   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/monomer_library/tst_conformation_dependent_restraints.pyt   read_pdb
   sÆ    	
		
		
		
																							c      	   C   sš   d d l  m } | d |  d t ƒ } xn | D]f } | j } d Gt | j ƒ GHxB | j D]7 } | j d | j d | j j	 j
 d | j j j
 ƒ qW Wq, Wd  S(	   Niÿÿÿÿ(   t   runt   argst   return_all_processed_pdb_filess   update_restraints:R$   R%   R(   (   t(   mmtbx.monomer_library.pdb_interpretationR.   t   Truet   all_chain_proxiest   lent&   conformation_dependent_restraints_listR!   R$   t   geometry_proxy_registriest   dihedralt   proxiest   angle(   R/   R.   t   all_processed_pdb_filest   processed_pdb_filet   all_proxiesR,   (    (    si   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/monomer_library/tst_conformation_dependent_restraints.pyt   pdb_interpretation_run¸   s    	c         C   s/   t  j s d GHd  St ƒ  t d |  ƒ d GHd  S(   NsD   Skipping mmtbx.monomer_library.tst_conformation_dependent_restraintsR/   t   OK(   R   t   is_availableR-   R=   (   R/   (    (    si   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/monomer_library/tst_conformation_dependent_restraints.pyt   exerciseÄ   s    	t   __main__R/   i   (   t
   __future__R    t   mmtbx.monomer_libraryR   t	   iotbx.pdbR   t   cctbx.array_familyR   t   cctbxR   t   sysR-   R=   R@   t   __name__t   argv(    (    (    si   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/monomer_library/tst_conformation_dependent_restraints.pyt   <module>   s   	®		