def _piped_dedup_recal_cmd(data, prep_params, tmp_dir, out_file): """Generate de-duplication and recalibration commandline. """ if prep_params["dup"] == "bamutil": assert prep_params["recal"] in ["bamutil", False], \ "Cannot handle recalibration approach %s with bamutil dedup" % prep_params["recal"] out_stream = "-.ubam" if prep_params["realign"] else "-.bam" return "| " + recalibrate.bamutil_dedup_recal_cl( "-.ubam", out_stream, data, prep_params["recal"] == "bamutil") elif prep_params["dup"] == "samtools": samtools = config_utils.get_program("samtools", data["config"]) return "| " + "{samtools} rmdup - -".format(**locals()) elif prep_params["dup"] == "biobambam": biobambam_md = config_utils.get_program("bammarkduplicates2", data["config"]) num_cores = 1 compression_level = 1 if prep_params.get("realign") else 9 tmpfile = os.path.join( tmp_dir, "%s-md" % os.path.splitext(os.path.basename(out_file))[0]) metrics_file = "%s-dupmetrics.txt" % (os.path.splitext(out_file)[0]) return ( "| {biobambam_md} level={compression_level} markthreads={num_cores} verbose=0 " "M={metrics_file} tmpfile={tmpfile}".format(**locals())) elif prep_params["dup"]: raise ValueError("Unexpected deduplication approach: %s" % prep_params["dup"]) else: return ""
def _piped_dedup_recal_cmd(data, prep_params, tmp_dir, out_file): """Generate de-duplication and recalibration commandline. """ if prep_params["dup"] == "bamutil": assert prep_params["recal"] in ["bamutil", False], ( "Cannot handle recalibration approach %s with bamutil dedup" % prep_params["recal"] ) out_stream = "-.ubam" if prep_params["realign"] else "-.bam" return "| " + recalibrate.bamutil_dedup_recal_cl("-.ubam", out_stream, data, prep_params["recal"] == "bamutil") elif prep_params["dup"] == "samtools": samtools = config_utils.get_program("samtools", data["config"]) return "| " + "{samtools} rmdup - -".format(**locals()) elif prep_params["dup"] == "biobambam": biobambam_md = config_utils.get_program("bammarkduplicates2", data["config"]) num_cores = 1 compression_level = 1 if prep_params.get("realign") else 9 tmpfile = os.path.join(tmp_dir, "%s-md" % os.path.splitext(os.path.basename(out_file))[0]) metrics_file = "%s-dupmetrics.txt" % (os.path.splitext(out_file)[0]) return ( "| {biobambam_md} level={compression_level} markthreads={num_cores} verbose=0 " "M={metrics_file} tmpfile={tmpfile}".format(**locals()) ) elif prep_params["dup"]: raise ValueError("Unexpected deduplication approach: %s" % prep_params["dup"]) else: return ""
def _piped_dedup_recal_cmd(data, prep_params, tmp_dir): """Generate de-duplication and recalibration commandline. """ if prep_params["dup"] == "bamutil": assert prep_params["recal"] in ["bamutil", False], \ "Cannot handle recalibration approach %s with bamutil dedup" % prep_params["recal"] out_stream = "-.ubam" if prep_params["realign"] else "-.bam" return "| " + recalibrate.bamutil_dedup_recal_cl("-.ubam", out_stream, data, prep_params["recal"] == "bamutil") elif prep_params["dup"] == "samtools": samtools = config_utils.get_program("samtools", data["config"]) return "| " + "{samtools} rmdup - -".format(**locals()) elif prep_params["dup"]: raise ValueError("Unexpected deduplication approach: %s" % prep_params["dup"]) else: return ""