ó
‚™xTc           @   sl   d  d l  m Z d  d l m Z d  d l m Z d  d l Z d „  Z e d k rh e d e j	 d ƒ n  d S(	   iÿÿÿÿ(   t   division(   t   pdb(   t   flexNc         C   sç   t  |  ƒ d k s t ‚ t j d |  d ƒ } | j ƒ  } | j ƒ  } | j ƒ  t j t j	 d | j
 ƒ  d ƒ d ƒ } | j d | ƒ t j	 d | j
 ƒ  d d	 ƒ d } | j d
 | ƒ t j j | j d | j ƒ  d t ƒ ƒ d  S(   Ni   t	   file_namei    t   sizei   g      à?t   new_xyzt   factori   t   new_bt   crystal_symmetryt
   append_end(   t   lent   AssertionErrorR   t   inputt   construct_hierarchyt   atomst   extract_xyzR   t   vec3_doublet   random_doubleR   t   set_xyzt   set_bt   syst   stdoutt   writet   as_pdb_stringR   t   True(   t   argst   pdb_inpt   pdb_hierarchyt	   pdb_atomsR   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/examples/pdb_shake.pyt   run   s    $"t   __main__R   i   (
   t
   __future__R    t   iotbxR   t   cctbx.array_familyR   R   R   t   __name__t   argv(    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/examples/pdb_shake.pyt   <module>   s   	