ó
Å™xTc           @   s“   d  d l  m Z d  d l m Z d  d l Z d  d l m Z d  d l Z	 d  d l	 m
 Z
 d  d l Z	 d  d l Z d „  Z e d k r� e ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   base_pairingN(   t   approx_equal(   t   Autoc       	   C   s³  t  j }  |  j d ƒ } | d d d k s2 t ‚ t j j d ƒ ršt j j d ƒ rš|  j d d t ƒ d. d/ g k s} t ‚ |  j d d t	 ƒ d0 d1 g k s¤ t ‚ |  j d d t	 ƒ d2 d3 g k sË t ‚ |  j d d t	 ƒ d4 d5 d6 g k sõ t ‚ |  j d d t	 ƒ d7 d8 d9 g k st ‚ |  j
 d d: d; g t ƒ d k sFt ‚ |  j
 d d< d= g t ƒ d k smt ‚ |  j
 d d> d? d@ g t	 ƒ d k sŸt ‚ n d GHt j j d ƒ r(t j j d d d t j j ƒ } d d l m } | | ƒ j } | j } | j ƒ  j ƒ  t j j t  j ƒ } | j d t j j d  ƒ ƒ j ƒ  } t  j d! | d" | j d# t	 d$ d% ƒ g  | j D] } | j ^ qr}	 |	 d d d& g k s¢t ‚ | j d t j j d' ƒ ƒ j ƒ  } t  j d! | d" | j d# t	 d$ d% ƒ g  | j D] } | j ^ qõ}	 |	 d d d& g k s(t ‚ n  t j j j d( d) ƒ } | j j  ƒ  }
 |
 j ƒ  j! ƒ  j" ƒ  } t  j# |
 d* d+ ƒ|
 j ƒ  j! ƒ  } t$ | j% | ƒ d, ƒ sªt ‚ d- GHd  S(A   Ns   G-Ui    t   XXVIIt   probet   reduces   A-Ut   WWTt   H61t   O4t   N1t   H3s   DA-DTt   N6t   N3s   DT-DAs   G-Ct   O6t   N4t   N2t   O2s   C-Gt   XXt   XIXs+   Skipping: probe and/or reduce not availablet   phenix_regressiont   relative_paths   phenix_regression/pdb/1u8d.pdbt   testiÿÿÿÿ(   t   any_filet   sources¤  
      base_pair {
        base1 = chain A and resseq 18
        base2 = chain A and resseq 78
        leontis_westhof_class = *Auto
      }
      base_pair {
        base1 = chain A and resseq 21
        base2 = chain A and resseq 75
        leontis_westhof_class = *Auto
      }
      base_pair {
        base1 = chain A and resseq 33
        base2 = chain A and resseq 66
        leontis_westhof_class = *Auto
      }t   pdb_hierarchyt
   base_pairst   use_hydrogenst   distance_idealg      @t   Vs¤  
      base_pair {
        base1 = chain A and resseq 78
        base2 = chain A and resseq 18
        leontis_westhof_class = *Auto
      }
      base_pair {
        base1 = chain A and resseq 75
        base2 = chain A and resseq 21
        leontis_westhof_class = *Auto
      }
      base_pair {
        base1 = chain A and resseq 66
        base2 = chain A and resseq 33
        leontis_westhof_class = *Auto
      }t
   pdb_strings{  ATOM   3988  P    DA G  10       2.095 -23.407  14.671  1.00 24.76           P
ATOM   3989  OP1  DA G  10       2.702 -22.768  13.479  1.00 24.54           O
ATOM   3990  OP2  DA G  10       1.098 -22.688  15.497  1.00 26.02           O
ATOM   3991  O5'  DA G  10       3.272 -23.890  15.629  1.00 22.57           O
ATOM   3992  C5'  DA G  10       2.981 -24.494  16.871  1.00 21.71           C
ATOM   3993  C4'  DA G  10       4.289 -24.903  17.501  1.00 21.29           C
ATOM   3994  O4'  DA G  10       4.850 -25.979  16.721  1.00 20.23           O
ATOM   3995  C3'  DA G  10       5.340 -23.803  17.483  1.00 20.46           C
ATOM   3996  O3'  DA G  10       5.492 -23.313  18.807  1.00 20.49           O
ATOM   3997  C2'  DA G  10       6.602 -24.471  16.925  1.00 18.76           C
ATOM   3998  C1'  DA G  10       6.243 -25.951  16.910  1.00 17.49           C
ATOM   3999  N9   DA G  10       6.839 -26.749  15.842  1.00 14.88           N
ATOM   4000  C8   DA G  10       6.713 -26.565  14.492  1.00 15.01           C
ATOM   4001  N7   DA G  10       7.363 -27.452  13.774  1.00 15.05           N
ATOM   4002  C5   DA G  10       7.945 -28.283  14.718  1.00 13.74           C
ATOM   4003  C6   DA G  10       8.766 -29.426  14.610  1.00 12.94           C
ATOM   4004  N6   DA G  10       9.149 -29.944  13.443  1.00 13.28           N
ATOM   4005  N1   DA G  10       9.181 -30.024  15.746  1.00 12.16           N
ATOM   4006  C2   DA G  10       8.797 -29.503  16.921  1.00 14.06           C
ATOM   4007  N3   DA G  10       8.029 -28.435  17.152  1.00 13.57           N
ATOM   4008  C4   DA G  10       7.629 -27.865  15.998  1.00 13.67           C
t   anglei´   gÍ™dä¬@t   OK(   R   R	   (   R
   R   (   R   R	   (   R
   R   (   R	   R   (   R   R
   (   R   R   (   R
   R   (   R   R   (   R   R   (   R   R
   (   R   R   (   R   R	   (   R
   R   (   R
   R   (   R   R	   (   R   R   (   R   R
   (   R   R   (&   R   t   dbt   get_pair_saenger_classest   AssertionErrort   libtbxt   envt
   has_modulet	   get_atomst   Truet   Falset   get_pair_typet   find_in_repositoriest   ost   patht   isfilet   iotbx.file_readerR   t   file_objectt	   hierarchyt   atomst   reset_i_seqt   philt   parset   dna_rna_params_strt   fetcht   extractt   identify_base_pairst	   base_pairt   saenger_classt   iotbxt   pdbt   inputt   only_atom_groupt   extract_xyzt	   deep_copyt	   flip_baseR   t   rms_difference(   R!   t
   gu_classest   pdb_fileR   t   pdb_inR1   t   bp_philt   paramst   bpt   classest   baset   xyzt   xyz_new(    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/secondary_structure/tst_base_pairing.pyt   exercise   sd    	$'''''-						t   __main__(   t
   __future__R    t   mmtbx.secondary_structureR   t   iotbx.pdb.hierarchyR<   t   libtbx.test_utilsR   t   libtbx.load_envR$   R   t   libtbx.philR,   RN   t   __name__(    (    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/secondary_structure/tst_base_pairing.pyt   <module>   s   	l