
    =h                     .    d dl mZ d dlZ G d de      Zy)    )WorkflowRunnerBaseNc                   2     e Zd Zd fd	Zd Zd Zd Z xZS )PicardRunnerc	                 @    t         	|   |||||||dg ddd|       y )Npicard)z--INPUTz-Iz-Oz--OUTPUTbamF)loggermanifest_list
input_pathoutput_pathadditional_argsthreadsstepnamesoftware_nameunneeded_argsoutput_typeleafmode)super__init__)
selfr	   r
   r   r   r   r   r   r   	__class__s
            @/mounts/lovelace/software/shotgun-workflow/dev/modules/picard.pyr   zPicardRunner.__init__   s9    '!#+"= 	 	
    c                     d| j                   v r| j                  j                  d       d| j                   v rd| _        y y )NMarkDuplicatesz-MValidateSamToolsT)r   r   appendr   )r   s    r   dynamic_flags_from_argsz$PicardRunner.dynamic_flags_from_args   s>    t333%%d+!5!55DI 6r   c                    |D ]c  }| j                   j                  |d   |d   d t        j                  j	                  | j
                  |d          d| j                   d d       e | j                  r|S | j                   S )Nidoutput1.)r!   input1input2r"   output2)input_file_listr   ospathjoinr   r   r   )r   prev_step_fileslines      r   find_input_fileszPicardRunner.find_input_files   s    #D  ''4jy/ ggll4+;+;T$ZHI4K[K[J\])  $ 99""'''r   c                 D   | j                   D ]  }| j                  | j                  d|d    d|d    g}d| j                  v r1|dt        j                  j                  | j                  d       gz  }| j                  j                  dj                  |              y )	Nz--INPUT r$   z	--OUTPUT r"   r   z--METRICS_FILE zinput-dedupe-stats.txt )	r'   r   r   r(   r)   r*   r   command_queuer   )r   itemcmds      r   build_command_queuez PicardRunner.build_command_queue*   s    ((D""$$4>*+DO,-	C  4#7#77%bggll43C3CE]&^%_`  %%chhsm4 )r   ) r4   r4      r4   N)__name__
__module____qualname__r   r   r-   r3   __classcell__)r   s   @r   r   r      s    
(5r   r   )modules.software_baser   r(   r    r   r   <module>r<      s    4 	55% 55r   