
    ?%i                     :    d dl mZ d dlZd dlmZ  G d de      Zy)    )WorkflowRunnerBaseN)logcolorc                   ,     e Zd Zd fd	Zd Zd Z xZS )FastpRunnerc	                 >    t         	|   |||||||dg dd|       y )Nfastp)z--in1z--in2z--out1z--out2z--threadz--jsonz--htmlfastq)loggermanifest_list
input_pathoutput_pathadditional_argsthreadsstepnamesoftware_nameunneeded_argsoutput_typemode)super__init__)
selfr
   r   r   r   r   r   r   r   	__class__s
            ;/mounts/lovelace/software/hts-workflow/dev/modules/fastp.pyr   zFastpRunner.__init__   s6    '!#+!` 	 	
    c                 R   |D ]  }|d   r| j                   j                  |d   |d   |d   t        j                  j	                  | j
                  |d          d| j                   t        j                  j	                  | j
                  |d          d| j                   d       | j                   j                  |d   |d   d t        j                  j	                  | j
                  |d          d| j                   d d        | j                  r|S | j                   S )Noutput2idoutput1z_R1.z_R2.)r   input1input2r   r   .)input_file_listappendospathjoinr   r   leaf)r   prev_step_fileslines      r   find_input_fileszFastpRunner.find_input_files   s   #DI$$++t*"9o"9o"$'',,t/?/?d"L!MTRVRbRbQcd"$'',,t/?/?d"L!MTRVRbRbQcd-  $$++t*"9o""$'',,t/?/?d"L!MQtO_O_N`a#-  $$ 99""'''r   c           
         | j                   D ]  }| j                  d| j                   dt        j                  j                  | j                  |d          ddt        j                  j                  | j                  |d          d| j                  g}|d   r"|d|d	    d
|d    d|d    d|d    gz  }n|d|d	    d|d    gz  }| j                  j                  dj                  |              y )Nz	--thread z--json r   z.jsonz--html z.htmlr    z--in1 r   z--in2 z--out1 r   z--out2 r    )
r"   r   r   r$   r%   r&   r   r   command_queuer#   )r   itembase_cmds      r   build_command_queuezFastpRunner.build_command_queue-   s'   ((D""DLL>*"'',,t'7'7dDEUK"'',,t'7'7dDEUK$$H H~T(^,-T(^,-d9o./d9o./	  T(^,-d9o./ 
 %%chhx&89- )r   ) r1   r1      r1   N)__name__
__module____qualname__r   r*   r0   __classcell__)r   s   @r   r   r      s    
(0:r   r   )modules.software_baser   r$   workflow.logr   r    r   r   <module>r:      s    4 	 !?:$ ?:r   