
    =hm
                     .    d dl mZ d dlZ G d de      Zy)    )WorkflowRunnerBaseNc                   0     e Zd Z fdZd Zd Zd Z xZS )SamToolsRunnerc	                 >    t         	|   |||||||dddgd|       y )Nsamtoolsz-oz-@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
            B/mounts/lovelace/software/shotgun-workflow/dev/modules/samtools.pyr   zSamToolsRunner.__init__   s:    '!#+$, 	 	
    c                 @   d| j                   v r2d| _        d| j                   v sd| j                   v rd| _        nd| _        d| j                   v rPd| j                   v sd	| j                   v rd
| _        y d| j                   v sd| j                   v rd| _        y d| _        y y )NindexTz-c z--csi zbam.csizbam.baiviewz-bz--bam r   z-C z--cram cramsam)r   carry_previousr   )r   s    r   dynamic_flags_from_argsz&SamToolsRunner.dynamic_flags_from_args   s    d***"&D,,,D<P<P0P#, #,  T)))t+++x4;O;O/O#( $...)t?S?S2S#) #(  *r   c                 b   |D ]  }| j                   j                  |d   |d   d t        j                  j	                  | j
                  |d          dt        j                  j	                  | j
                  |d          d| j                   d        | j                  r|S | j                   S )Nidoutput1z.bam.)r"   input1input2r#   output2)input_file_listappendospathjoinr   r   leaf)r   prev_step_fileslines      r   find_input_fileszSamToolsRunner.find_input_files&   s    #D  ''4jy/ ggll4+;+;T$ZHIN ggll4+;+;T$ZHI4K[K[J\])  $ 99""'''r   c                    | j                   D ]{  }| j                  | j                  d| j                   |d   g}d| j                  v r||d    gz  }n|d|d    gz  }| j                  j                  dj                  |             } y )Nz-@ r%   fixmater'   z-o  )r(   r   r   r   command_queuer)   r,   )r   itemcmds      r   build_command_queuez"SamToolsRunner.build_command_queue6   s     ((D""$$dll^$X	C D000I'  $y/*+  %%chhsm4# )r   )__name__
__module____qualname__r   r    r0   r7   __classcell__)r   s   @r   r   r      s    
)$( 5r   r   )modules.software_baser   r*   r    r   r   <module>r>      s    4 	F5' F5r   