ó
¤™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	 m
 Z
 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 Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z e d k ré e ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   rna_validateN(   t   file_reader(   t   loadst   dumps(   t   approx_equal(   t   null_out(   t   StringIOc          C   s>  t  j j d d d t j j ƒ }  |  d  k r6 d GHd  St j d |  g d t	 ƒ  ƒ } t
 | j j ƒ d k sr t ‚ t
 | j j ƒ d k s� t ‚ t
 | j j ƒ d k s® t ‚ t
 | j j ƒ d	 k sÌ t ‚ t | j j d
 d d ƒsí t ‚ t | ƒ t j |  ƒ } t j j j d | j j d d  d d  ƒ } t | ƒ d  S(   Nt   relative_paths,   phenix_regression/pdb/pdb2goz_refmac_tls.entt   testsC   Skipping exercise: input pdb (pdb2goz_refmac_tls.ent) not availablet   argst   outi   i   i   gÃœ Mâ?t   epsg-Cëâ6?t   pdb_hierarchyt   geometry_restraints_managert   params(   t   libtbxt   envt   find_in_repositoriest   ost   patht   isfilet   NoneR   t   runR   t   lent   puckerst   resultst   AssertionErrort   bondst   anglest   suitesR   t   average_suitenesst   pickle_unpickleR   t   any_filet   mmtbxt
   validationt   rna_validationt   file_objectt	   hierarchy(   t   regression_pdbt   rvt   pdb_int   result(    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/validation/regression/tst_rna_validate.pyt
   exercise_1   s&    !
	c          C   sf   d }  t  d d ƒ j |  ƒ t j d d g d t ƒ  ƒ } t | j j ƒ d k sX t ‚ t	 | ƒ d  S(   Nsþ  ATOM   7975  P     G Q 140      10.347 137.422  73.792  1.00118.69           P
ATOM   7976  OP1   G Q 140       9.348 138.439  74.195  1.00118.63           O
ATOM   7977  OP2   G Q 140      11.208 137.681  72.617  1.00118.60           O
ATOM   7978  O5'   G Q 140      11.286 137.083  75.051  1.00119.34           O
ATOM   7979  C5'   G Q 140      11.015 137.599  76.358  1.00120.43           C
ATOM   7980  C4'   G Q 140      11.617 136.733  77.454  1.00121.27           C
ATOM   7981  O4'   G Q 140      11.723 135.361  77.003  1.00121.51           O
ATOM   7982  C3'   G Q 140      13.038 137.080  77.885  1.00121.72           C
ATOM   7983  O3'   G Q 140      13.050 138.143  78.836  1.00122.07           O
ATOM   7984  C2'   G Q 140      13.517 135.770  78.511  1.00121.87           C
ATOM   7985  O2'   G Q 140      13.160 135.640  79.877  1.00121.91           O
ATOM   7986  C1'   G Q 140      12.793 134.717  77.671  1.00121.84           C
ATOM   7987  N9    G Q 140      13.651 134.055  76.684  1.00121.95           N
ATOM   7988  C8    G Q 140      14.226 134.620  75.568  1.00121.96           C
ATOM   7989  N7    G Q 140      14.944 133.787  74.870  1.00121.97           N
ATOM   7990  C5    G Q 140      14.843 132.588  75.563  1.00121.99           C
ATOM   7991  C6    G Q 140      15.412 131.320  75.281  1.00122.03           C
ATOM   7992  O6    G Q 140      16.142 131.004  74.331  1.00121.99           O
ATOM   7993  N1    G Q 140      15.064 130.361  76.235  1.00122.12           N
ATOM   7994  C2    G Q 140      14.264 130.602  77.331  1.00122.14           C
ATOM   7995  N2    G Q 140      14.033 129.557  78.139  1.00122.06           N
ATOM   7996  N3    G Q 140      13.721 131.787  77.604  1.00122.09           N
ATOM   7997  C4    G Q 140      14.050 132.734  76.684  1.00122.00           C
ATOM   7998  P     A Q 141      14.015 139.407  78.645  1.00122.32           P
ATOM   7999  OP1   A Q 141      13.141 140.571  78.383  1.00122.35           O
ATOM   8000  OP2   A Q 141      15.073 139.069  77.665  1.00122.37           O
ATOM   8001  O5'   A Q 141      14.690 139.587  80.088  1.00122.53           O
ATOM   8002  C5'   A Q 141      15.914 138.934  80.438  1.00122.90           C
ATOM   8003  C4'   A Q 141      15.673 137.727  81.331  1.00123.23           C
ATOM   8004  O4'   A Q 141      16.899 137.378  82.025  1.00123.39           O
ATOM   8005  C3'   A Q 141      14.605 137.909  82.412  1.00123.36           C
ATOM   8006  O3'   A Q 141      13.551 136.969  82.215  1.00123.31           O
ATOM   8007  C2'   A Q 141      15.347 137.686  83.732  1.00123.49           C
ATOM   8008  O2'   A Q 141      14.582 136.976  84.689  1.00123.46           O
ATOM   8009  C1'   A Q 141      16.551 136.857  83.291  1.00123.61           C
ATOM   8010  N9    A Q 141      17.714 136.912  84.186  1.00123.79           N
ATOM   8011  C8    A Q 141      17.797 137.531  85.406  1.00123.80           C
ATOM   8012  N7    A Q 141      18.964 137.415  85.992  1.00123.83           N
ATOM   8013  C5    A Q 141      19.706 136.662  85.099  1.00123.90           C
ATOM   8014  C6    A Q 141      21.037 136.187  85.130  1.00123.95           C
ATOM   8015  N6    A Q 141      21.875 136.421  86.146  1.00123.97           N
ATOM   8016  N1    A Q 141      21.476 135.460  84.076  1.00123.93           N
ATOM   8017  C2    A Q 141      20.634 135.225  83.057  1.00123.90           C
ATOM   8018  N3    A Q 141      19.364 135.620  82.917  1.00123.84           N
ATOM   8019  C4    A Q 141      18.953 136.340  83.979  1.00123.84           C
TER    8020        A Q 141
s   tst_rna_validate_1.pdbt   wR
   R   i   (
   t   opent   writeR   R   R   R   R   R   R   R    (   t   pdb_rawR(   (    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/validation/regression/tst_rna_validate.pyt
   exercise_2%   s
    1c          C   sH   d }  t  d d ƒ j |  ƒ t j d d g d t ƒ  ƒ } t | ƒ d  S(   Nsª  ATOM      1  O5'A  U A   1      39.826  29.792  61.182  0.50 82.88           O
ATOM      2  O5'B  U A   1      39.852  29.856  60.945  0.50 82.91           O
ATOM      3  C5'A  U A   1      40.022  30.855  62.130  0.50 80.10           C
ATOM      4  C5'B  U A   1      40.079  31.072  61.650  0.50 79.19           C
ATOM      5  C4'A  U A   1      38.772  31.691  62.255  0.50 78.82           C
ATOM      6  C4'B  U A   1      38.796  31.774  62.020  0.50 77.88           C
ATOM      7  O4'A  U A   1      38.856  32.884  61.429  0.50 80.02           O
ATOM      8  O4'B  U A   1      38.669  32.983  61.220  0.50 79.40           O
ATOM      9  C3'A  U A   1      37.538  30.959  61.777  0.50 78.46           C
ATOM     10  C3'B  U A   1      37.499  31.010  61.758  0.50 77.50           C
ATOM     11  O3'A  U A   1      37.037  30.176  62.849  0.50 75.37           O
ATOM     12  O3'B  U A   1      37.158  30.120  62.826  0.50 74.93           O
ATOM     13  C2'A  U A   1      36.641  32.101  61.304  0.50 79.86           C
ATOM     14  C2'B  U A   1      36.483  32.143  61.671  0.50 78.29           C
ATOM     15  O2'A  U A   1      35.961  32.782  62.341  0.50 81.49           O
ATOM     16  O2'B  U A   1      36.053  32.616  62.932  0.50 80.66           O
ATOM     17  C1'A  U A   1      37.673  33.025  60.649  0.50 79.69           C
ATOM     18  C1'B  U A   1      37.299  33.233  60.979  0.50 77.90           C
ATOM     19  N1 A  U A   1      38.048  32.567  59.307  0.50 77.53           N
ATOM     20  N1 B  U A   1      37.046  33.343  59.533  0.50 75.93           N
ATOM     21  C2 A  U A   1      37.329  32.949  58.191  0.50 76.19           C
ATOM     22  C2 B  U A   1      37.795  32.584  58.638  0.50 75.96           C
ATOM     23  O2 A  U A   1      36.364  33.685  58.191  0.50 76.18           O
ATOM     24  O2 B  U A   1      38.754  31.891  58.945  0.50 77.97           O
ATOM     25  N3 A  U A   1      37.803  32.400  57.033  0.50 74.94           N
ATOM     26  N3 B  U A   1      37.376  32.694  57.351  0.50 75.08           N
ATOM     27  C4 A  U A   1      38.865  31.551  56.889  0.50 74.13           C
ATOM     28  C4 B  U A   1      36.340  33.467  56.890  0.50 74.34           C
ATOM     29  O4 A  U A   1      39.163  31.127  55.805  0.50 72.11           O
ATOM     30  O4 B  U A   1      36.162  33.540  55.698  0.50 72.95           O
ATOM     31  C5 A  U A   1      39.560  31.215  58.099  0.50 74.56           C
ATOM     32  C5 B  U A   1      35.632  34.263  57.853  0.50 72.59           C
ATOM     33  C6 A  U A   1      39.134  31.742  59.244  0.50 76.24           C
ATOM     34  C6 B  U A   1      36.006  34.156  59.108  0.50 73.72           C
ATOM     35  P     C A   2      36.230  28.821  62.547  1.00 72.47           P
ATOM     36  OP1   C A   2      35.510  28.509  63.805  1.00 72.07           O
ATOM     37  OP2   C A   2      37.093  27.782  61.920  1.00 67.52           O
ATOM     38  O5'   C A   2      35.141  29.294  61.493  1.00 61.16           O
ATOM     39  C5'   C A   2      34.065  30.126  61.886  1.00 53.00           C
ATOM     40  C4'   C A   2      33.217  30.452  60.692  1.00 54.42           C
ATOM     41  O4'   C A   2      34.058  31.113  59.709  1.00 57.20           O
ATOM     42  C3'   C A   2      32.696  29.239  59.934  1.00 54.16           C
ATOM     43  O3'   C A   2      31.508  28.706  60.508  1.00 49.29           O
ATOM     44  C2'   C A   2      32.447  29.817  58.551  1.00 50.69           C
ATOM     45  O2'   C A   2      31.256  30.569  58.491  1.00 53.09           O
ATOM     46  C1'   C A   2      33.635  30.762  58.406  1.00 51.94           C
ATOM     47  N1    C A   2      34.752  30.152  57.665  1.00 50.45           N
ATOM     48  C2    C A   2      34.662  30.120  56.283  1.00 49.86           C
ATOM     49  O2    C A   2      33.659  30.593  55.738  1.00 50.93           O
ATOM     50  N3    C A   2      35.654  29.571  55.565  1.00 47.16           N
ATOM     51  C4    C A   2      36.709  29.052  56.179  1.00 47.93           C
ATOM     52  N4    C A   2      37.659  28.519  55.412  1.00 47.02           N
ATOM     53  C5    C A   2      36.834  29.060  57.597  1.00 46.21           C
ATOM     54  C6    C A   2      35.840  29.624  58.297  1.00 47.22           C
s   tst_rna_validate_2.pdbR,   R
   R   (   R-   R.   R   R   R   R    (   R/   R(   (    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/validation/regression/tst_rna_validate.pyt
   exercise_3\   s    9c         C   sf   t  t |  ƒ ƒ } t ƒ  } t ƒ  } |  j d | ƒ | j d | ƒ | j ƒ  | j ƒ  k sb t ‚ d  S(   NR   (   R   R   R   t   showt   getvalueR   (   R*   t   result2t   out1t   out2(    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/validation/regression/tst_rna_validate.pyR    š   s    		c          C   sN   d t  j d k }  t j j d d ƒ s0 d GHn t ƒ  t ƒ  t ƒ  d GHd  S(   Ns	   --verbosei   t   namet	   suitenames6   Skipping exercise_rna_validate(): phenix not availablet   OK(   t   syst   argvR   R   t
   has_moduleR+   R0   R1   (   t   verbose(    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/validation/regression/tst_rna_validate.pyR   ¢   s    t   __main__(   t
   __future__R    t   mmtbx.command_lineR   t   mmtbx.validation.rna_validateR"   t   iotbxR   t   libtbx.easy_pickleR   R   t   libtbx.test_utilsR   t   libtbx.utilsR   t   libtbx.load_envR   t	   cStringIOR   R:   R   R+   R0   R1   R    R   t   __name__(    (    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/validation/regression/tst_rna_validate.pyt   <module>   s    		7	>		