ó
&WMPc           @   s;   d  d l  Z  d  d l Z d  d l Z d d d „  ƒ  YZ d S(   iÿÿÿÿNt   R2c           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sš   t  d ƒ } d } xw t r‹ | j ƒ  } | s1 Pn  | j ƒ  } t  d t | ƒ d d ƒ } | j | ƒ | j | ƒ | j ƒ  | d 7} q W| j ƒ  d  S(   Ns   R1_Contigs.fai   s
   CISA2/Ref_s   .fat   w(   t   opent   Truet   readlinet   strt   writet   close(   t   selft   CISA_St   ft   countt   ht   seqt   fw(    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyt	   SplitFile   s    	 
c         C   sQ   d t  | ƒ d GHt j | d t  | ƒ d t  | ƒ d ƒ \ } } d GHd  S(   Nt   Ref_s8   .fa and R1_Contigs_E_T.fa will be started to run NUCmer!s    --maxmatch -o -p CISA2/results    CISA2/Ref_s   .fa R1_Contigs_E_T.fas   Done!(   R   t   commandst   getstatusoutput(   R   R   t   nucmert   st   o(    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyt
   run_Nucmer   s    5c         C   s¥   t  d ƒ } y/ t | j ƒ  j d d ƒ j d ƒ d ƒ } Wn t k
 rS d GHn X| j ƒ  d t | d ƒ GHx- t d | ƒ D] } | } |  j	 | | ƒ q W| S(   Nt   infos   
t    t   :i   s   Needs a correct info!s   Range from 1 to (
   R   t   intR   t   replacet   splitt
   ValueErrorR   R   t   rangeR   (   R   R   R
   t   endt   iR   (    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyt   Run_N   s    /	
c         C   sX   t  j d | d | d | ƒ \ } } | GHt  j d | d | ƒ \ } } | GHd  S(   Ns   python s   /CISA2/Parser_All.py t    s   /CISA2/Process_gap.py (   R   R   (   R   t   r2_gapR	   t	   current_pR   R   (    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyt   Process_Gap"   s    )!c         C   s  d GH|  j  | ƒ |  j | ƒ } |  j | | | ƒ xÑ t d | ƒ D]À } t j j d t | ƒ d ƒ rˆ t j d t | ƒ d ƒ n  t j j d t | ƒ d ƒ rÆ t j d t | ƒ d ƒ n  t j j d t | ƒ d ƒ rD t j d t | ƒ d ƒ qD qD Wd GHd  S(	   Ns   CISA2...i   s   CISA2/results   .coordss   .deltas
   CISA2/Ref_s   .fas   CISA2 Done!(	   R   R!   R%   R   t   ost   patht   existsR   t   remove(   R   R   R#   R	   R$   R   R    (    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyt   Start'   s          "(   t   __name__t
   __module__R   R   R!   R%   R*   (    (    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyR       s
   				(    (   R   R&   t   filecmpR    (    (    (    sG   /woldlab/castor/home/georgi/programs/CISA1.3/src/CISA2/Controllor_R2.pyt   <module>   s   