
    =hI                     :    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 )AdapterRemovalRunnerc	                 >    t         	|   |||||||dg dd|       y )NAdapterRemoval)z--file1z--file2z
--basenamez	--output1z	--output2z	--threads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
            H/mounts/lovelace/software/shotgun-workflow/dev/modules/adapterremoval.pyr   zAdapterRemovalRunner.__init__   s6    '!#+*e 	 	
    c                    d| j                   v r|D ]  }|d   re| j                  j                  |d   |d   |d   t        j                  j                  | j                  |d          d| j                   d d       m| j                  j                  |d   |d   d t        j                  j                  | j                  |d          d| j                   d d        n|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
--collapseoutput2idoutput1.)r   input1input2r   r   z_R1.z_R2.)	r   input_file_listappendospathjoinr   r   leaf)r   prev_step_fileslines      r   find_input_filesz%AdapterRemovalRunner.find_input_files   s   4///'	?((//"4j"&y/"&y/&(ggll43C3CT$Z&P%QQRSWScScRd#e#'1  ((//"4j"&y/"&&(ggll43C3CT$Z&P%QQRSWScScRd#e#'1  ($ (	?((//"4j"&y/"&y/&(ggll43C3CT$Z&P%QQUVZVfVfUg#h&(ggll43C3CT$Z&P%QQUVZVfVfUg#h1  ((//"4j"&y/"&&(ggll43C3CT$Z&P%QQRSWScScRd#e#'1  (" 99""'''r   c                    | j                   D ]  }| j                  dt        j                  j	                  | j
                  |d          d| j                   | j                  g}d| j                  v r|d   r|d|d    d|d    d	t        j                  j	                  | j
                  |d          d
dt        j                  j	                  | j
                  |d          d| j                   gz  }n|d|d    d	t        j                  j	                  | j
                  |d          d
dt        j                  j	                  | j
                  |d          d| j                   gz  }n:|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--basename r   z
--threads r   r"   z--file1 r!   z--file2 z--outputcollapsedtruncated z
.truncatedz--outputcollapsed r    z
--output1 r   z
--output2 r    )r#   r   r%   r&   r'   r   r   r   r   command_queuer$   )r   itembase_cmds      r   build_command_queuez(AdapterRemovalRunner.build_command_queue?   s    ((D""bggll4+;+;T$ZHIJT\\N+$$	H t333>"4>"23"4>"235bggll4CSCSUYZ^U_6`5aakl,RWW\\$:J:JDQUJ-W,XXYZ^ZjZjYkl	! H "4>"235bggll4CSCSUYZ^U_6`5aakl,RWW\\$:J:JDQUJ-W,XXYZ^ZjZjYkl! H >$T)_$56$T)_$56"4>"23"4>"23	! H $T)_$56"4>"23! H
 %%chhx&89U )r   ) r2   r2      r2   N)__name__
__module____qualname__r   r+   r1   __classcell__)r   s   @r   r   r      s    
((T+:r   r   )modules.software_baser   r%   workflow.logr   r    r   r   <module>r;      s    4 	 !e:- e:r   