
    !h5                     .    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 )Bowtie2SplitRunnerc	                 >    t         	|   |||||||dg dd|       y )NzrunBowtieSplit.py)z-1z-2z-Sz-Uz	--threadsz-pbam)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
            C/mounts/lovelace/software/hts-workflow/dev/modules/bowtie2_split.pyr   zBowtie2SplitRunner.__init__   s6    '!#+-E 	 	
    c                 T   |D ]  t        fd| j                  D        d       }| j                  j                  d   |d   d   d   t        j
                  j                  | j                  d          d| j                   d d        | j                  r|S | j                  S )Nc              3   :   K   | ]  }|d    d    k(  s|  yw)idN ).0man_itemlines     r   	<genexpr>z6Bowtie2SplitRunner.find_input_files.<locals>.<genexpr>   s'     i6H(HUYN^bcg^hLhX6Hs   r   horizonoutput1output2.)r   r!   input1input2r"   r#   )
nextr	   input_file_listappendospathjoinr   r   leaf)r   prev_step_filesr   r   s      @r   find_input_filesz#Bowtie2SplitRunner.find_input_files   s    #Did6H6HikopH  ''4j#I.y/y/ ggll4+;+;T$ZHI4K[K[J\])  $ 99""'''r   c                 
   | j                   d| j                   | j                  ddd| j                   g}| j                  D ]  }|d|d    d|d    gz  } | j
                  j                  d	j                  |             y )
Nz-S z+--rg-id SFM22.SAMPLE.HORIZON.Illumina.Lib01z--rg SM:SAMPLEz
--threads z--input_pair r%   ,r&    )r   r   r   r   r(   command_queuer)   r,   )r   cmditems      r   build_command_queuez&Bowtie2SplitRunner.build_command_queue$   s    $""#$  9'
 ((DX/qh0@A C )
 	!!#((3-0r   ) r7      r7   N)__name__
__module____qualname__r   r/   r6   __classcell__)r   s   @r   r   r      s    
( 1r   r   )modules.software_baser   r*   r   r   r   r   <module>r>      s    4 	.1+ .1r   