ó
:™xTc           @   s¶   d  Z  d d l m Z d Ge GHd 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	 „  Z d
 d „ Z d d d „ Z e d k r² e j d e ƒ n  d S(   sJ  
Loads the file map_coeff.pickle (see random_f_calc.py) and displays
the FFT map based on these coefficients in PyMOL. Also computes
and displays a list of peaks in the map.

Usage:

Setup the cctbx environment (e.g. source setpaths.csh) and
launch PyMOL from the command line. Inside PyMOL enter:

run view_fft_map.py
show_fft()
iÿÿÿÿ(   t   divisions   Loading module:(   t   maptbx(   t   easy_pickle(   t   Map(   t   cmd(   t   cgoc      	   C   sH  | j  ƒ  } d G| GH|  j ƒ  } d d d g } g  t d ƒ D] } | | d ^ q= } t j d | d | d | d t ƒ }	 t ƒ  }
 |
 j |	 d	 | d d !| d d
 !t | ƒ | | ƒ t	 j
 |
 | d ƒ d GHt	 j | d | d | ƒ t	 j d | d ƒ t	 j d d ƒ t	 j d d ƒ t	 j | d ƒ t	 j d | d ƒ d  S(   Ns	   map_grid:i    i   i   t   map_unit_cellt   firstt   lastt   apply_sigma_scalingt   CObjectZYXfloati   t   _cells   map loaded into PyMolt   _cont   grayt	   auto_zoomt   0t   orthot   1t   cyan(   t   focust
   parameterst   xrangeR   t   as_CObjectZYXt   TrueR   t   from_c_objectt   listR   t   load_mapt   isomesht   colort   sett   enable(   t	   unit_cellt   map_covering_unit_cellt   labelt   levelt   map_gridt   ucell_paramsR   t   iR   t	   c_obj_mapt   map(    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/view_fft_map.pyt   show_map   s,    	'			g       @c         C   s¿   g  } | j  t j d d d g ƒ d  } x€ t | j ƒ  | j ƒ  ƒ D]c \ } } d | G| GH| d  k rr | } n  | j  t j g t |  j	 | ƒ ƒ | | | g ƒ qD Wt
 j | d ƒ d  S(   Ni   i    s   %8.5f %8.5f %8.5ft   peaks(   t   extendR   t   COLORt   Nonet   zipt   sitest   heightst   SPHERER   t   orthogonalizeR   t   load_cgo(   R   t   clusterst   radiust   got   height0t   sitet   height(    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/view_fft_map.pyt
   show_peaks3   s    ( 	3s   map_coeff.pickleg      @c         C   sÍ   t  j d ƒ t j |  ƒ } | j ƒ  | j d t j ƒ } d G| j ƒ  GHt	 | j
 ƒ  | j ƒ  d | ƒ | j ƒ  j d t j d d d d	 ƒ d
 | j ƒ  ƒ j ƒ  } t | j
 ƒ  | ƒ t  j d d ƒ Hd  S(   Nt   allt   symmetry_flagss   map gridding:t   fft_mapR   t   min_distance_sym_equivg      @t   max_clustersi
   R'   g      .@(   R   t   deleteR   t   loadt   show_summaryR<   R   t   use_space_group_symmetryt   n_realR(   R   t   real_mapt   tagst   peak_searcht   peak_search_parametersR:   R9   t   zoom(   t   filet	   map_levelt	   map_coeffR<   R3   (    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/view_fft_map.pyt   show_fft?   s    
			t   pymolRL   N(   t   __doc__t
   __future__R    t   __name__t   cctbxR   t   libtbxR   t
   chempy.mapR   RM   R   R   R(   R9   RL   R*   (    (    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/view_fft_map.pyt   <module>   s   		