
    =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 )Bowtie2Runnerc	                 >    t         	|   |||||||dg dd|       y )Nbowtie2)z-1z-2z-Sz-Uz	--threadsz-psam)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
            A/mounts/lovelace/software/shotgun-workflow/dev/modules/bowtie2.pyr   zBowtie2Runner.__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>z1Bowtie2Runner.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Bowtie2Runner.find_input_files   s    #Did6H6HikopH  ''4j#I.y/y/ ggll4+;+;T$ZHI4K[K[J\])  $ 99""'''r   c           	      H   | j                   D ]  }| j                  d|d    | j                  d|d    d|d    dd|d    d	| j                   g}|d
   r|d|d    d|d
    gz  }n|d|d    gz  }| j                  j                  dj                  |              y )Nz-S r#   z--rg-id SFM22.r   r%   r"   z.Illumina.Lib01z--rg SM:z
--threads r'   z-1 r&   z-2 z-U  )r)   r   r   r   command_queuer*   r-   )r   itemcmds      r   build_command_queuez!Bowtie2Runner.build_command_queue$   s    ((D ""d9o&'$$ dAd9o->oN4:,'T\\N+C H~$x.)*$x.)* 
 #d8n-.//%%chhsm4+ )r   ) r7      r7   N)__name__
__module____qualname__r   r0   r6   __classcell__)r   s   @r   r   r      s    
( 5r   r   )modules.software_baser   r+   r   r   r   r   <module>r>      s    4 	65& 65r   