ó
�™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 m Z 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  d l m Z m Z d  d l m Z d  d
 l Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d „  Z& d  Z' d! Z( d" Z) d# Z* d$ Z+ d% Z, d& Z- d' Z. d( Z/ d) Z0 d* Z1 d+ Z2 d, Z3 d- „  Z4 e4 d. ƒ Z5 e4 d/ ƒ Z6 e4 d0 ƒ Z7 e4 d1 ƒ Z8 e4 d2 ƒ Z9 e4 d3 ƒ Z: e4 d4 ƒ Z; e4 d5 ƒ Z< e4 d6 ƒ Z= e4 d7 ƒ Z> e4 d8 ƒ Z? e4 d9 ƒ Z@ e4 d: ƒ ZA e4 d; ƒ ZB e4 d< ƒ ZC e4 d= ƒ ZD e4 d> ƒ ZE e4 d? ƒ ZF e4 d@ ƒ ZG e4 dA ƒ ZH e4 dB ƒ ZI e4 dC ƒ ZJ e4 dD ƒ ZK e4 dE ƒ ZL dF ZM dG ZN dH ZO dI ZP dJ ZQ eR dK k r$e& ƒ  n  d
 S(L   iÿÿÿÿ(   t   division(   t   crystal(   t   uctbx(   t   sgtbx(   t   adptbx(   t   xray(   t   shelx(   t   crystal_symmetry_from_ins(   t   tokensN(   t   approx_equalt   Exception_expected(   t   are_equivalentc          C   s¿  t  j d t j t ƒ ƒ }  t |  ƒ } yz| j ƒ  \ } } | d dM f k sT t ‚ | j ƒ  \ } } | d dN f k s~ t ‚ | j ƒ  \ } } | d
 dO f k s¨ t ‚ | j ƒ  \ } } | d dP f k sÒ t ‚ | j ƒ  \ } } | d dQ f k sü t ‚ | j ƒ  \ } } | d dR f k s&t ‚ | j ƒ  \ } } | d dS f k sPt ‚ | j ƒ  \ } } | d dT f k szt ‚ | j ƒ  \ } } | d dU f k s¤t ‚ | j ƒ  \ } } | d dV f k sÎt ‚ | j ƒ  \ } } | d! dW f k søt ‚ | j ƒ  \ } } | d" t j	 d# d ƒ f f k s1t ‚ | j ƒ  \ } } | j ƒ  \ } } | j ƒ  \ } } | j ƒ  \ } } | j ƒ  \ } } | j ƒ  \ } } | d$ dX f k sµt ‚ | j ƒ  \ } } | dY k sÙt ‚ | j ƒ  \ } } | d$ dZ f k st ‚ | j ƒ  \ } } | d( t j
 d f d[ f k s9t ‚ | j ƒ  \ } } | d( t j d f d\ f k sot ‚ | j ƒ  \ } } | d+ d] f k s™t ‚ | j ƒ  \ } } | d- t j d. d/ ƒ t j d. d ƒ t j d. d ƒ t j d. d0 d1 d ƒ f f k st ‚ | j ƒ  \ } } | d2 t j
 d f d3 t j d. d4 ƒ t j d. d5 ƒ f f k s\t ‚ | j ƒ  \ } } | d6 d^ f k s†t ‚ | j ƒ  \ } } | d6 d_ f k s°t ‚ | j ƒ  \ } } | j ƒ  \ } } | j ƒ  \ } } | dL d` f k sþt ‚ | j ƒ  \ } } | j ƒ  \ } } | j ƒ  \ } } | dL da f k sLt ‚ | j ƒ  \ } } | j ƒ  \ } } y | j ƒ  \ } } t ‚ Wn t k
 rŸn XWn t k
 rºt ‚ n Xd  S(b   Nt   filet   TITLs   in Pbcat   CELLg‘'I×L¾æ?gffffff@g¢E¶óý#@gÉv¾Ÿ¯)@iZ   t   ZERRi   gü©ñÒMb`?gú~j¼t“h?i    t   LATTi   t   SYMMs   0.5-X, -Y, 0.5+Zs   -X, 0.5+Y, 0.5-Zs   1/2+X, 0.5-Y, -Zt   SFACt   Ct   Ht   Ot   Nt   UNITi    i(   i   i   t   TEMPigÿÿÿs   L.S.t   BONDt   elementt   REMt   +s   /path/to/filename.inss)   Protracted example of residues on commandt   HFIXi   i+   t   EQIVs   1-X, -Y, -Zt   CONFt   namet   C4t   O2t   symmetryt   DFIXg      ø?t   C2t   C3t   __ATOM__i   g¡¼�£9×?gÅuŒ+.ŽÄ?g”£ Q0c¢¿i   g¶ø ã¤?gÙ|\*Æ™?g' ‰°áé•?g�St$—ÿp¿g‚âÇ˜»–€¿g'"àª„?t   O3g5ëŒï‹Kæ?g$Õw~Q‚¾?g^Mž²š®Ð?g«!q�¥�?g+Ù±ˆ×•?gÅÊ¦\á�?gK°8œùÕ?g¾0™*…¿giUMu?¿t   RESI(   s   in Pbca(   g‘'I×L¾æ?gffffff@g¢E¶óý#@gÉv¾Ÿ¯)@iZ   iZ   iZ   (   i   gü©ñÒMb`?gü©ñÒMb`?gú~j¼t“h?i    i    i    (   i   (   s   0.5-X, -Y, 0.5+Z(   s   -X, 0.5+Y, 0.5-Z(   s   1/2+X, 0.5-Y, -Z(   R   R   R   R   (   i    i(   i   i   (   igÿÿÿ(   i   (    (   R   s   /path/to/filename.ins(   s)   Protracted example of residues on command(   i   (   i+   (   i   s   1-X, -Y, -Z(   R"   i   g¡¼�£9×?gÅuŒ+.ŽÄ?g”£ Q0c¢¿i   g¶ø ã¤?gÙ|\*Æ™?g' ‰°áé•?g�St$—ÿp¿g‚âÇ˜»–€¿g'"àª„?(   R(   i   g5ëŒï‹Kæ?g$Õw~Q‚¾?g^Mž²š®Ð?i   g«!q�¥�?g+Ù±ˆ×•?gÅÊ¦\á�?gK°8œùÕ?g¾0™*…¿giUMu?¿(   i   (   R   (   R   t   command_streamt	   cStringIOt   StringIOt   ins_mundane_tinyt   itert   nextt   AssertionErrorR   t   element_tokent   residue_number_tokt   residue_class_tokt   atomname_tokent   StopIteration(   t   streamt   it   cmdt   line(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_lexing   s     '$$'!    
