ó
½™xTc           @   sp   d  d l  m Z d  d l m Z d  d l Z d  d l Z d „  Z d „  Z e d k rl e ƒ  e ƒ  d GHn  d S(   iÿÿÿÿ(   t   division(   t   easy_runNc          C   sî  d d l  m }  d d l m } |  d d d t ƒ \ } } |  d d d t ƒ d } d	 } d
 | d d d d | g } t j | ƒ j ƒ  t	 j
 d ƒ t j j | ƒ s® t ‚ d } d d | d | | d d d | g } t j | ƒ j ƒ  } t j j | ƒ st ‚ d | j k st ‚ | | ƒ }	 |	 j j d }
 |
 j d d ƒ } | j ƒ  j ƒ  } | | ƒ } | j j } | j j ƒ  } xc t | j ƒ  ƒ D]O \ } } | j d k r—| j ƒ  | } | j | ƒ } | d k sæt ‚ q—q—Wd  S(   Niÿÿÿÿ(   t   generate_calcium_inputs(   t   any_filet	   file_baset$   tst_isomorphous_difference_misc_anomt	   anonymizet#   tst_isomorphous_difference_misc_hohi   s#   tst_isomorphous_difference_misc.mtzs   phenix.fmodels   high_resolution=1.5s   r_free_flags_fraction=0.1s	   type=reals   output.file_name=i   s.   tst_isomorphous_difference_misc_anon_minus.mtzs   phenix.fobs_minus_fobs_maps   f_obs_1_file=s   f_obs_2_file=s   omit_selection="element CA"s   multiscale=Trues   output_file=s   1 atoms selected for removali    t   resolution_factorg      Ð?t   CAi(   (   t)   mmtbx.regression.make_fake_anomalous_dataR   t   iotbx.file_readerR   t   Falset   TrueR   t   fully_bufferedt   raise_if_errorst   timet   sleept   ost   patht   isfilet   AssertionErrort   stdout_linest   file_servert   miller_arrayst   fft_mapt   apply_sigma_scalingt   real_map_unpaddedt   file_objectt	   hierarchyt   xray_structure_simplet	   enumeratet   atomst   elementt
   sites_fract   eight_point_interpolation(   R   R   t   anom_mtz_filet   pdb_filet   hoh_filet   mtz_filet   argst   minus_mtz_filet   resultt   ft   coeffsR   t	   minus_mapt   pdb_inR   t   xrst   i_seqt   atomt	   site_fract   val(    (    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_isomorphous_difference_misc.pyt   exercise_calcium_substitution   sN    c          C   s/  d }  d } t  d d ƒ j |  ƒ t  d d ƒ j | ƒ d d d d	 d
 d d g } | d d g } | d d g } t j d j | ƒ ƒ j ƒ  j } | d k s¦ t ‚ t j d j | ƒ ƒ j ƒ  j } | d k sÙ t ‚ d d d d d g } | d d g } | d g } t j d j | ƒ ƒ j ƒ  j } | d k s>t ‚ t j d j | ƒ ƒ j ƒ  j } | d k sqt ‚ d d l m	 } d d  l
 } | j j j d | ƒ } | j j ƒ  }	 | j d ƒ }
 |
 j j d j d d ƒ j ƒ  j ƒ  } | j d ƒ } | j j d j d d ƒ j ƒ  j ƒ  } |	 j ƒ  } d } } xÞ t | j j ƒ  ƒ D]Ç \ } } | | } | j | ƒ } | j | ƒ } | j ƒ  } | j j ƒ  d k rÊ| d  k r»| d! k sÁt ‚ | } n6 | j j ƒ  d" k r | d# k  r÷| d! k s t ‚ n  | | k rN| } qNqNW| | k s+t ‚ d  S($   Ns
  CRYST1   32.247   37.398   33.613  90.00  90.00  90.00 P 1
