ó
ŹļLc           @   sa   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z d d d     YZ d S(   s.   
This module allows you to control Simcoal2.

i’’’’N(   t   copyfile(   t   debugt   SimCoalControllerc           B   s    e  Z d    Z d d d  Z RS(   c         C   sŻ   | |  _  t j |  _ t j |  j   } d |  _ |  j | k ra g  | D] } | j   ^ qF } n  |  j | k r |  j d 7_ n  |  j | k r  t d   n  t j t j	 j
 |  j  |  j  t j  sŁ t d   n  d S(   s¹   Initializes the controller.
        
        simcoal_dir is the directory where simcoal is.
        
        The initializer checks for existance and executability of binaries.
        t   simcoal2s   .exes   SimCoal not availables   SimCoal not executableN(   t   simcoal_dirt   ost   namet   os_namet   listdirt   bin_namet   lowert   IOErrort   accesst   patht   joint   X_OK(   t   selfR   t   dir_contentst   x(    (    s>   C:\Python27\Lib\site-packages\Bio\PopGen\SimCoal\Controller.pyt   __init__   s    		"t   1t   .c         C   sõ   | d
 k r* t j j d d d g  } n  t j   } t j |  t j j |  j |  j  } d | k r{ d | d } n  | d | d t	 |  d | } t
 j d k sĄ |  j j d  rĶ | d 7} n
 | d	 7} t j |  t j |  d
 S(   s   Executes SimCoal.
        R   t   SimCoalt   runst    t   "t   win32s   .exes    > nul 2>nuls    >/dev/null 2>&1N(   t   NoneR   t   sepR   t   getcwdt   chdirR   R   R	   t   strt   syst   platformt   endswitht   system(   R   t   par_filet   num_simst   ploydit   par_dirt   curr_dirt   exet   cmd(    (    s>   C:\Python27\Lib\site-packages\Bio\PopGen\SimCoal\Controller.pyt   run_simcoal+   s    $!
(   t   __name__t
   __module__R   R+   (    (    (    s>   C:\Python27\Lib\site-packages\Bio\PopGen\SimCoal\Controller.pyR      s   	(    (	   t   __doc__R   R    t   tempfilet   shutilR    t   loggingR   R   (    (    (    s>   C:\Python27\Lib\site-packages\Bio\PopGen\SimCoal\Controller.pyt   <module>	   s   