ó
±™xTc           @   sˆ   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 „  Z	 e j
 d „ Z e d k r„ e e j d	 ƒ n  d S(
   iÿÿÿÿ(   t   division(   t   make_header(   t   Sorry(   t   AutoNc       	   C   s/   d d l  m }  |  d t d t d t d d ƒ S(   Niÿÿÿÿ(   t    generate_master_phil_with_inputst   enable_automatic_twin_detectiont    enable_pdb_interpretation_paramst   enable_stop_for_unknownst   phil_stringsÑ   
include scope mmtbx.ions.identify.ion_master_phil
include scope mmtbx.ions.svm.svm_phil_str
debug = True
  .type = bool
elements = Auto
  .type = str
use_svm = False
  .type = bool
nproc = Auto
  .type = int
(   t   mmtbx.command_lineR   t   Truet   False(   R   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/command_line/water_screen.pyt   master_phil   s    c         C   s  d } d d  l  } d d  l } | j j d |  d t ƒ  d | d t d t d d	 d
 t d t ƒ } | j } | j } | j } | j	 r© | j
 t k r© t d d ƒ ‚ q© n  | j } | j }	 t d d | ƒd  }
 | j	 rì | j j j }
 n  | j j j d | d | d |	 d | j j d | d | j d | j d | d |
 ƒ 	} | j d | ƒ t } | j
 t k	 rê| j
 d  k	 rêd d l m } | j ƒ  } | j
 j d d ƒ } | j ƒ  } x6 | D]+ } | j  ƒ  | k r¸t d | ƒ ‚ q¸q¸Wn  | j! d | d | j d | ƒ } | | f S(   Ns¼   
mmtbx.water_screen model.pdb data.mtz [options ...]

Utility to flag waters that may actually be elemental ions, based on local
environment, electron density maps, and atomic properties.
iÿÿÿÿt   argsR   t   outt   process_pdb_filet    set_wavelength_from_model_headert   set_inelastic_form_factorst   sasakit   create_fmodelt   prefer_anomalouss9   You must specify elements to consider when using the SVM s   prediction method.s   Inspecting water moleculest   pdb_hierarchyt   fmodelt   geometry_restraints_managert
   wavelengtht   paramst   verboset   nproct   logt   manager_class(   t   chemical_elementst   ,t    s   Unrecognized element '%s't   debugt
   candidates("   t   mmtbx.ions.identifyR	   t   command_linet   load_model_and_dataR   R
   R   t   xray_structureR   t   use_svmt   elementsR   R   R   t   geometryR   t   Nonet   ionst   svmt   managert   identifyt   create_managert   inputR   R!   R   t"   show_current_scattering_statisticst   cctbx.eltbxR   t   proper_upper_listt   replacet   splitt   uppert   analyze_waters(   R   R   t   usage_stringt   mmtbxt   cmdlineR   R&   R   R   R)   R   R-   R"   R   t   luR(   t   elemt   results(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/command_line/water_screen.pyt   run   sd    															t   __main__i   (   t
   __future__R    t   libtbx.str_utilsR   t   libtbx.utilsR   t   libtbxR   t   sysR   t   stdoutR>   t   __name__t   argv(    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/command_line/water_screen.pyt   <module>   s   	9