def _get_prep_params(data): """Retrieve configuration parameters with defaults for preparing BAM files. """ recal_param = dd.get_recalibrate(data) recal_param = "gatk" if recal_param is True else recal_param realign_param = dd.get_realign(data) realign_param = "gatk" if realign_param is True else realign_param return {"recal": recal_param, "realign": realign_param}
def parallel_prep_region(samples, run_parallel): """Perform full pre-variant calling BAM prep work on regions. """ file_key = "work_bam" split_fn = _split_by_regions("bamprep", "-prep.bam", file_key) # identify samples that do not need preparation -- no recalibration or realignment extras = [] torun = [] for data in [x[0] for x in samples]: if data.get("work_bam"): data["align_bam"] = data["work_bam"] if (not dd.get_recalibrate(data) and not dd.get_realign(data) and not dd.get_variantcaller(data)): extras.append([data]) elif not data.get(file_key): extras.append([data]) else: torun.append([data]) return extras + parallel_split_combine(torun, split_fn, run_parallel, "piped_bamprep", _add_combine_info, file_key, ["config"])