ó
;™xTc           @   sV   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   division(   t   complex_math(   t   io_utils(   t	   cgi_utilsc         C   s1   t  j |  d d d f ƒ } t  j |  ƒ | _ | S(   Nt	   algorithmt    t   form_factorst   d_min(   s	   algorithmR   (   s   form_factorsR   (   s   d_minR   (   R   t   inp_from_formt   coordinates_from_formt   coordinates(   t   formt   inp(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/structure_factors_pdb.pyt   interpret_form_data   s    	c   	      C   s¨  d GHd GHd | j  GHHd | j GHt | j ƒ d k rG t d ƒ ‚ n  Ht j | | ƒ } | j d | j  d t | j ƒ ƒ d	 GHH| j ƒ  H| j ƒ  j ƒ  H| j	 } | d
 k rÝ | j
 ƒ  j ƒ  d k rÔ d } qò d  } n | d k rò d  } n  | j d t d | d t | j ƒ ƒ } | j ƒ  } d G| j ƒ  j ƒ  GHHd G| j	 d t ƒ GHHd GHxE t | j ƒ  | j ƒ  ƒ D]( \ } } d | t j | d t ƒGHqrWHd GHd  S(   Ns%   <h2>Structure factor calculation</h2>s   <pre>s   Atomic form factors: %ss*   Minimum d-spacing (highest resolution): %sg        s$   d-spacing must be greater than zero.t   tableR   s   Input model summary:t	   automaticid   t   directt   fftt   anomalous_flagR   s   Number of Miller indices:s   Structure factor algorithm:t   verboses,       h     k     l           Fcalc      Pcalcs   %5d %5d %5d %15.6f %8.2ft   degs   </pre>(   R   R   (   R   R   t   floatt
   ValueErrorR   t   structure_from_inp_pdbt   scattering_type_registryt   show_summaryt   showR   t
   scattererst   sizet   Nonet   structure_factorst   Falset   f_calct   indicest   Truet   zipt   dataR   t   abs_arg(	   t   server_infoR   t   statust	   structureR   t   f_calc_managerR    t   ht   f(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/structure_factors_pdb.pyt   run   sN    		
					( N(	   t
   __future__R    t   libtbxR   t	   cctbx.webR   R   R   R,   (    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/structure_factors_pdb.pyt   <module>   s
   	