ó
V™xTc           @   sx   d  d l  m Z d  d l Z e j j d ƒ Z d  d l Td „  Z d d „ Z	 d „  Z
 d d	 „ Z d
 „  Z d „  Z d S(   iÿÿÿÿ(   t   divisionNt   scitbx_suffixtree_shared_ext(   t   *c         C   sH   xA t  |  j ƒ  ƒ D]- \ } } d | t d | d t j ƒ f GHq Wd  S(   Ns   %s: %st   edget   word(   t	   enumeratet   preorder_iterationt   labelt   treeR   (   t   rootR   t   indexR   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyt   dump   s    t    c            s,   | j  ‡  f d †  t |  j |  j ƒ Dƒ ƒ S(   Nc         3   s   |  ] } t  ˆ  | ƒ Vq d  S(   N(   t   str(   t   .0R
   (   R   (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pys	   <genexpr>   s    (   t   joint   ranget   startt   stop(   R   R   t	   separator(    (   R   sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyR      s    c         C   sD   |  j  ƒ  r d Sd |  j |  j |  j ƒ  r8 d |  j n d f Sd  S(   Ns
   (0-0 root)s   (%s-%s, %s)s   leaf (index=%s)t   branch(   t   is_rootR   R   t   is_leafR   (   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyt
   edge_print   s    c         C   sÖ   | d  k r$ d d  l } | j } n  t d |  j ƒ } t |  j j ƒ  ƒ } | j ƒ  | j t	 |  j ƒ ƒ | j d ƒ xW | D]O } | j d | | j
 t d | d |  j ƒ d t	 | ƒ ƒ | j d ƒ q Wd  S(   NiÿÿÿÿR	   s   
t   -R   R   s    %s(   t   Nonet   syst   stdoutt   calculate_edge_depthR	   t   iterR   t   nextt   writeR   t   parentR   R   (   R   t   streamR   t	   depth_fort   itR   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyt
   tree_print!   s    
6c         C   s]   i d |  6} t  |  j ƒ  ƒ } | j ƒ  x- | D]% } | | j | j | j | | <q0 W| S(   Ni    (   R   R   R   R    R   R   (   R	   R"   R#   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyR   6   s    
#c         C   s‚   d d  l  } i  } xi |  j ƒ  D][ } | j ƒ  rD | j g | | <q t | j g  | j ƒ  D] } | | ^ qZ g  ƒ | | <q W| S(   Niÿÿÿÿ(   t   operatort   postorder_iterationR   R   t   reducet   addt   values(   R	   R%   t   leaf_indices_belowR   t   c(    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyt   calculate_leaf_indicesB   s     (   t
   __future__R    t   boost.pythont   boostt   pythont
   import_extt   extR   R   R   R   R   R$   R   R,   (    (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/suffixtree/__init__.pyt   <module>   s   
			