ó
Ñ™xTc           @   s*  d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l Z	 d  d l
 Z	 d  d l Z d  d l m Z d  d l Z d  d l Z d  d l
 Z	 d  d l Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l Z	 d Z d d d	 „ Z e d
 k r&e j ƒ  Z e ƒ  d e j ƒ  e GHn  d S(   iÿÿÿÿ(   t   divisionN(   t   flex(   t   monomer_library(   t   adp_restraintss÷  CRYST1   14.914   14.930   14.600  90.00  90.00  90.00 P 1
ATOM     17  N   TYR A  20       5.877   9.930   9.600  1.00 23.81           N
ATOM     18  CA  TYR A  20       6.364   9.061   8.536  1.00 35.69           C
ATOM     19  C   TYR A  20       5.278   8.091   8.080  1.00 28.94           C
ATOM     20  O   TYR A  20       5.000   7.100   8.756  1.00 25.26           O
ATOM     21  CB  TYR A  20       7.603   8.290   8.999  1.00 33.37           C
ATOM     22  CG  TYR A  20       8.217   7.412   7.931  1.00 31.48           C
ATOM     23  CD1 TYR A  20       9.080   7.943   6.981  1.00 36.91           C
ATOM     24  CD2 TYR A  20       7.940   6.052   7.877  1.00 21.36           C
ATOM     25  CE1 TYR A  20       9.646   7.145   6.004  1.00 36.56           C
ATOM     26  CE2 TYR A  20       8.501   5.247   6.904  1.00 29.56           C
ATOM     27  CZ  TYR A  20       9.353   5.798   5.970  1.00 35.08           C
ATOM     28  OH  TYR A  20       9.914   5.000   5.000  1.00 38.73           O
TER
END
g       @gš™™™™™¹?c         C   s§  t  j j d t  j j ƒ  d t  j j ƒ  d t j t j ƒ  ƒ d t	 d t	 d d  ƒ } | j j } t j ƒ  } t j ƒ  } xX | j ƒ  j ƒ  D]D } | j j ƒ  j ƒ  d4 k r‹ | j | j ƒ | j | j ƒ q‹ q‹ W| j d	 d
 ƒ | j ƒ  } | j d |  ƒ j ƒ  } | j d | ƒ }	 |	 j ƒ  |	 j ƒ  }
 | j d d ƒ } | j ƒ  } | j  d	 d ƒ t! j" j# d d d d d d ƒ } | j$ ƒ  } | j% d | j& ƒ  j' ƒ  d d d d g ƒ | j( | ƒ | j d	 d ƒ t) j* j+ ƒ  } t, j* j+ j+ d | ƒ } | j- j. j/ d | d | d d  ƒ | j ƒ  } | j ƒ  j0 | j1 ƒ  ƒ t! j2 j3 d! d" ƒ } t, j* j4 j4 d# t	 ƒ } t) j5 j6 d$ | d% | ƒ } | j7 d | j ƒ  j8 ƒ  ƒ x˜ d d g D]Š } t) j9 j: j" j; d& | d' |
 d( | d) d d* |  | d+ | d, | j< ƒ  d- | d. | ƒ 	} | j= | j> ƒ } | j( | ƒ | j d	 d/ ƒ q±W| j? d0 | ƒ } | d1 k  sit@ | ƒ ‚ | jA d0 | ƒ } | d2 k  s“t@ | ƒ ‚ | j  d	 d3 ƒ d  S(5   Nt   mon_lib_srvt   ener_libt   raw_recordst   strict_conflict_handlingt   force_symmetryt   logt   Nt   Ct	   file_names
   answer.pdbt   d_mint   resolution_factort   column_root_labelt   FCmaps
   answer.mtzt   phii   t   psii   t   thei(   t   rott   transi   i   i   s   poor.pdbt   generic_restraints_managert
   sites_cartt	   selectiont   sigmag      ð?t   max_iterationsiú   t   generic_restraintst   pdb_hierarchyt   xray_structuret   residuet   density_mapt   geometry_restraints_managert   real_space_target_weightt   real_space_gradients_deltat   lbfgs_termination_paramst	   unit_cellt   cctbx_geometry_restraints_flagst   states_collectors   refined.pdbt   otherg333333Ã?g{®Gáz´?s   all.pdb(   R
   R   (B   R   t   pdb_interpretationt   processt   serverR   R   t
   std_stringt   pdb_strt
   splitlinest   Truet   Nonet   all_chain_proxiesR   t   size_tt   vec3_doublet   only_residuet   atomst   namet   stript   uppert   appendt   i_seqt   xyzt   write_pdb_fileR   t   structure_factorst   f_calct   fft_mapt   apply_sigma_scalingt   real_map_unpaddedt   as_mtz_datasett
   mtz_objectt   writet   scitbxt
   rigid_bodyt
   rb_mat_zyzt   deep_copy_scattererst   apply_rigid_body_shiftt   rot_matt   as_mat3t   adopt_xray_structuret   mmtbxt   geometry_restraintst   managert   cctbxR   t   reference_managert   add_coordinate_restraintst   set_xyzR   t   lbfgst   termination_parameterst   flagst   utilst   statest   addt   extract_xyzt
   refinementt
   real_spacet   refineR$   t   replace_sites_cartt   sites_cart_residuet   max_distancet   AssertionErrort   mean_distance(   R   R   t   processed_pdb_fileR   t   reference_selectiont   reference_sitest   at
   xrs_answerR=   R>   t
   target_mapt   mtz_datasetRB   t   rot_objt   xrs_poorR   t   restraints_managert   residue_poorR#   RU   R&   t   it	   minimizedt   dist(    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/refinement/real_space/tst_rigid_body.pyt   exercise&   s€    	
!	"			
	t   __main__s   Time: %6.2f(   t
   __future__R    t(   mmtbx.monomer_library.pdb_interpretationRL   t   cctbx.geometry_restraints.flagsRO   t   cctbx.array_familyR   t   scitbx.rigid_bodyRD   t   scitbx.lbfgst   timeR   t   mmtbx.refinement.rigid_bodyt&   mmtbx.refinement.real_space.rigid_bodyt   mmtbx.geometry_restraintst   cctbx.geometry_restraintsR   t   mmtbx.utilsR,   Rp   t   __name__t   t0(    (    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/refinement/real_space/tst_rigid_body.pyt   <module>   s,   G