ó
,§xTc           @   sÝ   d  d l  Z  d d d „  ƒ  YZ d „  Z d „  Z e d k rÙ e  j d d k  rp e  j j d	 ƒ e  j d
 ƒ n  e  j d
 d k rª e e  j d e  j	 ƒ e  j d ƒ n  x, e  j d
 D] Z
 d e
 GHe e
 ƒ GHq¸ Wn  d S(   iÿÿÿÿNt   PdbMetac           B   s   e  Z d  „  Z d „  Z RS(   c         C   s  | j  d ƒ s t ‚ t | d d !ƒ |  _ t | d d !ƒ |  _ t | d d !ƒ |  _ t | d d !ƒ |  _ t | d d !ƒ |  _ t | d d !ƒ |  _ |  j |  j |  j |  j |  j |  j f |  _	 | d	 d
 !j
 ƒ  |  _ y t | d
 d !ƒ |  _ Wn t k
 rd  |  _ n Xd  S(   Nt   CRYST1i   i   i   i!   i(   i/   i6   i7   iB   iF   (   t
   startswitht   AssertionErrort   floatt   at   bt   ct   alphat   betat   gammat   cellt   stript   symmetryt   intt   zt
   ValueErrort   None(   t   selft   cryst1_line(    (    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyt   __init__   s    -c         C   s   d |  j  S(   Ns'   cell: %(cell)s
symmetry: "%(symmetry)s"(   t   __dict__(   R   (    (    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyt   __str__   s    (   t   __name__t
   __module__R   R   (    (    (    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyR       s   	c         C   sC   t  |  ƒ �1 } x' | D] } | j d ƒ r t | ƒ Sq WWd  QXd  S(   NR   (   t   openR   R    (   t   pdbt   ft   line(    (    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyt   read_metadata   s    c            sü   t  |  ƒ } t ƒ  ‰ ‡ f d †  ‰  xË | D]Ã ‰ ˆ d  } | d k rm t ˆ d d !ƒ } ˆ j | ƒ q+ nt | d k r q+ nb ˆ j d	 ƒ rª ˆ  ˆ d d !ƒ rá q+ qá n7 ˆ j d
 ƒ rá t ‡  ‡ f d †  d Dƒ ƒ rá q+ qá n  | j ˆ ƒ q+ Wt ˆ ƒ S(   s   remove HETATM and related linesc            s#   |  o" |  j  ƒ  o" t |  ƒ ˆ  k S(   N(   t   isspaceR   (   t   serial(   t   removed(    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyt
   is_removed&   s    i   t   HETATMi   s   HET   t   HETNAMt   HETSYNt   FORMULt   ANISOUt   CONECTc         3   s&   |  ] } ˆ  ˆ | | d  !ƒ Vq d S(   i   N(    (   t   .0t   p(   R!   R   (    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pys	   <genexpr>5   s    i   i   i   (   s   HET   R#   R$   R%   (   i   i   i   i   i   (   R   t   setR   t   addR   t   anyt   writet   len(   t   filename_int   file_outt   file_int   recordt   atom_serial_num(    (   R!   R   R    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyt   remove_hetatm!   s&    	
		t   __main__i    i   s   No filenames.
i   t   nohets   File: %s(    (   t   sysR    R   R4   R   t   argvt   stderrR-   t   exitt   stdoutt   arg(    (    (    s4   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/c4/pdb.pyt   <module>   s   			