
    h'                     .    d dl mZ d dlZ G d de      Zy)    )WorkflowRunnerBaseNc                   ,     e Zd Zd fd	Zd Zd Z xZS )ControlSimpleRunnerc	                 @    t         	|   |||||||dg ddd|       y )NzcontrolSimple.py)z-iz-oz-tz--input_dirz--output_dirz	--threadsbamT)loggermanifest_list
input_pathoutput_pathadditional_argsthreadsstepnamesoftware_nameunneeded_argsoutput_typerescan_outputmode)super__init__)
selfr   r	   r
   r   r   r   r   r   	__class__s
            D/mounts/lovelace/software/hts-workflow/dev/modules/control_simple.pyr   zControlSimpleRunner.__init__   s9    '!#+,X 	 	
    c                 v   | j                   j                  || j                  | j                  | j                         |D ]j  }| j
                  j                  |d   | j                  d t        j                  j                  | j                  |d          d| j                   d d       l | j                  r|S y )Nid.)r   input1input2output1output2)r   infor
   r   r	   input_file_listappendospathjoinr   leaf)r   prev_step_fileslines      r   find_input_filesz$ControlSimpleRunner.find_input_files   s    $//4;K;KTM_M_`#D  ''4j// ggll4+;+;T$ZHI4K[K[J\])  $ 99""r   c                    | j                   D ]  }| j                  D cg c]  }|d   |d   k(  s| c}d   }|d   dk7  s5| j                  d|d    d|d    d|d	    g}|d   j                  d
      j	                  d      D ]  }|j                  d|         |j                  | j                          | j                  j                  dj                  |              y c c}w )Nr   r   ctrl_id z--input_path r   z--input_id z--output_file r   z[]z, z--control_id  )	r"   r	   r   stripsplitr#   r   command_queuer&   )r   itemmandatafile_manifestcmdr,   s         r   build_command_queuez'ControlSimpleRunner.build_command_queue%   s   ((D484F4Ff4F'RV-[_`d[eJeW4FfghiMY'2-&&#DN#34!$t*.$T)_$56	  -Y7==dCII$OGJJwi89  P 

d2235""))#((3-8# )fs
   C)C))r-   r-      r-   N)__name__
__module____qualname__r   r*   r6   __classcell__)r   s   @r   r   r      s    
  9r   r   )modules.software_baser   r$   r    r   r   <module>r>      s    4 	39, 39r   