
    ii                     .    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 )DownsampleRunnerc	                 @    t         	|   |||||||dg ddd|       y )Nzdownsample_bam.py)z-iz-oz-tz--inz--outz	--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
            @/mounts/lovelace/software/hts-workflow/dev/modules/downsample.pyr   zDownsampleRunner.__init__   s9    '!#+-J 	 	
    c                 h   | j                   j                  || j                  | j                  | j                         |D ]c  }| j
                  j                  |d   |d   d t        j                  j                  | j                  |d          d| j                   d d       e | j                  r|S y )Nidoutput1.)r   input1input2r   output2)r   infor
   r   r	   input_file_listappendospathjoinr   leaf)r   prev_step_fileslines      r   find_input_filesz!DownsampleRunner.find_input_files   s    $//4;K;KTM_M_`#D  ''4jy/ 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k(  s|d   dk(  r_| j                  d|d    d|d	    d
| j                   | j                  g}| j
                  j                  dj                  |             d|d   |d	   g}| j
                  j                  dj                  |              y c c}w )Nr   r   
downsampletrueTz--in r   z--out r   z
--threads  cp)r"   r	   r   r   r   command_queuer#   r&   )r   itemmandatafile_manifestcmds        r   build_command_queuez$DownsampleRunner.build_command_queue%   s   ((D484F4Ff4F'RV-[_`d[eJeW4FfghiM \*f4l8SW[8[&&DN+,T)_-. /(( ""))#((3-8
 NO
 ""))#((3-8+ )fs
   C C ) r6      r6   N)__name__
__module____qualname__r   r*   r5   __classcell__)r   s   @r   r   r      s    
  9r   r   )modules.software_baser   r$   r    r   r   <module>r>      s    4 	79) 79r   