c          C   sÇ   t  j d t j t ƒ ƒ }  t |  ƒ } y‚ | j ƒ  \ } } | d d f k sT t ‚ | j ƒ  \ } } | d d f k s~ t ‚ | j ƒ  \ } } | d d	 f k s¨ t ‚ Wn t k
 rÂ t ‚ n Xd  S(
   NR   R   s0   Solution 1  R1  0.100,  Alpha = 0.0015  in P2(1)s   C13 O10R   s   SUCROSE IN P2(1)(   s0   Solution 1  R1  0.100,  Alpha = 0.0015  in P2(1)(   s   C13 O10(   s   SUCROSE IN P2(1)(	   R   R*   R+   R,   t   ins_equal_sign_in_remR.   R/   R0   R5   (   R6   R7   R8   R9   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_lexing_bisa   s    c       
   C   s­  t  j d t j t ƒ ƒ }  t j j ƒ  } t  j |  | ƒ }  t  j	 |  j
 ƒ  | ƒ }  |  j ƒ  | j j t j d t j d ƒ d d ƒ d	 d
 d d
 ƒs� t ‚ t j d t j t ƒ ƒ } | j | j ƒ sÐ t ‚ t | j d d d ƒsî t ‚ t  j d t j t ƒ ƒ }  t  j |  d t j j ƒ  ƒ} | j ƒ  | j j j t j d t j d ƒ d d ƒ d	 d
 d d
 ƒsst ‚ t j d t j t ƒ ƒ } | j | j j ƒ s©t ‚ d  S(   NR   t	   unit_cellgffffff@g¢E¶óý#@gÉv¾Ÿ¯)@iZ   t   space_group_symbolt   Pbcat   relative_length_tolerancegVçž¯Ò<t   absolute_angle_toleranceg‘'I×L¾æ?t   epsgñhãˆµøÔ>t   builderi   i   i   ic   id   ie   t   P1(   gffffff@g¢E¶óý#@gÉv¾Ÿ¯)@iZ   iZ   iZ   (   i   i   i   ic   id   ie   (   R   R*   R+   R,   R-   t   iotbxt   builderst   crystal_symmetry_buildert   crystal_symmetry_parsert   wavelength_parsert   filtered_commandst   parset   crystal_symmetryt   is_similar_symmetryR   R#   R   R=   R0   R   t   extract_fromR	   t   wavelength_in_angstromt   ins_P1RC   (   R6   RC   t   cst   l(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt!   exercise_crystal_symmetry_parsingo   s:    
				
			c          C   s¥  d* }  yA t j j d t j j t j j t j j ƒ } |  | ƒ  f 7}  Wn t k
 rZ n Xxs|  D]k} t j	 d t
 j t ƒ ƒ } t j | | ƒ } | j ƒ  | j } | d d d k sÂ t ‚ | d d j ƒ  d k sâ t ‚ | d d d	 k sü t ‚ | d
 d d d	 g d d d g g k s*t ‚ | d d d k sDt ‚ | d d d k s^t ‚ | d i d d 6d d 6d d 6d d 6d d 6d+ d 6k sžt ‚ | d d k s´t ‚ | d d j ƒ  d k sÔt ‚ | d d d k sît ‚ | d  d, k st ‚ | d" d# k st ‚ | rb | j | d" k s9t ‚ | j } t | t j j j ƒ s`t ‚ | j | d d k s}t ‚ | j | d d k sšt ‚ | j d$ k s¯t ‚ | j j ƒ  d% k sÍt ‚ qb qb Wt |  ƒ d k rçd  S|  d } t
 j d& ƒ } t j	 d | ƒ } t j | | ƒ } | j ƒ  | j j ƒ  d' k sIt ‚ t
 j d( ƒ } t j	 d | ƒ } t j | | ƒ } | j ƒ  | j j ƒ  d) k s¡t ‚ d  S(-   Nt#   builder_to_test_instruction_parsingR   t   hklft   si   t   matrixs   z,x+y,xt   ni   t   omit_hkli   i   iÿÿÿÿiýÿÿÿt   omitiþÿÿÿt	   two_thetai8   t   wghtg6<½R–±?t   agqà-�Ü?t   bi    t   ct   dt   et   ft   mergt   twins   -x,y,-zt   basfgºI+‡Ö?t   tempiÄÿÿÿt   hklf4s   l,h+k,hsP   HKLF 4 1  0.0000  0.0000  0.3330  1.0000  0.0000  0.0000  0.0000  1.0000 -0.3330s	   y+3*z,x,ys   HKLF 4 1 -1 2 0 -1 0 0 0 -1 1s   -a+2*b,-a,-b+c(   NgUUUUUUÕ?(   gºI+‡Ö?(   t   NoneRE   RF   t   mixin_builder_classt   reflection_data_source_buildert   weighting_scheme_buildert   twinning_buildert   AttributeErrorR   R*   R+   R,   t   ins_aspirint   instruction_parserRK   t   instructionsR0   t   as_xyzt   temperature_in_celsiust   weighting_schemet
   isinstancet   least_squarest   mainstream_shelx_weightingR]   R^   t   reflection_file_formatt   data_change_of_basis_opt   as_hklt   lent   as_abc(   t   alternativest   _RC   R6   RR   t   inst   ws(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_instruction_parsing�   sh    			
	 .( 	" 
	

c           C   s.   t  ƒ  t ƒ  t ƒ  t ƒ  t ƒ  t ƒ  d  S(   N(   t   exercise_special_positionst   exercise_aspirint   exercise_disorderedt   exercise_invalidt   exercise_atom_with_peakst   exercise_q_peaks(    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_xray_structure_parsingÉ   s    c          C   s’  t  j j d t ƒ }  t j d t j t ƒ ƒ } t j	 | |  ƒ } t j
 | j ƒ  d |  d t ƒ} | j ƒ  |  j j ƒ  } | d j d k s• t ‚ t | d j d d
 d ƒs· t ‚ | d j d k sÐ t ‚ | d j j ƒ  sé t ‚ t | d j d ƒ st ‚ | d j d k st ‚ t | d j d d
 d ƒs@t ‚ | d j d k sYt ‚ | d j j ƒ  srt ‚ t | d j d ƒ sŽt ‚ d  S(   Nt   set_grad_flagsR   RC   t   strictly_shelxli    t   O001g ïU+~ã?g;Ç€ìõîã?gÉYØÓê?RB   gñhãˆµøä>i   g¥t{Ic”?iÿÿÿÿt   C00Ng�KqUÙwî?g±ÄÊ¦\ì?g©ÞØ*Áæ?g\ætYLlž?(   g ïU+~ã?g;Ç€ìõîã?gÉYØÓê?(   g�KqUÙwî?g±ÄÊ¦\ì?g©ÞØ*Áæ?(   RE   RF   t   crystal_structure_buildert   TrueR   R*   R+   R,   t   ins_with_atom_peak_heightsRH   t   atom_parserRJ   t   FalseRK   t	   structuret
   scattererst   labelR0   R	   t   sitet	   occupancyt   flagst	   use_u_isot   u_iso(   RC   R6   t   sc(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyR…   Ñ   s$    		
""c          C   sñ  t  j j d t ƒ }  t j d t j t ƒ ƒ } t j	 | |  ƒ } t j
 | j ƒ  d |  d t ƒ} | j ƒ  |  j j ƒ  } |  j j ƒ  } |  j } t | ƒ d k s¬ t ‚ | d j d k sÅ t ‚ t | d j d d d ƒsç t ‚ t | | d j ƒ d k s	t ‚ t | ƒ d k s!t ‚ t | d j d  d d ƒsCt ‚ t | d j d d d ƒset ‚ t | d j d! d d ƒs‡t ‚ t | d j d d d ƒs©t ‚ t | d j d" d d ƒsËt ‚ t | d j d d d ƒsít ‚ d  S(#   NRˆ   R   RC   R‰   i   iÿÿÿÿR"   gíõî�÷ªä?glÎÁ3¡Iì?gu­½OUß?RB   gñhãˆµøä>s:   0.01055   0.00848   0.00946   0.00007   0.00427   -0.00235i    gû\mÅþ²ã?g cîZB>æ?gI.ÿ!ýöã?g�íµ ÷Æ°>g{®Gázä?g{®Gáz„?i   g³q¬‹Ûà?geâX·å?gV-²�Û?g)\�Âõ(ä?i   gèj+ö—Ýã?g×òAÏfð?gðHPüË?gq=
×£pÝ?(   gíõî�÷ªä?glÎÁ3¡Iì?gu­½OUß?(   gû\mÅþ²ã?g cîZB>æ?gI.ÿ!ýöã?(   g³q¬‹Ûà?geâX·å?gV-²�Û?(   gèj+ö—Ýã?g×òAÏfð?gðHPüË?(   RE   RF   RŒ   R�   R   R*   R+   R,   t   ins_with_q_peaksRH   R�   RJ   R�   RK   R‘   R=   R’   t   electron_density_peaksRz   R0   R“   R	   R”   t   shelx_u_cift   u_start   height(   RC   R6   t   ucR™   t   q(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyR†   ç   s,    		
	""""""c          C   s´   t  j j d t j t ƒ ƒ }  g  |  j ƒ  D] } | j ^ q+ } g  |  j ƒ  D] } | j ƒ  ^ qM } | d d d d d g k s† t	 ‚ t
 | d d d d d g d d ƒs° t	 ‚ d  S(   NR   i   i   i   g§èH.ÿï?RB   gVçž¯Ò<(   R   R‘   t
   from_shelxR+   R,   t   ins_special_positionsR’   R•   t   multiplicityR0   R	   (   R‘   R™   t   occupanciest   multiplicities(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyR�     s    "%!c          C   s  xt  t f D]}  t j j d t j t ƒ d |  ƒ } t | t j ƒ | j	 ƒ  j
 t j d t j d" ƒ d	 d
 ƒ d d d d ƒs‰ t ‚ | j ƒ  } | j ƒ  } t | ƒ d k s¹ t ‚ t g  | D] } | j | f ^ qÃ ƒ } | d } | j d# k s t ‚ | j d k st ‚ | j j ƒ  r4| j j ƒ  s:t ‚ t | | j ƒ d k sXt ‚ | d } | j j ƒ  r�| j j ƒ  s‡t ‚ t | j d d d ƒs¥t ‚ | d } | j j ƒ  rÎ| j j ƒ  sÔt ‚ | d }	 t |	 j d d d ƒsüt ‚ g  d$ D] }
 | |
 ^ q\ } } } g  | | | f D] } | j j ƒ  ^ q2sSt ‚ | j | j k os| j k n s~t ‚ | d } t | j d  | j | ƒ ƒ s­t ‚ |  sBx\| D]� } | j } | j ƒ  sÜt ‚ | j ƒ  sït ‚ | j  ƒ  st ‚ | j! ƒ  st ‚ | j" ƒ  s(t ‚ | j# ƒ  sºt ‚ qºWq xÍ | D]Å } | j } | j ƒ  sy| j d! k syt ‚ | j ƒ  sŒt ‚ t$ | j ƒ  | j  ƒ  o®| j! ƒ  ƒ sºt ‚ t$ | j ƒ  | j  ƒ  oÜ| j! ƒ  ƒ sèt ‚ | j" ƒ  sût ‚ | j# ƒ  sIt ‚ qIWq Wd  S(%   NR   Rˆ   R=   g–C‹lçû&@g–C‹lç{@g-²�ïç&@iZ   g�Âõ(\çW@R>   s   P2(1)/cR@   gVçž¯Ò<RA   i   R"   ghwH1@"ì?g+‡ÙÎ÷Á?gsePmp"ª?i   s9   0.05893   0.05202   0.05656   0.01670   0.01559   0.01156t   H2gÿ+j0µ?RB   gñhãˆµøä>R&   t   H3gÎüjÌ±?t   H9At   H9Bt   H9Ct   C9g      ø?t   C7(   g–C‹lçû&@g–C‹lç{@g-²�ïç&@iZ   g�Âõ(\çW@iZ   (   ghwH1@"ì?g+‡ÙÎ÷Á?gsePmp"ª?(   R¨   R©   Rª   (%   R�   R�   R   R‘   R¡   R+   R,   Rn   Rt   RL   RM   R   R#   R   R=   R0   R’   Rz   t   dictR“   R”   R•   R–   R—   t   use_u_anisoRœ   R�   R	   R˜   t   u_iso_or_equivt	   grad_sitet   grad_occupancyt
   grad_u_isot   grad_u_anisot   grad_fpt   grad_fdpR   (   Rˆ   R‘   R’   R=   RV   t   scatterer_labelledt   o2t   h2t   c3t   h3t   lblt   h9at   h9bt   h9ct   ht   c9t   scattRb   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyR‚     sj    			(
%
%
%
#1+
%		!""c          C   sÓ  xÌt  t f D]¾}  t j j d |  ƒ } t j d t j t	 ƒ ƒ } t j
 | | ƒ } t j | j ƒ  | ƒ } | j ƒ  | j } | j ƒ  j t j d t j d ƒ d
 d ƒ d d d d ƒsÂ t ‚ | j ƒ  } | j ƒ  } t | ƒ d k sò t ‚ t g  | D] } | j | f ^ qü ƒ }	 g  d D] }
 |	 |
 ^ q!\ } } | j | j k sUt ‚ t | j d ƒ smt ‚ |  r | j j ƒ  sˆt ‚ | j j ƒ  s t ‚ n  g  d D] }
 |	 |
 ^ q§\ } } } } | j | j k o÷| j k o÷| j k n st ‚ t | j d | j ƒ s!t ‚ |  r\x2 | | | | f D] } | j j ƒ  s:t ‚ q:Wn  t | j d d d d d d d d d d d d d d d g ƒ s¡t ‚ | j j  d ƒ | j ƒ  j! ƒ  k s t ‚ q Wd  S(   NRˆ   R   R=   goƒÀÊ!@gR¸…ëQ@g¦›Ä °r@gÍÌÌÌÌìZ@g{®GáÊY@g¤p=
×óW@R>   s   P-1R@   gVçž¯Ò<RA   i   t   BR2t   BR3gð¿•ìØÐ?t   C12t   H121t   H122t   H123i   i   i    (   goƒÀÊ!@gR¸…ëQ@g¦›Ä °r@gÍÌÌÌÌìZ@g{®GáÊY@g¤p=
×óW@(   RÂ   RÃ   (   RÄ   RÅ   RÆ   RÇ   ("   R�   R�   RE   RF   RŒ   R   R*   R+   R,   t   ins_disorderedRH   R�   RJ   RK   R‘   RL   RM   R   R#   R   R=   R0   R’   Rz   R­   R“   R•   R	   R–   R±   t   conformer_indicest   sym_excl_indicest   countt   size(   Rˆ   RC   R6   t	   cs_parsert	   xs_parserR‘   R’   R=   RV   R¶   t   xt   br2t   br3t   c12t   h121t   h122t   h123R]   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyRƒ   F  sF    	
				(#&9	<c          C   sÆ  x,t  t f D]}  y. t j j d t j t ƒ d |  ƒ } t ‚ Wn+ t	 k
 rn } t
 | ƒ d k so t ‚ n Xy. t j j d t j t ƒ d |  ƒ } t ‚ Wn+ t	 k
 rÊ } t
 | ƒ d k sË t ‚ n Xy. t j j d t j t ƒ d |  ƒ } t ‚ Wq t	 k
 r*} | j d j d ƒ s+t ‚ q Xq Wt j j d t j t ƒ ƒ } d } xl | j ƒ  D]^ } | j d k r�t | j | ƒ s¾t ‚ q`| j d k r`t | j d | ƒ s¾t ‚ q`q`Wd  S(   NR   Rˆ   s(   ShelX: illegal argument '0.3.' at line 3s9   ShelX: wrong number of parameters for scatterer at line 3i    s   ShelX:gUMu€ì?t   CL2t   C28t   H28At   H28Bt   CL2Bt   C28Bi   (   RÖ   R×   RØ   RÙ   (   RÚ   RÛ   (   R�   R�   R   R‘   R¡   R+   R,   t   ins_invalid_scattR
   t   RuntimeErrort   strR0   t   ins_invalid_scatt_1t   ins_missing_sfact   argst
   startswitht   ins_disordered_with_part_sofR’   R“   R	   R•   (   Rˆ   R‘   Ra   t   occR™   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyR„   k  s<    	
	
	
$c          C   s—  d d  l  j j j j }  t j j ƒ  } t j	 d t
 j t ƒ ƒ } t j | | ƒ } t j | j ƒ  | ƒ } t j | j ƒ  | ƒ } | j ƒ  |  j d d d d ƒ |  j d d d d ƒ |  j d d d d
 ƒ |  j d d d d ƒ |  j d d d d ƒ |  j d d d d d t ƒ g } g  | j D] } | j d k r"| ^ q"} t | ƒ t | ƒ k sat ‚ x/ t | | ƒ D] \ }	 }
 |	 |
 k sqt ‚ qqWd  S(   NiÿÿÿÿR   t   constrained_site_indicesi   t   pivoti    i   i   i
   i	   i   i   i   i   i   i   i   i   t   rotatings2   smtbx.refinement.constraints.geometrical.hydrogens(   i   (   i   (   i
   (   i   (   i   (   i   i   i   (   t2   smtbx.refinement.constraints.geometrical.hydrogenst
   refinementt   constraintst   geometricalt	   hydrogensRE   RF   t%   constrained_crystal_structure_builderR   R*   R+   R,   Rn   RH   t   afix_parserRJ   R�   RK   t&   staggered_terminal_tetrahedral_xh_sitet   secondary_planar_xh_sitet   terminal_tetrahedral_xh3_sitesR�   t
   __module__Rz   R0   t   zip(   R}   RC   R6   t   l_cst   l_afixt   l_xst    expected_geometrical_constraintsR_   t   geometrical_constraintst   resultt   expected(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_afix_parsing�  s@    
							c    
      C   sÐ  d d  l  j j j }  t j j ƒ  } t j d t	 j
 t ƒ ƒ } t j | | ƒ } t j | j ƒ  | ƒ } | j ƒ  |  j d d d d d d ƒ |  j d d	 d d
 d d ƒ |  j d d d d d d ƒ |  j d d d d d d ƒ |  j d d d d d d ƒ |  j d d d d d d ƒ |  j d d d d d d ƒ |  j d d d d d d ƒ g } g  | j D] } | j d k r[| ^ q[} t | ƒ t | ƒ k sšt ‚ x/ t | | ƒ D] \ } }	 | |	 k sªt ‚ qªWd  S(   NiÿÿÿÿR   t   u_iso_scatterer_idxi   t   u_eq_scatterer_idxi    t
   multiplierg      ø?i   i   i
   i	   i   i   i   i   i   i   i   i   s    smtbx.refinement.constraints.adp(   t    smtbx.refinement.constraints.adpRé   Rê   t   adpRE   RF   Rí   R   R*   R+   R,   Rn   RH   R�   RJ   RK   t    u_iso_proportional_to_pivot_u_eqRò   Rz   R0   Ró   (
   R}   RC   R6   Rô   Rö   t   expected_u_iso_constraintsR_   t   u_iso_constraintsRù   Rú   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt+   exercise_u_iso_proportional_to_u_eq_parsing´  sV    
								c       	      s  d d  l  ‰  ‡  f d †  }  |  t ƒ } | d } t | ƒ d k sI t ‚ t | d j d ƒ se t ‚ t | d j d ƒ s� t ‚ t | d j d ƒ s� t ‚ | d j d( k s¶ t ‚ | d j d) k sÏ t ‚ | d j d* k sè t ‚ t | d j d	 ƒ st ‚ t | d j d d+ ƒ s$t ‚ t | d j d	 ƒ s@t ‚ | d j t	 j
 d ƒ k sbt ‚ | d j t	 j
 d ƒ k s„t ‚ | d j d  k s�t ‚ |  t ƒ } | d } | j ƒ  d k sËt ‚ y |  t ƒ } Wn+ t k
 r} t | ƒ d k s	t ‚ n Xy |  t ƒ } Wn+ t k
 rF} t | ƒ d k sGt ‚ n X|  t ƒ } | d } | j ƒ  d k sut ‚ t | d j d, ƒ s‘t ‚ t | d j d- ƒ s­t ‚ | d j d  k sÆt ‚ | d j d  k sßt ‚ t | d j d. ƒ sût ‚ t | d j d/ ƒ st ‚ y |  t ƒ } Wn+ t k
 rT} t | ƒ d k sUt ‚ n X|  t ƒ } | d } | j ƒ  d k sƒt ‚ t | d j d0 d1 f ƒ s¥t ‚ | d j d  k s¾t ‚ t | d j d2 ƒ sÚt ‚ |  t ƒ } | d } | j ƒ  d k st ‚ t | d j d3 d4 f ƒ s*t ‚ | d j t	 j
 d ƒ t	 j
 d ƒ f k s[t ‚ t | d j d5 ƒ swt ‚ |  t ƒ } | d } | j ƒ  d k s¥t ‚ | d j d6 k s¾t ‚ | d j d7 k s×t ‚ | d j d8 k sðt ‚ t | d j d ƒ st ‚ t | d j d ƒ s(t ‚ t | d j d ƒ sDt ‚ |  t ƒ } | d } | j ƒ  d k srt ‚ t | d j d d9 ƒ s’t ‚ t | d j d d: ƒ s²t ‚ t | d j d d; ƒ sÒt ‚ |  t ƒ } | d } | j ƒ  d k s t ‚ t | d j d d< ƒ s t ‚ t | d j d d= ƒ s@t ‚ t | d j d d> ƒ s`t ‚ |  t ƒ } | d } | j ƒ  d k sŽt ‚ t | d j d d? ƒ s®t ‚ t | d j d d@ ƒ sÎt ‚ t | d j d dA ƒ sît ‚ |  t ƒ } | d } | j ƒ  d k st ‚ | d j dB k s5t ‚ | d j dC k sNt ‚ t | d j d ƒ sjt ‚ t | d j d ƒ s†t ‚ |  t ƒ } | d } | j ƒ  d k s´t ‚ | d j dD k sÍt ‚ | d j dE k sæt ‚ t | d j d dF ƒ st ‚ t | d j d dG ƒ s&t ‚ |  t ƒ } | d } | j ƒ  d k sTt ‚ | d j dH k smt ‚ | d j dI k s†t ‚ t | d j d dJ ƒ s¦t ‚ t | d j d dK ƒ sÆt ‚ |  t ƒ } | d } | j ƒ  d k sôt ‚ | d j dL k s	t ‚ | d j dM k s&	t ‚ t | d j d dN ƒ sF	t ‚ t | d j d dO ƒ sf	t ‚ |  t  ƒ } | d! } | j ƒ  d k s”	t ‚ dP dQ dR dS dT f } xM t! d ƒ D]? }	 | |	 j | |	 k sÙ	t ‚ t | |	 j d" ƒ s¶	t ‚ q¶	W|  t" ƒ } | d! } | j ƒ  d k s'
