ó
xTc           @   sf   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 d d  Z d S(   i’’’’(   t   division(   t   cryst1_interpretation(   t   pdb_remarks(   t
   smart_open(   t   detect_binary_filec         C   s   |  | g j  d   d k s! t  | d  k rB t j d |   } n  t d |  } d } x | D] } | d 7} | d  k	 r® | j d |  } | d  k	 r® | r¢ Pn  d  } q® n  | j d  rĶ t j	 d |  St
 j d |  } | d  k	 r^ | Sq^ Wt d	  d  S(
   Ni   t	   file_namet   monitor_initiali    t   blockt   CRYST1t   cryst1_recordt
   pdb_records   No CRYST1 record.(   t   countt   Nonet   AssertionErrorR   t   for_readingR   t   is_binary_filet
   startswithR   t   crystal_symmetryt   cns_pdb_remarkst   extract_symmetryt   RuntimeError(   R   t   fileR   t   detect_binaryt   line_numbert   linet	   is_binaryR   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/pdb/crystal_symmetry_from_pdb.pyt   extract_from   s*    !
 			N(   t
   __future__R    t	   iotbx.pdbR   t	   iotbx.cnsR   R   t   libtbxR   t   libtbx.utilsR   R   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/pdb/crystal_symmetry_from_pdb.pyt   <module>   s
   