def bam_needs_processing(data):
    """Check if a work input needs processing for parallelization.
    """
    return ((data.get("work_bam") or data.get("align_bam")) and
            (any(tz.get_in(["config", "algorithm", x], data) for x in
                 ["variantcaller", "mark_duplicates", "recalibrate", "realign", "svcaller",
                  "jointcaller", "variant_regions"])
             or any(k in data for k in ["cwl_keys", "output_cwl_keys"])))
def bam_needs_processing ( data ) : return ( ( data . get ( "work_bam" ) or data . get ( "align_bam" ) ) and ( any ( tz . get_in ( [ "config" , "algorithm" , x ] , data ) for x in [ "variantcaller" , "mark_duplicates" , "recalibrate" , "realign" , "svcaller" , "jointcaller" , "variant_regions" ] ) or any ( k in data for k in [ "cwl_keys" , "output_cwl_keys" ] ) ) )
Check if a work input needs processing for parallelization.