t ‚ xM t! d ƒ D]? }	 | |	 j | |	 k sW
t ‚ t | |	 j d# ƒ s4
t ‚ q4
W|  t# ƒ } | d! } | j ƒ  d k s¥
t ‚ dU }
 xQ t! d ƒ D]C }	 | |	 j | |	 k sÛ
t ‚ t | |	 j |
 |	 ƒ s¸
t ‚ q¸
W|  t$ ƒ } | d! } | j ƒ  d k s-t ‚ xM t! d ƒ D]? }	 | |	 j | |	 k s]t ‚ t | |	 j d" ƒ s:t ‚ q:W|  t% ƒ } | d! } | j ƒ  d k s«t ‚ xM t! d ƒ D]? }	 | |	 j | |	 k sÛt ‚ t | |	 j d# ƒ s¸t ‚ q¸W|  t& ƒ } | d! } | j ƒ  d k s)t ‚ xQ t! d ƒ D]C }	 | |	 j | |	 k sYt ‚ t | |	 j |
 |	 ƒ s6t ‚ q6W|  t' ƒ } | d$ } | j ƒ  d k s«t ‚ dV } dW }
 xU t! d ƒ D]G }	 | |	 j d | |	 k sët ‚ t | |	 j |
 |	 ƒ sÄt ‚ qÄW|  t( ƒ } | d$ } | j ƒ  d k s=t ‚ dX }
 xU t! d ƒ D]G }	 | |	 j d | |	 k swt ‚ t | |	 j |
 |	 ƒ sPt ‚ qPW|  t) ƒ } | d$ } | j ƒ  d k sÉt ‚ d dY d% d% d dZ f }
 xU t! d ƒ D]G }	 | |	 j d | |	 k st ‚ t | |	 j |
 |	 ƒ sðt ‚ qðW|  t* ƒ } | d$ } | j ƒ  d k sit ‚ d[ } d\ }
 xU t! d ƒ D]G }	 | |	 j d | |	 k s©t ‚ t | |	 j |
 |	 ƒ s‚t ‚ q‚W|  t+ ƒ } | d$ } | j ƒ  d k sût ‚ d] } d^ }
 xU t! d ƒ D]G }	 | |	 j d | |	 k s;t ‚ t | |	 j |
 |	 ƒ st ‚ qW|  t, ƒ } | d$ } | j ƒ  d k s�t ‚ d_ } d d` d% d% f }
 xU t! d ƒ D]G }	 | |	 j d | |	 k sÚt ‚ t | |	 j |
 |	 ƒ s³t ‚ q³Wd  S(a   Niÿÿÿÿc            s¹   t  j j ƒ  } t j d t j |  ƒ ƒ } t j | | ƒ } t j | j	 ƒ  | ƒ } t j
 | j	 ƒ  | ƒ } t j | j	 ƒ  | ƒ } | j ƒ  t | j ˆ  j j j ƒ s¯ t ‚ | j ƒ  S(   NR   (   RE   RF   t$   restrained_crystal_structure_builderR   R*   R+   R,   RH   Rî   RJ   R�   t   restraint_parserRK   Rt   t   restraints_managerRé   t
   restraintst   managerR0   t   proxies(   t   ins_nameRC   R6   Rô   Rõ   Rö   t   l_restraints(   t   smtbx(    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   parse_restraintsæ  s    
	t   bondi   i    g      ü?i   i   g     ˆ£@g¸…ëQ¸ž?s   -x+1,y,-z+1/2s)   ShelX: Invalid DFIX instruction at line 3t	   planarityi   i   i   i   i   i	   i
   i   i   i   id   s)   ShelX: Invalid FLAT instruction at line 3t   bond_similarityg     ˆƒ@s   1-X,+Y,0.5-Zt   adp_similarityg     ˆc@g¸…ëQ¸®?gìQ¸…ë±?t
   rigid_bondi'  iÄ	  t   isotropic_adpi   g      @g333333Ó?(   i   i    (   i   i   (   i   i   g’ËH¿}M?(   i    i   i   i   i   i   i   (   i   i   i	   i
   i   i   i   (   id   id   id   id   id   id   id   (   id   id   id   id   id   id   id   (   i    i   (   i   i   (   g     ˆƒ@g     ˆƒ@(   i   i    (   i   i   (   g     ˆ£@g     ˆ£@(   i    i   (   i   i   (   i   i   g’ËH¿}m?g’ËH¿}M?g’ËH¿}m?go£¼t?g’ËH¿}M?go£¼t?go£¼t?g’ËH¿}M?go£¼t?(   i    i   (   i   i   (   i    i   (   i   i   g’ËH¿}m?g’ËH¿}M?(   i    i   (   i   i   go£¼t?g’ËH¿}M?(   i    i   (   i   i   go£¼t?g’ËH¿}M?(   i    i   (   i    i   (   i   i   (   i   i   (   i   i   (   i'  iÄ	  i'  iÄ	  i'  (   i    i   i   i   (   i   id   id   i   (   g      @i   i   g      @g
×£p=
·?g
×£p=
·?(   i    i   i   (   i   id   id   (   i    i   i   (   g      @i   i   (   i    i   i   g
×£p=
·?(-   t   smtbx.refinement.restraintst   ins_dfix_across_symmRz   R0   R	   t   distance_idealt   i_seqst   weightt   rt_mx_jiR   t   rt_mxRh   t   ins_dfix_multipleRÌ   t   ins_invalid_dfixRÝ   RÞ   t   ins_invalid_dfix_2t   ins_flatt   sym_opst   weightst   ins_invalid_flatt   ins_sadit   ins_sadi_with_symt   ins_simu_simplet
   ins_simu_st   ins_simu_s_stt   ins_simu_s_st_dmaxt   ins_simu_atomst   ins_simu_s_atomst   ins_simu_s_st_atomst   ins_simu_s_st_dmax_atomst   ins_delu_simplet   ranget   ins_delu_s1t   ins_delu_s1_s2t   ins_delu_atomst   ins_delu_s1_atomst   ins_delu_s1_s2_atomst   ins_isor_simplet
   ins_isor_st   ins_isor_s_stt   ins_isor_atomst   ins_isor_s_atomst   ins_isor_s_st_atoms(   R  R
  t   shared_bond_proxyRa   t   shared_planarity_proxyt   shared_bond_similarity_proxyt   shared_apd_similarity_proxyt   shared_rigid_bond_proxyt   expected_i_seqsR7   t   expected_weightst   shared_isotropic_adp_proxy(    (   R  sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_restraint_parsingä  s¢   
 ""




'

   
   
   

  
  
  
 
 

 
 

!
!
!
!
!
!c          C   sñ  t  t ƒ }  |  d } | j ƒ  d k s. t ‚ | d } t | j d d d d d g ƒ s_ t ‚ t | j d g t | j ƒ ƒ s‡ t ‚ | d } t | j d d	 d
 d d d d d d d d g ƒ sÊ t ‚ t | j d g t | j ƒ ƒ sò t ‚ | j d  k st ‚ |  d } t | ƒ d k s)t ‚ | d } | j
 d k sHt ‚ | j d( k s]t ‚ t | j d ƒ sut ‚ | d } | j
 d k s”t ‚ | j d) k s©t ‚ t | j d ƒ sÁt ‚ | d } | j
 d k sàt ‚ | j d* k sõt ‚ t | j d ƒ st ‚ | d } | j d+ k s,t ‚ t | j
 d ƒ sDt ‚ t | j d ƒ s\t ‚ | d } | j d, k s{t ‚ t | j
 d ƒ s“t ‚ t | j d ƒ s«t ‚ |  d } t | ƒ d  k sÍt ‚ | d } | j d- k sìt ‚ t | j d! ƒ st ‚ |  d" } | j ƒ  d# k s&t ‚ | d } | j d. k sEt ‚ t | j d$ ƒ s]t ‚ |  d% } | j ƒ  d k st ‚ | d } | j d/ k sžt ‚ t | j d! ƒ s¶t ‚ | d& } | j d0 k sÕt ‚ t | j d! ƒ sít ‚ d  S(1   NR  i   i   i   i   i   i    i   i   i   i   i   i   i   i   i
   i	   i   id   R  gìQ¸…ë@gffffff@gŸ?æ(—@g      @gñ.Lj«@i   g{®Gáz@g     ˆƒ@gÝ$�•Cõ?g     ˆ£@R  i   i   R  i+   i'  R  iÿÿÿÿi   (   i	   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i   (   i    i   (   i   (   i   (   R  t   ins_residuesRÌ   R0   R	   R  R!  Rz   R   Rh   R  R  (   R
  t   planarity_proxiest   pt   bond_proxiest   adp_sim_proxiesR  t   isot(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   exercise_residuesñ  sd    

'(
9(












c         C   sÎ   d d  l  } t j j ƒ  } t j d t j |  ƒ ƒ } t j | | ƒ } t j	 | j
 ƒ  | ƒ } t j | j
 ƒ  | ƒ } t j | j
 ƒ  | ƒ } | j ƒ  | j } t | j | j j j ƒ sÄ t ‚ | j ƒ  S(   NiÿÿÿÿR   (   R  RE   RF   R  R   R*   R+   R,   RH   Rî   RJ   R�   R  RK   RC   Rt   R  Ré   R  R	  R0   R
  (   R  R  RC   R6   Rô   Rõ   Rö   R  (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyR  (  s    
		c         C   s\   t  j |  | ƒ } | d d !| d | d | d f } d j g  | D] } d | ^ qE ƒ S(	   Ni    i   iÿÿÿÿiþÿÿÿiýÿÿÿt    s   %.5fs      (   R   t   u_star_as_u_cift   join(   R=   R�   t   u_cifRÏ   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyRœ   7  s    &c          C   s©  d d l  m }  t j j ƒ  } t j d t j t	 ƒ ƒ } t j
 | | ƒ } t j | j ƒ  | ƒ } | j ƒ  t | j ƒ d k s‰ t ‚ | j j ƒ  } g  | j D]  } | | j d j | f ^ q¢ } | j ƒ  g  | D] \ } } | ^ qÙ }	 |	 \ }
 } t |
 |  ƒ st ‚ |
 j t | ƒ d t | ƒ d f k sAt ‚ |
 j d
 k sVt ‚ t | |  ƒ skt ‚ | j d t | ƒ d f k s�t ‚ | j d k s¥t ‚ d  S(   Niÿÿÿÿ(   t    occupancy_pair_affine_constraintR   i   i    i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   t&   smtbx.refinement.constraints.occupancyRN  RE   RF   Rí   R   R*   R+   R,   t   ins_thppRH   R�   RJ   RK   Rz   Rê   R0   R‘   R’   t   scatterer_indicesR“   t   sortRt   t   linear_form(   RN  RC   R6   Rô   Rö   R™   R_   t   dsuR}   Rê   t   c0t   c1(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt    exercise_constrained_occupancies<  s$    
0
/%c          C   sx   t  ƒ  t ƒ  t ƒ  d d  l }  |  j j d d ƒ s> d GHn# t ƒ  t ƒ  t ƒ  t	 ƒ  t
 ƒ  t ƒ  t ƒ  d GHd  S(   NiÿÿÿÿR    R  s3   Skipping some tests: smtbx module is not available.t   OK(   R:   R<   R€   t   libtbx.load_envt   envt
   has_moduleRB  RW  R  Rû   RI  R‡   RS   (   t   libtbx(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   runQ  s    sI  TITL in Pbca
CELL0.71073   7.350   9.541  12.842  90.000  90.000  90.000
ZERR    4.00   0.002   0.002   0.003   0.000   0.000   0.000
LATT  1

SYMM 0.5-X, -Y, 0.5+Z
SYMM -X, 0.5+Y, 0.5-Z
SYMM 1/2+X, 0.5-y, -Z
SFAC C H O N
UNIT 32 40 16 8
TEMP -153
 skipped
L.S. 4
BOND $H
FMAP 2 ! Fo - Fc
PLAN 5
WGHT    0.054500    0.220600
EXTI    0.034016
FVAR       0.89220
REM
+/path/to/filename.ins
REM  Protracted example of residues on command
HFIX_1 23
HFIX_N 43
EQIV $1 1-X, -Y, -Z
CONF C4 N H O2_$1
DFIX_1 1.5 C2 C3
O2    3    0.362893    0.160589   -0.035913    11.00000    0.03926    0.02517 =
         0.02140   -0.00415   -0.00810    0.01009
O3    3    0.696722    0.119176    0.260657    = some garbage
 11.00000    0.02838    0.02133 =
         0.02918    0.00011   -0.01030   -0.00048
C1    1    0.432360    0.196651    0.046472    11.00000    0.02226    0.01792 =
         0.01857    0.00058    0.00123    0.00249
C4    1    0.601261    0.176489    0.196615    11.00000    0.01844    0.01705 =
         0.02123   -0.00033   -0.00071   -0.00284
RESI 1
C2    1    0.411568    0.336421    0.100062    11.00000    0.02867    0.01555 =
         0.02069    0.00053   -0.00070    0.00268
C3    1    0.522448    0.322965    0.200394    11.00000    0.02158    0.01556 =
         0.02255   -0.00189   -0.00049   -0.00115
RESI N
N     4    0.544830    0.114061    0.104838    11.00000    0.02004    0.01586 =
         0.01943   -0.00094   -0.00096    0.00161
 
HKLF 4 
END
     
WGHT      0.0536      0.2259 
REM Highest difference peak  0.330,  deepest hole -0.210,  1-sigma level  0.046
Q1    1   0.5622  0.2496  0.2006  11.00000  0.05    0.33
Q2    1   0.4189  0.2682  0.0749  11.00000  0.05    0.33
Q3    1   0.5706  0.1441  0.1462  11.00000  0.05    0.29
Q4    1   0.4966  0.1552  0.0716  11.00000  0.05    0.29
Q5    1   0.4666  0.3316  0.1506  11.00000  0.05    0.26
s¢  TITL cr4 in P6(3)
CELL 0.71073   5.1534   5.1534   8.6522  90.000  90.000 120.000
ZERR    2.00   0.0007   0.0007   0.0017   0.000   0.000   0.000
LATT -1
SYMM -Y, X-Y, Z
SYMM -X+Y, -X, Z
SYMM -X, -Y, 0.5+Z
SYMM Y, -X+Y, 0.5+Z
SYMM X-Y, X, 0.5+Z
SFAC LI O S K
UNIT 2 8 2 2

K1    4    0.000000    0.000000   -0.001950    10.33333    0.02427    0.02427 =
         0.02379    0.00000    0.00000    0.01214
S1    3    0.333333    0.666667    0.204215    10.33330    0.01423    0.01423 =
         0.01496    0.00000    0.00000    0.00712
LI1   1    0.333333    0.666667    0.815681    10.33333    0.02132    0.02132 =
         0.02256    0.00000    0.00000    0.01066
O1    2    0.333333    0.666667    0.035931    10.33333    0.06532    0.06532 =
         0.01669    0.00000    0.00000    0.03266
O2    2    0.343810    0.941658    0.258405    11.00000    0.02639    0.02079 =
         0.05284   -0.01180   -0.00053    0.01194
HKLF 4
sr   TITL P1
CELL 0.71073   1 2 3 99 100 101
ZERR    4.00   0.002   0.002   0.003   0.000   0.000   0.000
SFAC C H O N
sÐ
  TITL aspirin in P2(1)/c
CELL 0.71073 11.492 6.621 11.453 90.0 95.615 90.0
ZERR 4 0.002 0.001 0.002 0.0 0.0 0.0
LATT 1
SYMM -X,0.500+Y,0.500-Z
SFAC C H O
UNIT 36 28 16
TEMP -60.000
L.S. 20
WGHT    0.068700    0.446300
MERG 2
OMIT -2 56
OMIT 2 3 4
OMIT -1 -3 2
BASF 0.352
REM this twin command is nonsense...
TWIN -1 0 0 0 1 0 0 0 -1 2
FVAR       0.91641
O2    3    0.879181    0.140375    0.051044    11.00000    0.05893    0.05202 =
         0.05656    0.01670    0.01559    0.01156
AFIX 87
H2    2    0.925036    0.046729    0.065472    11.00000   -1.50000
AFIX   0
O3    3    0.714314    0.411976    0.087940    11.00000    0.04930    0.05061 =
         0.03685   -0.00419    0.00783   -0.00427
C2    1    0.846429    0.436128   -0.067477    11.00000    0.03922    0.03869 =
         0.03570   -0.00268    0.00014   -0.00150
O1    3    0.989649    0.187859   -0.096470    11.00000    0.06532    0.05656 =
         0.05359    0.00743    0.02230    0.01823
C3    1    0.883500    0.550173   -0.159841    11.00000    0.04635
AFIX  43
H3    2    0.945193    0.503717   -0.199359    11.00000   -1.50000
AFIX   0
C7    1    10.910013    0.242812   -0.037585    11.00000    0.04340    0.04037 =
         0.03632   -0.00344    0.00282   -0.00157
C1    1    0.754688    0.511841   -0.009478    11.00000    0.04076
C6    1    0.701446    0.694836   -0.041608    11.00000    0.05003    0.04601 =
         0.05788   -0.00711    0.00597    0.00688
AFIX  43
H6    2    0.640709    0.743710   -0.001563    11.00000   -1.50000
AFIX   0
O4    3    0.596499    0.219939   -0.034410    11.00000    0.07409    0.08015 =
         0.04201   -0.00406    0.00247   -0.02748
C5    1    0.739822    0.803914   -0.134050    11.00000    0.05726    0.04061 =
         0.06325    0.00538    0.00340    0.00642
AFIX  43
H5    2    0.704633    0.926467   -0.155929    11.00000   -1.50000
AFIX   0
C8    1    0.634563    0.262008    0.063872    11.00000    0.04357    0.05241 =
         0.04294   -0.00177    0.00752   -0.00018
C4    1    0.829521    0.731819   -0.193418    11.00000    0.05444    0.04790 =
         0.05321    0.00900    0.00503   -0.00209
AFIX  43
H4    2    0.854077    0.804532   -0.256010    11.00000   -1.50000
AFIX   0
C9    1    0.602602    0.163875    0.172952    11.00000    0.06769    0.07924 =
         0.04765    0.01171    0.00887   -0.00967
AFIX 137
H9A   2    0.571182    0.263181    0.222267    11.00000   -1.50000
H9C   2    0.670926    0.103865    0.213827    11.00000   -1.50000
H9B   2    0.545047    0.061174    0.153241    11.00000   -1.50000
HKLF 4 1 0 0 1 1 1 0 1 0 0

REM  aspirin in P2(1)/c
REM R1 =  0.0455 for   1038 Fo > 4sig(Fo)  and  0.0990 for all   1806 data
REM    110 parameters refined using      0 restraints

END

WGHT      0.0534      0.3514
s0  TITL 97srv101 in P-1
CELL 0.71073   6.033   6.830   7.862 107.70 103.17  95.81
ZERR    1.00   0.002   0.001   0.004   0.02   0.01   0.01
LATT  1
SFAC C H S BR
UNIT 9 9 4 1
TEMP -123
SIZE 0.25 0.15 0.04
OMIT -3 58
ACTA
L.S. 5
DFIX 1.5 C2 C12 C3 C13
BOND
FMAP 2
PLAN 10
WGHT    0.035100    0.787700
FVAR       0.70431   0.25054
PART 2
BR2   4    0.210409    0.205854    0.090628    21.00000    0.01590    0.03384 =
         0.03235    0.00702   -0.00500   -0.00273
PART   1
BR3   4    0.319774    0.727684    0.184240    21.00000    0.01979    0.03679 =
         0.03533    0.01864    0.00196    0.01154
PART   0
S1    3    0.695496    0.257529    0.325940    11.00000    0.01668    0.02391 =
         0.02776    0.00712    0.00046    0.00401
S2    3    0.795402    0.715230    0.403850    11.00000    0.01702    0.02605 =
         0.03256    0.01155    0.00143    0.00484
C1    1    0.893971    0.494238    0.443049    11.00000    0.01446    0.02402 =
         0.02423    0.01012    0.00393    0.00234
C2    1    0.470694    0.372115    0.231574    11.00000    0.01981    0.03196 =
         0.01877    0.00819    0.00393    0.00676
C3    1    0.516311    0.578190    0.267351    11.00000    0.01544    0.03197 =
         0.02369    0.01001    0.00228    0.00481
PART 1
C12   1    0.241589    0.221595    0.109681   -21.00000    0.03323
AFIX   7
H121  2    0.184843    0.141885    0.180774   -21.00000   -1.50000
H122  2    0.269551    0.125107   -0.000992   -21.00000   -1.50000
H123  2    0.125620    0.301975    0.072102   -21.00000   -1.50000
AFIX   0
PART   2
C13   1    0.349281    0.712664    0.197083   -21.00000    0.03570
AFIX   7
H131  2    0.336393    0.828845    0.303383   -21.00000   -1.50000
H132  2    0.194195    0.626606    0.130621   -21.00000   -1.50000
H133  2    0.407982    0.771230    0.112116   -21.00000   -1.50000
sÓ  TITL 02srv053 SADABS in P2(1)/n
CELL 0.71073  12.823  13.422  18.550  90.000 103.91  90.000
ZERR    4.00   0.003   0.003   0.004   0.000   0.01   0.000
LATT  1
SYMM 0.5-X, 0.5+Y, 0.5-Z
SFAC C H S CL
REM ................ skipping stuff I don't test here ..............
FVAR       0.31540   0.05337
FVAR       0.03075   0.89064
S1    3    0.366783    0.363927    0.347492    11.00000    0.02050    0.01721 =
         0.02652    0.00339    0.00979   -0.00170
S2    3    0.151555    0.283625    0.288656    11.00000    0.02118    0.01442 =
         0.01699   -0.00030    0.00306    0.00146
S3    3    0.294777    0.579144    0.332456    11.00000    0.03635    0.01521 =
         0.02250    0.00137    0.01462   -0.00354
REM ............. skipping many atoms .........................
CL1   4   -0.126497    0.262053    0.433117    11.00000    0.02755    0.03548 =
         0.05670    0.00439    0.01834    0.00260
PART 1 41
CL2   4    0.096994    0.328954    0.480493    31.00000    0.03167    0.04296 =
         0.03718    0.00702    0.00390   -0.00524
C28   1    0.008586    0.236935    0.433750    31.00000    0.02306    0.02292 =
         0.04054    0.00599    0.01598    0.00352
AFIX   3
H28A  2    0.029496    0.171785    0.457990    21.00000    0.03492
H28B  2    0.015946    0.232245    0.381920    21.00000    0.03736
AFIX   0
PART 2 -41
CL2B  4    0.068342    0.365253    0.494288   -31.00000    0.07647
C28B  1    0.028119    0.260724    0.451358   -31.00000    0.08827
PART 0
HKLF 4
s.   CELL 0 1 2 3 90 90 90
O 4 0.1 0.2 0.3 11 0.04
s8   CELL 0 1 2 3 90 90 90
SFAC C O
O 4 0.1 0.2 0.3. 11 0.04
s2   CELL 0 1 2 3 90 90 90
SFAC C O
O 4 0.1 0.2 0.3 11
sÿ  TITL s031 in C2/c #15
CELL 0.71073 28.3148 15.8506 18.226 90 118.092 90
ZERR 4 0.0006 0.0003 0.0004 0 0.001 0
LATT 7
SYMM -X,+Y,0.5-Z
SFAC C H Cl
UNIT 282 382 6
FVAR 0.1818
WGHT 0.1
EQIV $1 1-X,+Y,0.5-Z
DFIX 1.75 0.02 CL1_$1 C0AA
DFIX 1.75 0.03 C0AA CL3_$1
DFIX 1.75 CL2 C0AA
CL1   3     0.55003  0.45683  0.24917  10.25000  0.05233
CL2   3     0.54956  0.33497  0.36400  10.25000  0.05483
CL3   3     0.53790  0.33648  0.30419  10.25000  0.08474
C0AA  1     0.50786  0.40217  0.27444  10.25000  0.03965
HKLF 4
s  CELL 0 1 2 3 90 90 90
SFAC C
SADI 0.04 C1 C3 C2 C4
C1    1     0.50000  0.24000  0.25000  11.00000  0.05233
C2    1     0.50000  0.26000  0.25000  11.00000  0.05233
C3    1     0.00000  0.25000  0.25000  11.00000  0.05233
C4    1     0.00000  0.25000  0.25000  11.00000  0.05233
s>  CELL 0 1 2 3 90 90 90
SYMM -X,+Y,0.5-Z
EQIV $1 1-X,+Y,0.5-Z
SFAC C
SADI C1_$1 C3 C2 C4_$1
C1    1     0.50000  0.24000  0.25000  11.00000  0.05233
C2    1     0.50000  0.26000  0.25000  11.00000  0.05233
C3    1     0.00000  0.25000  0.25000  11.00000  0.05233
C4    1     0.00000  0.25000  0.25000  11.00000  0.05233
sÎ  TITL fred in P2(1)/c
CELL 0.71073 15.149 11.4915 16.2458 90 99.462 90
ZERR 3 0.0054 0.0043 0.006 0 0.007 0
LATT 1
SYMM -X,0.5+Y,0.5-Z
SFAC C H
UNIT 134 142
FMAP 2.0
WGHT 0.1
FLAT 0.1 C31 C32 C33 C34 C35 C36 C37
FLAT C41 C42 C43 C44 C45 C46 C47
FVAR 0.16431
PART 1
C31   1     0.28967  0.31613 -0.02773  10.75000  0.05888  0.04514  0.10878 =
 -0.01962 -0.00471 -0.00143
C32   1     0.30768  0.41649  0.03308  10.75000  0.03521  0.04076  0.05711 =
 0.01504  0.01485  0.01552
C33   1     0.28897  0.41092  0.11289  10.75000  0.06042  0.09876  0.06719 =
 0.05095  0.03457  0.04942
C34   1     0.30734  0.50229  0.16767  10.75000  0.08796  0.14534  0.06011 =
 0.03723  0.02945  0.07980
C35   1     0.34782  0.60688  0.14285  10.75000  0.09111  0.10467  0.04177 =
 -0.01494  0.00086  0.05687
C36   1     0.36857  0.61562  0.06124  10.75000  0.08041  0.06114  0.05218 =
 0.00249  0.01982  0.01339
C37   1     0.34923  0.52118  0.01013  10.75000  0.04695  0.03550  0.04216 =
 -0.00583  0.00719 -0.00031
PART 2
C41   1     0.40898  0.68460  0.08429  10.25000  0.08117  0.05294  0.24136 =
 -0.04489  0.04281 -0.05242
C42   1     0.35781  0.57012  0.08520  10.25000  0.02162  0.06254  0.03143 =
 -0.00552  0.00755 -0.01371
C43   1     0.34017  0.49729  0.00895  10.25000  0.04695  0.03550  0.04216 =
 -0.00583  0.00719 -0.00031
C44   1     0.30214  0.37738  0.00610  10.25000  0.04686  0.18231  0.09967 =
 0.09419  0.03785  0.07323
C45   1     0.27044  0.34405  0.07795  10.25000  0.03487  0.04084  0.25569 =
 -0.01301 -0.02616  0.01005
C46   1     0.28348  0.40879  0.14914  10.25000  0.02746  0.08814  0.07379 =
 0.00346 -0.00267  0.02126
C47   1     0.32637  0.52368  0.16222  10.25000  0.03065  0.05189  0.02130 =
 -0.00058  0.00299 -0.00724
HKLF 4
c         C   s   d |  S(   NsÃ  CELL 0 5 10 15 90 90 90
SFAC C
%s
C1    1     0.28967  0.31613 -0.02773  10.75000  0.05888  0.04514  0.10878 =
 -0.01962 -0.00471 -0.00143
C2    1     0.30768  0.41649  0.03308  10.75000  0.03521  0.04076  0.05711 =
 0.01504  0.01485  0.01552
C3    1     0.28897  0.41092  0.11289  10.75000  0.06042  0.09876  0.06719 =
 0.05095  0.03457  0.04942
C4    1     0.30734  0.50229  0.16767  10.75000  0.08796  0.14534  0.06011 =
 0.03723  0.02945  0.07980
(    (   t   instruction(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   template_insÁ  s    t   SIMUs	   SIMU 0.03s   SIMU 0.03 0.07s   SIMU 0.03 0.07 1.8s   SIMU C1 C2 C3s   SIMU 0.03 C1 C2 C3s   SIMU 0.03 0.07 C1 C2 C3s   SIMU 0.03 0.07 1.7 C1 C2 C3t   DELUs	   DELU 0.02s   DELU 0.01 0.02s   DELU C1 C2 C3s   DELU 0.02 C1 C2 C3s   DELU 0.01 0.02 C1 C2 C3t   ISORs   ISOR 0.2s   ISOR 0.2 0.3s   ISOR C1 C2 C3s   ISOR 0.2 C1 C2 C3s   ISOR 0.2 0.3 C1 C2 C3s   DFIX 1.7 C1 C2 C3 C4s
   DFIX C1 C2s   DFIX 1.7 C1 C2 C3s   FLAT C1 C2 C3sW   REM Solution 1  R1  0.100,  Alpha = 0.0015  in P2(1)
REM C13 O10
TITL SUCROSE IN P2(1)
sP  TITL SUCROSE IN P2(1)
CELL  0.71073   7.7830   8.7364  10.9002   90.000  102.984   90.000
ZERR 2 0.001 0.0012 0.0015 0 0.009 0
LATT -1
SYMM -X, 1/2+Y, -Z
SFAC C H O
UNIT 24 44 22
L.S. 10
BOND
LIST 6
FMAP 2
PLAN 20
ANIS
DELU
O001  3  0.60914  0.62292  0.82801 11.00000  0.01991   18.33
O002  3  0.63134  0.57137  0.62239 11.00000  0.02191   8.21
O003  3  0.68506  0.87525  0.78808 11.00000  0.02117   8.01
O004  3  0.25196  0.53353  0.76983 11.00000  0.02850   7.89
O005  3  0.37848  0.73377  0.96996 11.00000  0.02967   7.87
O006  3  0.79443  0.65096  1.07392 11.00000  0.02911   7.82
O007  3  1.08974  0.87253  1.02226 11.00000  0.02929   7.77
O008  3  0.96030  0.73231  0.67382 11.00000  0.03335   7.69
O009  3  0.29687  0.22403  0.69006 11.00000  0.03867   7.41
O00A  3  0.71468  0.42497  0.41792 11.00000  0.03487   7.28
C00B  1  0.64414  0.15501  0.65110 11.00000  0.02137   6.85
C00C  1  0.51386  0.61153  0.69938 11.00000  0.01950   6.36
C00D  1  0.78440  0.77821  0.99237 11.00000  0.02002   6.06
C00E  1  0.36586  0.49695  0.68863 11.00000  0.01963   6.03
C00F  1  0.94543  0.80269  0.93471 11.00000  0.02056   5.97
C00G  1  0.63136  0.77807  0.87607 11.00000  0.02041   5.94
C00H  1  0.55937  0.29776  0.62561 11.00000  0.02281   5.87
C00I  1  0.45580  0.83872  0.89621 11.00000  0.02767   5.77
C00J  1  0.87184  0.90817  0.82300 11.00000  0.02382   5.76
C00K  1  0.43548  0.33306  0.71436 11.00000  0.02549   5.76
C00L  1  0.81534  0.39973  0.54440 11.00000  0.02952   5.73
C00M  1  0.70459  0.41948  0.64084 11.00000  0.02597   5.72
C00N  1  0.95213  0.88631  0.71108 11.00000  0.02971   5.35
HKLF 4
END
s~  TITL 01mrh009 in P2(1)/c
CELL 0.71073   8.7925   8.2663   8.5561  90.000 111.141  90.000
ZERR    2.00   0.0018   0.0017   0.0017   0.000   0.030   0.000
LATT 1
SYMM -X, 0.5+Y, 0.5-Z
SFAC C  H  N  O  P  V
UNIT 8 24 4 20 4 4
L.S. 30
ACTA
BOND
FMAP 2
PLAN 5
HTAB
WGHT  0.032500  0.937600
FVAR  0.671230
MOLE 1
V1     6   0.657682  1.034967  0.322750 11.000000  0.005490  0.006760 =
           0.007550 -0.000030  0.002830 -0.000560
P1     5   0.557872  0.733904  0.520843 11.000000  0.006330  0.006410 =
           0.006990  0.000100  0.002880 -0.000130
O2     4   0.645870  0.883988  0.489582 11.000000  0.010550  0.008480 =
           0.009460  0.000070  0.004270 -0.002350
Q1     1   0.615600  0.695100  0.623900 11.000000  0.050000      0.64
Q2     1   0.526800  0.678600  0.431500 11.000000  0.050000      0.63
Q3     1   0.620800  1.025100  0.211700 11.000000  0.050000      0.46
HKLF 4
END
s  TITL 3odl
CELL  1.00000   59.140   59.140  186.740  90.00  90.00 120.00  ! lambda & Cell
ZERR        6    0.059    0.059    0.187   0.00   0.00   0.00  !Z & cell esds

LATT -1     !P, non centrosymmetric
SYMM -Y, X-Y, 2/3+Z
SYMM -X+Y, -X, 1/3+Z
SYMM Y, X, -Z
SYMM X-Y, -Y, 1/3-Z
SYMM -X, -X+Y, 2/3-Z
SFAC  C    H     N    O    S  P   NA   !scattering factor types and
UNIT  9264.63 13529.27 2472 6437.14 76.02 12   6   !unit cell contents

DELU $C_* $N_* $O_* $S_* $P_*     ! Rigid bond restraints -ignored for iso
SIMU 0.1 $C_* $N_* $O_* $S_* $P_* ! Similar U restraints - iso or anis.
ISOR 0.1 O_1001 > LAST            ! Approximate iso restraints for waters;

FLAT_FAD    AN1 AC2 AN3 AC4 AC5 AC6 AN6 AN7 AC8 AN9 AC1*
DFIX_FAD   1.362   AN1  AC6
DFIX_FAD   1.368   AN1  AC2
DANG_FAD 2.240 0.10 AN9  AN7
DANG_FAD 2.196 0.10 AN9  AC5
DANG_8 2.425 0.026 CA N_+
DANG_9 2.250 0.017 O_- N
DFIX_* 1.329 C_- N
DANG_* 2.425 CA_- N
DANG_* 2.250 O_- N
DANG_* 2.435 C_- CA
FLAT_8 0.5 O CA N_+ C CA_+

RESI    8   SER
N     3   -0.575274    0.141191    0.113592    11.00000    0.33808    0.75677 =
         1.11905   -0.27101    0.19945   -0.04973
CA    1   -0.551908    0.139429    0.115198    11.00000    0.48936    0.25522 =
         0.84266   -0.05734    0.13568   -0.12284
C     1   -0.525230    0.163359    0.114621    11.00000    0.36302    0.24661 =
         0.62351    0.04491    0.09919   -0.02604
O     4   -0.505790    0.161790    0.116768    11.00000    0.52134    0.27541 =
         0.56288    0.00938    0.07008    0.11741

RESI    9   LYS
N     3   -0.520798    0.186053    0.111792    11.00000    0.25817    0.26426 =
         0.24642   -0.03698    0.01196   -0.03745
CA    1   -0.494101    0.207878    0.111725    11.00000    0.16273    0.21215 =
         0.21593   -0.04270    0.01910    0.02736
C     1   -0.487071    0.220051    0.119169    11.00000    0.13133    0.19993 =
         0.20434   -0.03059    0.03663    0.03709
O     4   -0.503787    0.219454    0.123261    11.00000    0.14634    0.36185 =
         0.24067   -0.07422    0.04195    0.06255

RESI  415   FAD

AC1*  1    0.301769    0.460821    0.091581    11.00000    0.17934    0.39185 =
         0.16499   -0.02542   -0.00370    0.18623
AN9   3    0.329069    0.474690    0.094290    11.00000    0.16649    0.37106 =
         0.19437    0.02459    0.01637    0.16403
AC8   1    0.338965    0.493725    0.099532    11.00000    0.19389    0.42740 =
         0.20073   -0.01332   -0.03583    0.17001
AN7   3    0.363614    0.500512    0.100736    11.00000    0.18827    0.48315 =
         0.29375    0.00036   -0.03961    0.17524
AC5   1    0.369875    0.488232    0.095578    11.00000    0.20021    0.53248 =
         0.30473    0.04033   -0.01535    0.22652
AC6   1    0.394249    0.488600    0.094022    11.00000    0.20036    0.55609 =
         0.36639    0.15609    0.05588    0.23824
AN6   3    0.416744    0.505330    0.096997    11.00000    0.20718    0.56035 =
         0.55246    0.16445    0.00471    0.22417
AN1   3    0.392969    0.470604    0.089321    11.00000    0.25898    0.60811 =
         0.36195    0.17095    0.09827    0.30193
AC2   1    0.370280    0.453766    0.086063    11.00000    0.28075    0.52743 =
         0.37940    0.12160    0.10576    0.31394
AN3   3    0.347491    0.452243    0.087106    11.00000    0.24288    0.43252 =
         0.31698    0.06838    0.08486    0.24807
AC4   1    0.348480    0.469070    0.091969    11.00000    0.20789    0.48822 =
         0.24296    0.02751    0.01321    0.23800


RESI 1001   HOH
O     4   -0.446670    0.031582    0.038635    11.00000    0.16482    0.14614 =
         0.17802   -0.00150   -0.02394    0.01386

RESI 1002   HOH
O     4   -0.368462    0.037104    0.034398    11.00000    0.17923    0.12876 =
         0.18971   -0.03786   -0.01430    0.04562

RESI 1003   HOH
O     4   -0.422007    0.007732    0.032882    11.00000    0.19693    0.17138 =
         0.21503   -0.04115    0.01271    0.01223

RESI 1004   HOH
O     4   -0.350514    0.045091    0.020274    11.00000    0.17129    0.15651 =
         0.19856   -0.03983    0.01063    0.03671


s#  TITL
CELL 0.71073 6.9196 14.5749 9.7248 90 90.637 90
ZERR 4 0.0001 0.0002 0.0001 0 0.001 0
LATT 1
SYMM 0.5-X,0.5+Y,0.5-Z

SFAC C H F N
UNIT 40 40 8 16
EXYZ N3 C3


L.S. 4
PLAN  20
more -3
fmap 2
REM <HKL>thpp.hkl</HKL>
WGHT 0.1
FVAR 0.35838 0.87977 0.5

F1    3     0.16726  0.42638 -0.23772  11.00000  0.03596  0.02944  0.01904 =
 -0.00761 -0.00298 -0.00009
F2    3     0.13095  0.31497 -0.01246  11.00000  0.04052  0.01691  0.03281 =
 -0.00250 -0.00502 -0.00279
N8    4     0.36220  0.66937  0.07644  11.00000  0.02801  0.01729  0.01820 =
 -0.00038  0.00220 -0.00146
N3    4     0.22193  0.43032  0.12983  31.00000  0.02131
C9    1     0.30101  0.58265  0.04215  11.00000  0.01747  0.01804  0.01766 =
 -0.00073  0.00094  0.00221
C4    1     0.27507  0.51672  0.15265  11.00000  0.02018  0.01935  0.01696 =
 0.00027  0.00016  0.00159
N5    4     0.30293  0.54252  0.28533  11.00000  0.03661  0.02191  0.01588 =
 0.00077 -0.00090 -0.00391
C2    1     0.18838  0.40270  0.00228  11.00000  0.02311  0.01671  0.02386 =
 -0.00235 -0.00203  0.00103
C10   1     0.26210  0.54987 -0.09061  11.00000  0.01942  0.02080  0.01702 =
 -0.00001  0.00153  0.00268
C1    1     0.20604  0.45735 -0.10937  11.00000  0.02242  0.02167  0.01778 =
 -0.00389 -0.00127  0.00281
C11   1     0.26071  0.60304 -0.21444  11.00000  0.03058  0.02565  0.01889 =
 -0.00137  0.00044  0.00016
C13   1     0.26803  0.47611  0.39401  11.00000  0.03989  0.02833  0.01867 =
 0.00388 -0.00072 -0.00350
C6    1     0.36454  0.63430  0.32066  11.00000  0.04896  0.02569  0.02000 =
 -0.00456 -0.00017 -0.00449
N12   4     0.25129  0.63888 -0.31966  11.00000  0.05489  0.03497  0.02311 =
 0.00384 -0.00181 -0.00450
PART 1
C7a   1     0.30537  0.70214  0.21212  21.00000  0.03415  0.02081  0.02014 =
 -0.00399  0.00271  0.00061
PART 0
C14   1     0.39584  0.73936 -0.02671  11.00000  0.03778  0.02073  0.02508 =
 0.00407  0.00124 -0.00460
PART 2
C7b   1     0.40368  0.69420  0.21920 -21.00000  0.02814  0.02120  0.02427 =
 -0.00252 -0.00560  0.00546
PART 0
C3    1     0.22193  0.43032  0.12983 -31.00000  0.02131
HKLF 4
END

t   __main__(S   t
   __future__R    t   cctbxR   R   R   R   R   RE   R   t   iotbx.shelxR   R   t   iotbx.builderst   libtbx.test_utilsR	   R
   t   libtbx.math_utilsR   R+   R:   R<   RS   R€   R‡   R…   R†   R�   R‚   Rƒ   R„   Rû   R  RB  RI  R  Rœ   RW  R]  R-   R¢   RP   Rn   RÈ   Rã   Rà   RÜ   Rß   R  R#  R$  R  R_  R%  R&  R'  R(  R)  R*  R+  R,  R-  R/  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R  R  R  R"  R;   RŽ   Rš   RC  RP  t   __name__(    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/shelx/tst_lex_parse_build.pyt   <module>   s¢   	R		 	:					9	%	$	%	0	ÿ 	7				OK2#
.					*`B