HETATM 1983  PG  AGS A 340       5.029   2.780   3.852  1.00 60.68           P
HETATM 1984  S1G AGS A 340       3.762   2.077   2.900  1.00 64.20           S
HETATM 1985  O2G AGS A 340       6.396   1.935   3.849  1.00 61.32           O
HETATM 1986  O3G AGS A 340       4.528   2.885   5.348  1.00 57.78           O
HETATM 1987  PB  AGS A 340       4.068   5.371   3.258  1.00 53.67           P
HETATM 1988  O1B AGS A 340       3.533   5.492   1.878  1.00 52.45           O
HETATM 1989  O2B AGS A 340       2.939   5.014   4.243  1.00 53.83           O
HETATM 1990  O3B AGS A 340       5.255   4.278   3.263  1.00 56.71           O
HETATM 1991  PA  AGS A 340       5.581   6.888   5.132  1.00 42.66           P
HETATM 1992  O1A AGS A 340       4.625   6.671   6.259  1.00 43.69           O
HETATM 1993  O2A AGS A 340       6.834   5.959   5.235  1.00 45.93           O
HETATM 1994  O3A AGS A 340       4.800   6.740   3.720  1.00 48.66           O
HETATM 1995  O5' AGS A 340       6.098   8.409   5.107  1.00 36.10           O
HETATM 1996  C5' AGS A 340       7.059   8.753   4.138  1.00 31.02           C
HETATM 1997  C4' AGS A 340       7.848   9.969   4.591  1.00 29.79           C
HETATM 1998  O4' AGS A 340       6.947  11.004   4.917  1.00 30.10           O
HETATM 1999  C3' AGS A 340       8.682   9.711   5.831  1.00 30.12           C
HETATM 2000  O3' AGS A 340       9.998   9.322   5.503  1.00 29.10           O
HETATM 2001  C2' AGS A 340       8.619  11.034   6.578  1.00 30.77           C
HETATM 2002  O2' AGS A 340       9.677  11.886   6.190  1.00 29.37           O
HETATM 2003  C1' AGS A 340       7.319  11.667   6.111  1.00 30.26           C
HETATM 2004  N9  AGS A 340       6.261  11.498   7.129  1.00 27.43           N
HETATM 2005  C8  AGS A 340       5.454  10.400   7.302  1.00 27.85           C
HETATM 2006  N7  AGS A 340       4.609  10.631   8.330  1.00 29.03           N
HETATM 2007  C5  AGS A 340       4.862  11.863   8.817  1.00 26.18           C
HETATM 2008  C6  AGS A 340       4.295  12.588   9.859  1.00 26.06           C
HETATM 2009  N6  AGS A 340       3.275  12.079  10.559  1.00 28.35           N
HETATM 2010  N1  AGS A 340       4.767  13.859  10.138  1.00 29.55           N
HETATM 2011  C2  AGS A 340       5.794  14.401   9.385  1.00 29.19           C
HETATM 2012  N3  AGS A 340       6.356  13.672   8.351  1.00 28.57           N
HETATM 2013  C4  AGS A 340       5.896  12.422   8.071  1.00 25.89           C
HETATM 2014 MN    MN A 341       2.683   3.335   5.745  1.00 47.43          MN
sW  CRYST1   32.247   37.398   33.613  90.00  90.00  90.00 P 1
HETATM 1983  PG  AGS A 340       5.029   2.780   3.852  1.00 60.68           P
HETATM 1984  S1G AGS A 340       3.762   2.077   2.900  1.00 64.20           S
HETATM 1985  O2G AGS A 340       6.396   1.935   3.849  1.00 61.32           O
HETATM 1986  O3G AGS A 340       4.528   2.885   5.348  1.00 57.78           O
HETATM 1987  PB  AGS A 340       4.068   5.371   3.258  1.00 53.67           P
HETATM 1988  O1B AGS A 340       3.533   5.492   1.878  1.00 52.45           O
HETATM 1989  O2B AGS A 340       2.939   5.014   4.243  1.00 53.83           O
HETATM 1990  O3B AGS A 340       5.255   4.278   3.263  1.00 56.71           O
HETATM 1991  PA  AGS A 340       5.581   6.888   5.132  1.00 42.66           P
HETATM 1992  O1A AGS A 340       4.625   6.671   6.259  1.00 43.69           O
HETATM 1993  O2A AGS A 340       6.834   5.959   5.235  1.00 45.93           O
HETATM 1994  O3A AGS A 340       4.800   6.740   3.720  1.00 48.66           O
HETATM 1995  O5' AGS A 340       6.098   8.409   5.107  1.00 36.10           O
HETATM 1996  C5' AGS A 340       7.059   8.753   4.138  1.00 31.02           C
HETATM 1997  C4' AGS A 340       7.848   9.969   4.591  1.00 29.79           C
HETATM 1998  O4' AGS A 340       6.947  11.004   4.917  1.00 30.10           O
HETATM 1999  C3' AGS A 340       8.682   9.711   5.831  1.00 30.12           C
HETATM 2000  O3' AGS A 340       9.998   9.322   5.503  1.00 29.10           O
HETATM 2001  C2' AGS A 340       8.619  11.034   6.578  1.00 30.77           C
HETATM 2002  O2' AGS A 340       9.677  11.886   6.190  1.00 29.37           O
HETATM 2003  C1' AGS A 340       7.319  11.667   6.111  1.00 30.26           C
HETATM 2004  N9  AGS A 340       6.261  11.498   7.129  1.00 27.43           N
HETATM 2005  C8  AGS A 340       5.454  10.400   7.302  1.00 27.85           C
HETATM 2006  N7  AGS A 340       4.609  10.631   8.330  1.00 29.03           N
HETATM 2007  C5  AGS A 340       4.862  11.863   8.817  1.00 26.18           C
HETATM 2008  C6  AGS A 340       4.295  12.588   9.859  1.00 26.06           C
HETATM 2009  N6  AGS A 340       3.275  12.079  10.559  1.00 28.35           N
HETATM 2010  N1  AGS A 340       4.767  13.859  10.138  1.00 29.55           N
HETATM 2011  C2  AGS A 340       5.794  14.401   9.385  1.00 29.19           C
HETATM 2012  N3  AGS A 340       6.356  13.672   8.351  1.00 28.57           N
HETATM 2013  C4  AGS A 340       5.896  12.422   8.071  1.00 25.89           C
HETATM 2014 MN    MN A 341       1.319   3.281   7.076  0.50 47.43          MN
HETATM   60  C   ACT     1       2.759   8.395   7.862  1.00 18.56           C
HETATM   61  O   ACT     1       3.812   8.507   7.193  1.00 19.26           O
HETATM   62  OXT ACT     1       2.218   9.388   8.383  1.00 18.36           O
HETATM   63  CH3 ACT     1       2.127   7.078   8.030  1.00 18.08           C
s   tst_anom_iso_diff_1.pdbt   ws   tst_anom_iso_diff_2.pdbs   phenix.fmodels   high_resolution=1.5s	   type=reals   label=Fs   r_free_flags_fraction=0.1s   wavelength=1.77s(   add_random_error_to_amplitudes_percent=5s(   output.file_name=tst_anom_iso_diff_1.mtzs(   output.file_name=tst_anom_iso_diff_2.mtzt    i    s   phenix.fobs_minus_fobs_maps$   f_obs_1_file=tst_anom_iso_diff_2.mtzs$   f_obs_2_file=tst_anom_iso_diff_1.mtzs   omit_selection="element MN"s,   output_file=tst_anom_iso_diff_map_coeffs.mtzs   anomalous=Trues4   output_file=tst_anom_iso_diff_map_coeffs_control.mtziÿÿÿÿ(   t   file_readert
   pdb_strings    tst_anom_iso_diff_map_coeffs.mtzR   g      Ð?s(   tst_anom_iso_diff_map_coeffs_control.mtzt   MNi
   i   t   ACTi   (   t   opent   writeR   R   t   joinR   t   return_codeR   t   iotbxR7   t   iotbx.pdb.hierarchyt   pdbR   t   inputR   R   R   R   R   R   R   R"   R   R    R#   t   fetch_labelst   resnamet   strip(   t   pdb_1t   pdb_2t	   base_argst   args_1t   args_2t   rcR7   R?   R.   R/   t   mtz_1t   map_1t   mtz_2t   map_2R"   t   anom_maxt   mn_anomR0   R1   R2   t	   anom_difft	   fobs_difft   labels(    (    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_isomorphous_difference_misc.pyt-   exercise_anomalous_isomorphous_difference_map4   sp    #'	

!!	
!!
"
	!t   __main__t   OK(	   t
   __future__R    t   libtbxR   R   R   R4   RU   t   __name__(    (    (    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_isomorphous_difference_misc.pyt   <module>   s   	-	Œ