ó
É™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 m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l Z d  d l m Z m Z d  d l Z d  d l Z d „  Z e d	 k rý e ƒ  n  d S(
   iÿÿÿÿ(   t   division(   t   ChemicalEnvironmentN(   t   ions(   t   monomer_library(   t   chem_carboxyt
   chem_amidet   chem_backbonet
   chem_watert   chem_phosphatet   chem_nitrogen_primaryt   chem_nitrogen_secondaryt   chem_chloridet   chem_oxygent   chem_nitrogent   chem_sulfur(   t   OrderedDictt   Counterc          C   s”  t  j j d ƒ s4 d j t j j t ƒ d ƒ GHd  St d t	 i d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6ƒ g f d	 t	 i d t
 6d
 t 6d t 6ƒ t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d
 t 6d t 6d t 6d t 6ƒ g f d t	 i d t
 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6ƒ g f d t	 i d t
 6d
 t 6ƒ t	 i d t
 6d t 6ƒ t	 i d t
 6d t 6ƒ g f d t	 i d t
 6ƒ g f d t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d
 t 6ƒ t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d
 t 6ƒ g f d t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ g f d t	 i d
 t 6d t
 6d
 t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6ƒ t	 i d
 t 6d t
 6d
 t 6d t 6ƒ g f d t	 i d t 6d t
 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6ƒ g f d t	 i d t
 6d t 6d
 t 6d t 6ƒ t	 i d t
 6d t 6d t 6ƒ t	 i d
 t
 6d t 6d
 t 6ƒ g f d t	 i d t
 6d t 6d t 6d t 6ƒ t	 i d
 t 6d t
 6d t 6d t 6d t 6d t 6ƒ g f d t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ g f d t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ g f d t	 i d t
 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6ƒ g f d t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d t
 6d t 6d t 6d t 6ƒ g f d t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ t	 i d t 6d
 t
 6d t 6d t 6d t 6ƒ t	 i d t
 6d t 6d t 6d t 6d t 6ƒ g f d t	 i d t
 6d t 6d t 6ƒ t	 i d t
 6d
 t 6d t 6ƒ t	 i d t
 6d t 6d t 6ƒ g f g ƒ }  x3|  j ƒ  D]%\ } } t  j j d t j j d d d | d ƒ d  t j j ƒ } t j j ƒ  } t j j ƒ  } t j j d! | d" | d# | d$ d  d% t d& t  j  j! ƒ  ƒ } | j" d' t# ƒ } | j$ ƒ  } | j% j& }	 | j' d( j( ƒ  }
 t) j* j+ j, d) d  d* |	 d+ | d, |
 ƒ } t- t* j. t* j/ ƒ } | j0 d- g ƒ g  t1 | j2 ƒ D]3 \ } } | j3 ƒ  j4 j5 ƒ  j6 ƒ  | k rŸ
| ^ qŸ
} t7 | ƒ t7 | ƒ k sö
t8 ‚ xŽ t9 t: t7 | ƒ ƒ | | ƒ D]n \ } } } t; | | j< | d. t# ƒ| ƒ } | j= | k rd/ G| G| GHd0 G| j= GHd1 G| GHt> j? ƒ  qqWqb	Wd2 GHd  S(3   Nt   phenix_regressions   Skipping {}i   t   2qngi   i   i   i   t   3rvai   t   1mjht   4e1ht   2xuzt   3zlit   3e0ft   3dkqt   2o8qt   1tggi   t   3zu8t   1ofst   3ul2t   3snmt   3qlqt   2gdft   1q8hi   t   relative_patht   mmtbxR   s   .pdbt   testt   mon_lib_srvt   ener_libt	   file_namet   raw_recordst   force_symmetryt   logt   show_energiesi    t   fmodelt   pdb_hierarchyt   xray_structuret   connectivityt   CLt   filter_by_two_fofcs*   Problem detecting chemistry environment ins
   Found:    s
   Should be:t   OK(@   t   libtbxt   envt
   has_modulet   formatt   ost   patht   splitt   __file__R   R   R   R   R   R   R   R
   R	   R   R   R   R   t   itemst   find_in_repositoriest   joint   isfileR   t   serverR'   t   pdb_interpretationt   processt   Nonet   Truet   utilst   null_outt   geometry_restraints_managert   FalseR/   t   all_chain_proxiesR.   t   shell_sym_tablest   full_simple_connectivityR$   R   t   identifyt   managert   sett   DEFAULT_IONSt   TRANSITION_METALSt   difference_updatet	   enumeratet	   pdb_atomst   fetch_labelst   resnamet   stript   uppert   lent   AssertionErrort   zipt   xrangeR   t   find_nearby_atomst	   chemistryt   syst   exit(   t   modelst   modelt   expected_environmentst   pdb_pathR&   R'   t   processed_pdb_filet   geometryR/   R.   R0   RM   t   elementst   i_seqt   atomt   metalst   indext   metalt   expected_environmentR5   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/ions/tst_environment.pyt   exercise   sB   
$



$
"
""
"
"
"

"
"
"
"
"
"-		-+		t   __main__(   t
   __future__R    t   mmtbx.ions.environmentR   t   mmtbx.ions.identifyR$   R   t(   mmtbx.monomer_library.pdb_interpretationR   R   R   R   R   R   R	   R
   R   R   R   R   t   libtbx.load_envR4   t   collectionsR   R   R8   R^   Rm   t   __name__(    (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/ions/tst_environment.pyt   <module>   s   L	Â