ó
)™xTc        <   @   s0  d  d l  m Z d  d l m Z m Z d  d l m Z d  d l m Z d  d l m	 Z	 d  d l m
 Z
 d  d l m 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 m Z d  d	 l Z d	 d	 d	 d	 d d „ Z d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g d d d  d! d" g d d d  d" d! g d d# d$ d% d& g d# d d$ d& d% g d# d' d d( d) g d# d* d+ d, d- g d' d# d d) d( g d' d d. d/ d0 g d d d d d g d d' d. d0 d/ g d1 d2 d3 d4 d g d5 d6 d7 d8 d9 g d5 d: d; d< d= g d> d? d@ dA dB g d> d: dC dD dE g d? d> d@ dB dA g d? dF d dG dH g d? dI d; dJ dB g dK dI d@ dL dM g dN dO d3 dP dQ g dN dR dS dT dU g dO dN d3 dQ dP g dO dV dW dX dY g dV dO dW dY dX g dV dZ d[ d\ d] g dZ dV d[ d] d\ g dZ d^ d$ d< d_ g d^ dZ d$ d_ d< g d^ dR d@ d` da g dR dN dS dU dT g dR d^ d@ da d` g db dc dd de df g dg dh d di dj g dh dg d dj di g dk dl d dm dn g dl dk d dn dm g do dp dS dq d) g do dr d ds dB g d* d# d+ d- d, g d2 d1 d3 d d4 g d6 d5 d7 d9 d8 g dF d? d dH dG g dp do dS d) dq g dr do d dB ds g d d d d d g d: d5 d; d= d< g d: d> dC dE dD g dI d? d; dB dJ g dI dK d@ dM dL g dc db dd df de g g8 Z dt „  Z du „  Z dv „  Z dw „  Z dx „  Z dy „  Z e  dz k r,e ƒ  n  d	 S({   iÿÿÿÿ(   t   division(   t   approx_equalt	   show_diff(   t   flex(   t   adptbx(   t   uctbx(   t   adp_restraints(   t   adp_restraint_params(   t   matrixN(   t   StringIOg:Œ0âŽyE>c         C   sI  d  d  d  d  d „ } d
 g t | ƒ } d g t | ƒ }	 | d  k	 rh t | ƒ t | ƒ k sh t ‚ n  xÔt t | ƒ ƒ D]À}
 | d  k r˜g  } xõ t d ƒ D]ç } d d d d d d g } | | | <t j d | ƒ } t t j d | |
 ƒ | j ƒ  ƒ | |
 <| |  | d | d | ƒ} t t j d | |
 ƒ d | j ƒ  ƒ | |
 <| |  | d | d | ƒ} | | d } | j | | ƒ q  W| | |
 <q{ | |
 r¹g  } xt d ƒ D]ó } d d d d d d g } | | | <t j d | ƒ } t t j d | |
 ƒ | j ƒ  ƒ | |
 <| |  | d | d | d	 | ƒ} t t j d | |
 ƒ d | j ƒ  ƒ | |
 <| |  | d | d | d	 | ƒ} | | d } | j | | ƒ qµW| | |
 <q{ | |
 c | 7<| |  | d | d | d	 | ƒ} | |
 c d | 8<| |  | d | d | d	 | ƒ} | | d } | | |	 |
 <q{ W| |	 f S(   Nc         S   s�   | d  k	 r1 |  t d | d | ƒ d | ƒj ƒ  S| d  k r\ |  t d | ƒ d | ƒj ƒ  S| d  k	 sn t ‚ |  t d | d | d | ƒ d | ƒj ƒ  Sd  S(   Nt
   sites_cartt   u_cartt   proxyt   u_isot   use_u_aniso(   t   NoneR   t   residualt   AssertionError(   t   restraint_typeR   R
   R   R   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyR      s    i    i   t   sym_mat3R
   R   i   R   R   (   i    i    i    i    i    i    (	   R   t   lenR   t   xrangeR   t   symt   listt   as_sym_mat3t   append(   R   R   R
   R   R   R   t   epsR   t   result_anisot
   result_isot   it   result_aniso_it   jt   ht   qpt   qmt   dq(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   finite_difference_gradients   s\    !
*.

*.t   C1t   C2gÞqŠŽäòo?g‚âÇ˜»–�?g�(í¾0‰?t   N1g-Cëâ6*?g³{ò°PkŠ?gÀìž<,ÔŠ?t   C3t   C4g-Cëâ6?g%ušŽ?gŸ<,Ôšæ�?t   C8ga2U0*©c?gÞqŠŽäò?gˆ…ZÓ¼ã„?t   C5g”ö_˜LU?gÞqŠŽäò�?g’ËH¿}�?t   C6ga2U0*©S?g46<½R†?g€·@‚âÇˆ?t   C7gßà“©‚‘?gX¨5Í;N‘?t   O1g-Cëâ6J?gF%uš‹?gyé&1¬Œ?g-Cëâ6:?gL7‰A`å�?g?ÆÜµ„|�?t   C9t   O2g_ÎQÚ[?g¡g³êsµ…?t   C11t   O3gÇº¸�ðF?g?W[±¿ìŽ?gV-²�?t   N3g’ËH¿}M?gQÚ|a2•?gõÛ×�sF”?t   C12t   C13ga2U0*©C?gÔ+eâX‡?gtF”ö_ˆ?gü©ñÒMbp?g¥N@aÃ“?gKÈ=›U�?t   O4g-Cëâ6Š?g9´Èv¾ŸŠ?t   N4gºI+‡†?t   C14g;ßO�—n‚?ga2U0*©ƒ?t   C16t   C17gŒJê4‘?gÎˆÒÞà“?t   C21gHPüs×b?gË¡E¶óý”?g46<½’?t   C18g Òo_Îy?gµ¦yÇ):’?g=›UŸ«­˜?t   C19gn£¼t?gøÂdª`T¢?gÉå?¤Ÿ?t   C20gn£¼”?gÅþ²{ò°�?g2U0*©�?t   C22t   N5gú~j¼t“X?gn£¼„?g�St$—ÿ€?t   C23t   C24g’ËH¿}}?gŸ<,Ôšæ}?t   C25t   C27g¸…ëQ¸~?gÅ�1w-!?t   C28t   O6ga2U0*©“?t   O7gú~j¼t“ˆ?c          C   s  t  j j d d d t j j ƒ }  |  d k r6 d GHd St j j	 j
 d t |  ƒ ƒ } | j ƒ  } | j ƒ  } | j ƒ  j ƒ  } | j ƒ  } d } xtt | | | | ƒ D]]\ } } }	 }
 xHt | | | | ƒ D]1\ } } } } t j t j t j t j | ƒ t j | ƒ ƒ ƒ ƒ } | d k rÎ | d	 k  rÎ t j | | |	 | | j ƒ  ƒ } t | } | d |
 j k sst ‚ | d
 | j k sŒt ‚ t | d | j ƒ  d ƒ s®t ‚ t | d | j ƒ  d ƒ sÐt ‚ t | d | j  ƒ  d ƒ sòt ‚ | d
 7} qÎ qÎ Wq¦ W| d k st ‚ d S(   s¢   
  Results compared with THMA11 (Ver. 20-04-91) - TLS Thermal Motion
  Analysis used as a part of WinGX (WinGX - Crystallographic Program
  System for Windows)
  t   relative_paths!   phenix_regression/pdb/enk_11i.rest   tests=   Skipping exercise_rigid_bond_test(): input file not availableNt   filei    gš™™™™™ñ?gÍÌÌÌÌÌø?i   i   g-Cëâ6?i   i   i8   (!   t   libtbxt   envt   find_in_repositoriest   ost   patht   isfileR   t   cctbxt   xrayt	   structuret
   from_shelxt   opent
   sites_fracR
   t
   scattererst   extract_u_start   zipt   matht   sqrtR   t   sumt   pow2t   doubleR   t   rigid_bond_pairt	   unit_cellt   resultt   labelR   R   t   delta_zt   z_12t   z_21(   t   ins_filet   ins_xray_structureRV   R
   t   ustarsRW   R   t   site_cart_1t   site_frac_1t   ustar_1t   scat_1t   site_cart_2t   site_frac_2t   ustar_2t   scat_2t   dt   pt   r(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   exercise_rigid_bond_test�   s:    ((	
"""c    %   	   C   s¡  d) }  d } t  j d |  d | ƒ } | j |  k s9 t ‚ | j | k sN t ‚ d* d+ f } d, d- f } d. d/ f } t  j d | d | d | ƒ } | j | k s¥ t ‚ t | j ƒ  d ƒ sÀ t ‚ t | j ƒ  d ƒ sÛ t ‚ t | j	 ƒ  | ƒ sö t ‚ t
 j d0 d1 d2 f ƒ } t
 j d3 d4 d5 f ƒ } t  j t d | d | ƒ d | ƒ} t | j | ƒ sbt ‚ t j d d d d d d g ƒ } | j d | ƒ }	 t
 j g  | D] }
 t j | |
 ƒ ^ q¢ƒ } t  j |	 d |	 d | d | d | ƒ } t | j ƒ  t | j ƒ  ƒ ƒ st ‚ t | j ƒ  | j ƒ  ƒ s6t ‚ t | j ƒ  | j ƒ  ƒ sWt ‚ t
 j | j ƒ  d6 ƒ } t
 j | j ƒ  d ƒ } t  j | | g ƒ } t d | d | ƒ } t  j | d | ƒ} t | | j ƒ  | j ƒ  f ƒ sít ‚ t  j | d | ƒ} t | | j ƒ  | j ƒ  f ƒ s)t ‚ t  j d | d | d | ƒ } t | d | j ƒ  ƒ sft ‚ xL t | d d !| j	 ƒ  ƒ D]. \ } } t | t j | ƒ d ƒ sƒt ‚ qƒWt  d t  j d | d | d | ƒ \ } } x? t | | ƒ D]. \ } } t | t j | ƒ d ƒ sït ‚ qïWt j! d d7 ƒ } t j! d d8 ƒ } | j" ƒ  | j" ƒ  f } t j d9 ƒ } t j d: ƒ } t# | ƒ t# | ƒ f } t  j d | d | d d ƒ } | j ƒ  } t
 j$ ƒ  } xÑ t% d( ƒ D]Ã } t j& | j' ƒ  d; ƒ }  |  | |  j( ƒ  }! |  | |  j( ƒ  }" |! j" ƒ  |" j" ƒ  f } |  | }# |  | }$ t# |# ƒ t# |$ ƒ f } t  j d | d | d d ƒ } t | j ƒ  | ƒ sÖt ‚ qÖWd  S(<   Ni   i   t   i_seqst   weighti   i   i   i   i   i   iüÿÿÿiøÿÿÿt   sitesR   iúÿÿÿi$   R
   R   i   i   i   iZ   i    t   proxiest   paramst   gradients_aniso_cartR   R   gš™™™™™¹?gš™™™™™É?gš™™™™™©?g¸…ëQ¸ž?g{®Gáz”?g{®Gáz„?gáz®GáÊ?g{®GázÔ?g)\�Âõ(¼?gìQ¸…ë±?gÍÌÌÌÌÌ@i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   i   i   i   i   (   i   i   i   i   i   i   (   iüÿÿÿiüÿÿÿiüÿÿÿiøÿÿÿiøÿÿÿiøÿÿÿ(   i   i   i   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   i   i   i   (   i   i   i   i   i   i   (   i   i   i   i   i   i   (   i    i    i    i    i    i    (   gš™™™™™¹?gš™™™™™É?gš™™™™™©?g¸…ëQ¸ž?g{®Gáz”?g{®Gáz„?(   gáz®GáÊ?g{®GázÔ?g)\�Âõ(¼?g{®Gáz”?g{®Gáz”?gìQ¸…ë±?(   i   i   i   (   i   i   gÍÌÌÌÌÌ@(   i   i   ()   R   t   rigid_bond_proxyRu   R   Rv   t
   rigid_bondR   Rc   R   t	   gradientsR   t   vec3_doublet   sym_mat3_doubleR   R   R`   t   fractionalizeR   t   u_cart_as_u_starR_   t   absRd   Re   t   sizeR^   t   shared_rigid_bond_proxyt   rigid_bond_residualst   rigid_bond_deltast   rigid_bond_residual_sumRY   R   t   colR$   R   R   t   tuplet   mersenne_twistert   ranget   rect    random_double_r3_rotation_matrixt	   transpose(%   Ru   Rv   Rr   Rw   R   t   expected_gradientsRs   R
   R`   RV   t   u_cart_it   u_start   pairRz   t   gradients_isoRx   Ry   t	   residualst   deltast   residual_sumt   gt   et   fd_grads_anisot   fd_grads_isot   u_cart_1t   u_cart_2Ri   Rm   t   at   expected_residualt   genR   t   Rt   u_cart_1_rott   u_cart_2_rott   site_cart_1_rott   site_cart_2_rot(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   exercise_rigid_bond´   sš    		!%	'!!''		)&	&

		c    !      C   sÊ  d4 d5 f }  d6 } t  t  f } d } t j d |  d	 | ƒ } t | j | ƒ sT t ‚ | j | k si t ‚ t | j ƒ  d
 ƒ s„ t ‚ t | j ƒ  d7 d8 f ƒ s¥ t ‚ t | j	 ƒ  d9 ƒ sÀ t ‚ t | j
 ƒ  d ƒ sÛ t ‚ d: d; f }  d< } t  t f } t j |  d | d d	 | ƒ} t | j | ƒ s1t ‚ | j | k sFt ‚ t | j ƒ  d ƒ sat ‚ t | j ƒ  d= d> f ƒ s‚t ‚ t | j	 ƒ  d? ƒ s�t ‚ t | j
 ƒ  d ƒ s¸t ‚ d@ } dA } dB } dC } t j d  | d	 | ƒ }	 t j d  | d	 | ƒ }
 t j d  | d	 | ƒ } t j d  | d	 | ƒ } |	 j | k sEt ‚ |	 j | k sZt ‚ t j dD dE dF dG f ƒ }  t j dH ƒ } t j t t  t  t f ƒ } x
|	 |
 | | f D]ö} t d |  d! | d" | ƒ } t j | d# | ƒ} t | j | ƒ s t ‚ t j |  j ƒ  dI ƒ } t j |  j ƒ  d ƒ } t j | | g ƒ } t j | d$ | ƒ} t | | j ƒ  | j ƒ  f ƒ s�t ‚ t j | d$ | ƒ} t | | j
 ƒ  | j
 ƒ  f ƒ s½t ‚ t j | d$ | d% | d& | ƒ} t | d | j ƒ  ƒ sýt ‚ t d' t j d# | d |  d! | d" | ƒ \ } } x? t | | ƒ D]. \ } } t | t j | ƒ d ƒ s=t ‚ q=Wx6 t | | ƒ D]% \ } } t | | d ƒ st ‚ qWq²Wt j d( dJ ƒ } t j d( dK ƒ } | j ƒ  | j ƒ  f }  dL } t  t  f } t j |  d	 d ƒ} | j ƒ  } t j ƒ  } xœ t d3 ƒ D]Ž } t j  | j! ƒ  dM ƒ } | | | j" ƒ  } | | | j" ƒ  }  | j ƒ  |  j ƒ  f }  t j |  d	 d ƒ} t | j ƒ  | ƒ s4t ‚ q4Wd  S(N   Ni   i   i   i   i   i   iÿÿÿÿR   Rv   iD   g       Àg        g       Àg      4@g       @g       €g       @g      4Àg      ð¿g      @g´æ?Þiý@i    i|   iþÿÿÿi   i   i   iðÿÿÿiôÿÿÿièÿÿÿgZá±Ú±@Ru   R   R   R   Rx   Rz   R“   R   R   gš™™™™™¹?gš™™™™™É?gš™™™™™©?g¸…ëQ¸ž?g{®Gáz”?g{®Gáz„?gáz®GáÊ?g{®GázÔ?g)\�Âõ(¼?gìQ¸…ë±?i   (   i   i   i   i   i   i   (   i   i   i   i   i   i   (   iÿÿÿÿiÿÿÿÿ(   g       Àg       Àg        g       Àg       Àg      4@(   g       @g       @g       €g       @g       @g      4À(   g      ð¿g      ð¿g        g       Àg       Àg      @(   i   i   i   i   i   i   (   iÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿ(   iÿÿÿÿi   (   iþÿÿÿi   i    i   i   i   (   i   iþÿÿÿi    iðÿÿÿiôÿÿÿièÿÿÿ(   iÿÿÿÿi   i    i   i   i   (   i   i   (   i   i    (   i   i   (   i    i   (   iÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿ(   i   i   i   i   i   i   (   i   i   i   i   i   i   (   iÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿ(   i   iÿÿÿÿiÿÿÿÿi   (   i    i    i    i    i    i    (   gš™™™™™¹?gš™™™™™É?gš™™™™™©?g¸…ëQ¸ž?g{®Gáz”?g{®Gáz„?(   gáz®GáÊ?g{®GázÔ?g)\�Âõ(¼?g{®Gáz”?g{®Gáz”?gìQ¸…ë±?(   iÿÿÿÿiÿÿÿÿ(   i   i   (#   t   TrueR   t   adp_similarityR   R   R   Rv   R   t
   gradients2R•   t
   rms_deltast   Falset   adp_similarity_proxyRu   R   R   R^   t   boolR   Rƒ   t   shared_adp_similarity_proxyt   adp_similarity_residualst   adp_similarity_deltas_rmst   adp_similarity_residual_sumR$   RY   R   Rˆ   R   R   RŠ   R‹   RŒ   R�   RŽ   (!   R   R   R   Rv   R�   t	   i_seqs_aat	   i_seqs_ait	   i_seqs_iat	   i_seqs_iit   p_aat   p_ait   p_iat   p_iiRr   Ry   Rz   R“   Rx   R”   t
   deltas_rmsR–   R™   Rš   R—   R˜   R›   Rœ   Rž   RŸ   R   R    R¡   R¢   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   exercise_adp_similarity  s¨    			''		&!c          C   su  d! }  d } d# } d$ } t  f } t j d |  d | ƒ } | j |  k sN t ‚ t | j | ƒ sf t ‚ t j d	 | d d | ƒ } d% } d& } t | j | ƒ s¦ t ‚ t | j ƒ  | ƒ sÁ t ‚ t | j	 ƒ  d ƒ sÜ t ‚ t | j
 ƒ  d ƒ s÷ t ‚ t | j ƒ  | ƒ st ‚ t j d d' ƒ }	 t j d d ƒ }
 t j | | g ƒ } t j | ƒ } t j | ƒ } t j | ƒ } t d	 | d | d | ƒ } t j | d | ƒ} t | | j
 ƒ  | j
 ƒ  f ƒ sÏt ‚ t j | d | ƒ} t | | j	 ƒ  | j	 ƒ  f ƒ st ‚ t j | d | d |	 ƒ} t | d ƒ s;t ‚ t d t j d | d	 | d | d | ƒ \ } } x? t |	 | ƒ D]. \ } } t | t j | ƒ d ƒ s{t ‚ q{Wt j d d( ƒ } t j d	 | j ƒ  d d ƒ } | j
 ƒ  } t j ƒ  } xy t d  ƒ D]k } t j | j ƒ  d) ƒ } | | | j ƒ  } t j d	 | j ƒ  d d ƒ } t | j
 ƒ  | ƒ st ‚ qWd  S(*   Ni    i   i   i   i   i   Ru   Rv   R   iÿÿÿÿiüÿÿÿi   i(   i   i@   gšbÎz H@g     €w@R   R   Rx   Rz   g     €‡@R   R   R   gš™™™™™¹?gš™™™™™É?gš™™™™™©?g¸…ëQ¸ž?g{®Gáz”?g{®Gáz„?i   (   i    (   i   i   i   i   i   i   (   (   i   i   i   i   i   i   (   i    (   iÿÿÿÿi    i   i   i   i   (   iüÿÿÿi    i   i(   i   i@   (   i    i    i    i    i    i    (   gš™™™™™¹?gš™™™™™É?gš™™™™™©?g¸…ëQ¸ž?g{®Gáz”?g{®Gáz„?(   i   i   (    R¦   R   t   isotropic_adp_proxyRu   R   R   Rv   t   isotropic_adpR•   R©   R   R}   R   R   R^   t   shared_isotropic_adp_proxyR¬   R   t   isotropic_adp_residualst   isotropic_adp_deltas_rmst   isotropic_adp_residual_sumR$   RY   R   Rˆ   R   R   RŠ   R‹   RŒ   R�   RŽ   (   Ru   Rv   R   R   R   Rr   R   t   expected_deltasR�   Rz   R“   Rx   Ry   R”   R¹   R–   R™   Rš   R—   R˜   R�   Rž   RŸ   R    t
   u_cart_rot(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   exercise_isotropic_adpc  sj    			''		&		c          C   s¾  t  j j d ƒ r. t  j d  dR k  r. d GHd  St j dS dT dU dV f ƒ }  dW } t j dX dY dZ d[ f ƒ } t j d\ ƒ } t j t	 t	 t	 t	 f ƒ } t
 j ƒ  } t ƒ  } | j d* d+ d, t j ƒ  d- t j ƒ  d. t j ƒ  d/ | ƒ t | j ƒ  d0 ƒ sÿ t ‚ t
 j t
 j d1 d2 d3 g d4 d5 ƒ t
 j d1 d d6 g d4 d7 ƒ g ƒ } t ƒ  } | j d* d+ d, | d- | d. | d/ | d8 d9 ƒ t | j ƒ  d: ƒ s—t ‚ t ƒ  } | j d* d; d< | d, | d- t j d] ƒ d. t j t t t t f ƒ d/ | d8 dA ƒ t | j ƒ  dB ƒ st ‚ t
 j ƒ  } t ƒ  } | j d* d+ d, t j ƒ  d- | d. | d/ | ƒ t | j ƒ  dC ƒ smt ‚ t
 j t
 j d1 d^ d4 d5 ƒ t
 j d1 d_ d4 d7 ƒ g ƒ } t ƒ  } | j d* d+ d< | d, | d- | d. | d/ | d8 dD ƒ t | j ƒ  dE ƒ sÿt ‚ t ƒ  } | j d* d; d, | d- | d. | d/ | d8 dF ƒ t | j ƒ  dG ƒ sRt ‚ t
 j ƒ  } t ƒ  } | j d* d+ dH t j ƒ  d, t j ƒ  d/ | ƒ t | j ƒ  dI ƒ s±t ‚ t
 j t
 j d1 d` d4 d5 ƒ t
 j d1 da d4 dJ ƒ t
 j d1 db d4 d5 ƒ t
 j d1 dc d4 dK ƒ g ƒ } t ƒ  } | j d* d+ dH |  d< | d, | d/ | d8 dL ƒ t | j ƒ  dM ƒ sgt ‚ t ƒ  } | j d* dN dH |  d, | d/ | d8 dO dP d ƒ t | j ƒ  dQ ƒ sºt ‚ d  S(d   Nt   wini   i   s   Skipping exercise_proxy_show()gù1æ®%d	Àg™*•Ô©%@g·Ñ ÞB@g„žÍªÏUÀg3Ä±.nƒ#@g/n£¼…@gà-� ø±
Àgn4€·@Â!@gjMóŽ@gƒÀÊ¡E¶Àg}Ð³Yõù#@gjMóŽ@R%   R&   t   O16t   N8gKÈ=›U�?g¾0™*•?ggÕçj+ö—?gyé&1¬l?g”ö_˜Lu¿gˆ…ZÓ¼ãt¿g‹lçû©ñ’?g46<½R†?gü©ñÒMb@?gü©ñÒMbP¿g-Cëâ6*?gh‘í|?5ž?gDioð…É”?g46<½R–?ga2U0*©3¿g/n£¼r¿g¹�ðH�?gÒ Þ	Š�?g-Cëâ6:?g’ËH¿}m?iÿÿÿÿt   by_valueR   R   R   R   t   fs   ADP similarity restraints: 0
Ru   i    i   Rv   i   i   g333333Ó?t   prefixt   :s¥  :ADP similarity restraints: 2
:Sorted by residual:
:scatterers 0
:           1
:          delta    sigma   weight rms_deltas residual
: U11  -3.20e-03 2.00e-01 2.50e+01   4.96e-03 5.54e-03
: U22   9.70e-03 2.00e-01 2.50e+01
: U33   2.80e-03 2.00e-01 2.50e+01
: U12   3.00e-03 2.00e-01 2.50e+01
: U13  -4.20e-03 2.00e-01 2.50e+01
: U23  -5.30e-03 2.00e-01 2.50e+01
:scatterers 2
:           3
:          delta    sigma   weight rms_deltas residual
: U11   1.36e-02 1.83e+00 3.00e-01   6.15e-03 1.02e-04
: U22   4.90e-03 1.83e+00 3.00e-01
: U33   1.20e-03 1.83e+00 3.00e-01
: U12  -7.00e-04 1.83e+00 3.00e-01
: U13  -7.00e-04 1.83e+00 3.00e-01
: U23  -8.00e-03 1.83e+00 3.00e-01
R©   t   site_labelsgú~j¼t“˜?gX9´Èv¾Ÿ?g/Ý$�•?gyé&1¬œ?t   =s"  =ADP similarity restraints: 2
=Sorted by rms_deltas:
=scatterers C1
=           C2
=          delta    sigma   weight residual
= Uiso -7.00e-03 2.00e-01 2.50e+01 1.22e-03
=scatterers O16
=           N8
=          delta    sigma   weight residual
= Uiso -7.00e-03 1.83e+00 3.00e-01 1.47e-05
s   Isotropic ADP restraints: 0
t    s{   Isotropic ADP restraints: 2
 Sorted by residual:
 scatterer C1
          delta    sigma   weight rms_deltas residual
  U11 -4.47e-03 2.00e-01 2.50e+01   4.27e-03 4.11e-03
  U22  8.33e-04 2.00e-01 2.50e+01
  U33  3.63e-03 2.00e-01 2.50e+01
  U12  3.50e-03 2.00e-01 2.50e+01
  U13 -5.20e-03 2.00e-01 2.50e+01
  U23 -5.10e-03 2.00e-01 2.50e+01
 scatterer O16
          delta    sigma   weight rms_deltas residual
  U11  5.63e-03 1.83e+00 3.00e-01   3.16e-03 2.69e-05
  U22 -3.57e-03 1.83e+00 3.00e-01
  U33 -2.07e-03 1.83e+00 3.00e-01
  U12 -1.00e-03 1.83e+00 3.00e-01
  U13 -3.00e-04 1.83e+00 3.00e-01
  U23 -4.40e-03 1.83e+00 3.00e-01
t   $sz  $Isotropic ADP restraints: 2
$Sorted by rms_deltas:
$scatterer 0
$         delta    sigma   weight rms_deltas residual
$ U11 -4.47e-03 2.00e-01 2.50e+01   4.27e-03 4.11e-03
$ U22  8.33e-04 2.00e-01 2.50e+01
$ U33  3.63e-03 2.00e-01 2.50e+01
$ U12  3.50e-03 2.00e-01 2.50e+01
$ U13 -5.20e-03 2.00e-01 2.50e+01
$ U23 -5.10e-03 2.00e-01 2.50e+01
$scatterer 2
$         delta    sigma   weight rms_deltas residual
$ U11  5.63e-03 1.83e+00 3.00e-01   3.16e-03 2.69e-05
$ U22 -3.57e-03 1.83e+00 3.00e-01
$ U33 -2.07e-03 1.83e+00 3.00e-01
$ U12 -1.00e-03 1.83e+00 3.00e-01
$ U13 -3.00e-04 1.83e+00 3.00e-01
$ U23 -4.40e-03 1.83e+00 3.00e-01
R
   s   Rigid bond restraints: 0
i   i   t   *sá  *Rigid bond restraints: 4
*Sorted by residual:
*scatterers O16
*           N8
*   delta_z    sigma   weight residual
* -3.96e-03 2.00e-01 2.50e+01 3.92e-04
*scatterers C1
*           C2
*   delta_z    sigma   weight residual
*  1.08e-03 2.00e-01 2.50e+01 2.89e-05
*scatterers C1
*           O16
*   delta_z    sigma   weight residual
*  4.03e-04 2.58e-01 1.50e+01 2.44e-06
*scatterers N8
*           C2
*   delta_z    sigma   weight residual
* -1.54e-04 1.83e-01 3.00e+01 7.16e-07
t   deltas   ||t	   max_itemss(  ||Rigid bond restraints: 4
||Sorted by delta:
||scatterers 2
||           3
||   delta_z    sigma   weight residual
|| -3.96e-03 2.00e-01 2.50e+01 3.92e-04
||scatterers 0
||           1
||   delta_z    sigma   weight residual
||  1.08e-03 2.00e-01 2.50e+01 2.89e-05
||... (remaining 2 not shown)
(   i   i   (   gù1æ®%d	Àg™*•Ô©%@g·Ñ ÞB@(   g„žÍªÏUÀg3Ä±.nƒ#@g/n£¼…@(   gà-� ø±
Àgn4€·@Â!@gjMóŽ@(   gƒÀÊ¡E¶Àg}Ð³Yõù#@gjMóŽ@(   R%   R&   RÅ   RÆ   (   gKÈ=›U�?g¾0™*•?ggÕçj+ö—?gyé&1¬l?g”ö_˜Lu¿gˆ…ZÓ¼ãt¿(   g‹lçû©ñ’?g46<½R†?g¾0™*•?gü©ñÒMb@?gü©ñÒMbP¿g-Cëâ6*?(   gh‘í|?5ž?gDioð…É”?g46<½R–?gü©ñÒMbP¿ga2U0*©3¿g/n£¼r¿(   g¹�ðH�?gÒ Þ	Š�?g¾0™*•?ga2U0*©3¿g-Cëâ6:?g’ËH¿}m?(   iÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿ(   gú~j¼t“˜?gX9´Èv¾Ÿ?g/Ý$�•?gyé&1¬œ?(   i    (   i   (   i    i   (   i    i   (   i   i   (   i   i   (   t   syst   platformt
   startswitht   version_infoR   R~   R   R^   R¬   R¦   R   R­   R	   t   show_sortedR   t   getvalueR   R«   Rª   R½   R»   R„   R{   (   R
   RË   R   R   R   Rx   t   sio(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   exercise_proxy_showŸ  sè    %		$																c           C   s,   t  ƒ  t ƒ  t ƒ  t ƒ  t ƒ  d GHd  S(   Nt   OK(   RÙ   Rº   RÃ   R¥   Rt   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   exercise}  s    t   __main__(!   t
   __future__R    t   libtbx.test_utilsR   R   t   cctbx.array_familyR   RQ   R   R   R   t   cctbx.adp_restraintsR   t   scitbxR   t   libtbx.load_envRK   RZ   RN   RÒ   t	   cStringIOR	   t
   cctbx.xrayR   R$   Ra   Rt   R¥   Rº   RÃ   RÙ   RÛ   t   __name__(    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/adp_restraints/tst_ext.pyt   <module>   s    $@	'	S	\	<	Þ	