def __init__(self, config, input_bams, pipename="input.bam"): self.pipe = pipename self.files = safe_coerce_to_tuple(input_bams) self.commands = [] self.kwargs = {"TEMP_IN_BAM": self.pipe} if len(self.files) > 1: jar_file = os.path.join(config.jar_root, "MergeSamFiles.jar") params = AtomicJavaCmdBuilder(jar=jar_file, temp_root=config.temp_root, jre_options=config.jre_options) params.set_option("SO", "coordinate", sep="=", fixed=False) params.set_option("CREATE_INDEX", "False", sep="=") params.set_option("COMPRESSION_LEVEL", 0, sep="=") params.set_option("OUTPUT", "%(TEMP_OUT_BAM)s", sep="=") params.add_multiple_options("I", input_bams, sep="=") params.set_kwargs(CHECK_JAR=_picard_version(config, jar_file), TEMP_OUT_BAM=self.pipe) self.commands = [params.finalize()] else: # Ensure that the actual command depends on the input self.kwargs["IN_FILE_00"] = self.files[0] self.kwargs["IN_FILE_01"] = swap_ext(self.files[0], ".bai")
def customize(cls, config, input_bams, output_bam, output_metrics=None, keep_dupes=False, dependencies=()): jar_file = os.path.join(config.jar_root, "MarkDuplicates.jar") params = AtomicJavaCmdBuilder(jar_file, jre_options=config.jre_options) # Create .bai index, since it is required by a lot of other programs params.set_option("CREATE_INDEX", "True", sep="=") params.set_option("OUTPUT", "%(OUT_BAM)s", sep="=") params.set_option("METRICS_FILE", "%(OUT_METRICS)s", sep="=") params.add_multiple_options("I", input_bams, sep="=") if not keep_dupes: # Remove duplicates from output by default to save disk-space params.set_option("REMOVE_DUPLICATES", "True", sep="=", fixed=False) output_metrics = output_metrics or swap_ext(output_bam, ".metrics") params.set_kwargs(OUT_BAM=output_bam, OUT_BAI=swap_ext(output_bam, ".bai"), OUT_METRICS=output_metrics, CHECK_JAR=_picard_version(config, jar_file)) return {"command": params, "dependencies": dependencies}
def __init__(self, config, input_bams, pipename="input.bam"): self.pipe = pipename self.files = safe_coerce_to_tuple(input_bams) self.commands = [] self.kwargs = {"TEMP_IN_BAM": self.pipe} if len(self.files) > 1: jar_file = os.path.join(config.jar_root, "MergeSamFiles.jar") params = AtomicJavaCmdBuilder(jar=jar_file, temp_root=config.temp_root, jre_options=config.jre_options) params.set_option("SO", "coordinate", sep="=", fixed=False) params.set_option("CREATE_INDEX", "False", sep="=") params.set_option("COMPRESSION_LEVEL", 0, sep="=") params.set_option("OUTPUT", "%(TEMP_OUT_BAM)s", sep="=") params.add_multiple_options("I", input_bams, sep="=") params.set_kwargs(CHECK_JAR=_picard_version(config, jar_file), TEMP_OUT_BAM=self.pipe) self.commands = [params.finalize()] else: # Ensure that the actual command depends on the input self.kwargs["IN_FILE_00"] = self.files[0] self.kwargs["IN_FILE_01"] = swap_ext(self.files[0], ".bai")
def customize(cls, config, input_bams, output_bam, output_metrics=None, keep_dupes=False, dependencies=()): jar_file = os.path.join(config.jar_root, "MarkDuplicates.jar") params = AtomicJavaCmdBuilder(jar_file, jre_options=config.jre_options) # Create .bai index, since it is required by a lot of other programs params.set_option("CREATE_INDEX", "True", sep="=") params.set_option("OUTPUT", "%(OUT_BAM)s", sep="=") params.set_option("METRICS_FILE", "%(OUT_METRICS)s", sep="=") params.add_multiple_options("I", input_bams, sep="=") if not keep_dupes: # Remove duplicates from output by default to save disk-space params.set_option("REMOVE_DUPLICATES", "True", sep="=", fixed=False) output_metrics = output_metrics or swap_ext(output_bam, ".metrics") params.set_kwargs(OUT_BAM=output_bam, OUT_BAI=swap_ext(output_bam, ".bai"), OUT_METRICS=output_metrics, CHECK_JAR=_picard_version(config, jar_file)) return {"command": params, "dependencies": dependencies}
def customize(cls, config, input_bams, output_bam, dependencies=()): jar_file = os.path.join(config.jar_root, "MergeSamFiles.jar") params = AtomicJavaCmdBuilder(jar_file, jre_options=config.jre_options) params.set_option("OUTPUT", "%(OUT_BAM)s", sep="=") params.set_option("CREATE_INDEX", "True", sep="=") params.set_option("SO", "coordinate", sep="=", fixed=False) params.add_multiple_options("I", input_bams, sep="=") params.set_kwargs(OUT_BAM=output_bam, OUT_BAI=swap_ext(output_bam, ".bai"), CHECK_JAR=_picard_version(config, jar_file)) return {"command": params, "dependencies": dependencies}
def customize(cls, config, input_bams, output_bam, dependencies=()): jar_file = os.path.join(config.jar_root, "MergeSamFiles.jar") params = AtomicJavaCmdBuilder(jar_file, jre_options=config.jre_options) params.set_option("OUTPUT", "%(OUT_BAM)s", sep="=") params.set_option("CREATE_INDEX", "True", sep="=") params.set_option("SO", "coordinate", sep="=", fixed=False) params.add_multiple_options("I", input_bams, sep="=") params.set_kwargs(OUT_BAM=output_bam, OUT_BAI=swap_ext(output_bam, ".bai"), CHECK_JAR=_picard_version(config, jar_file)) return {"command": params, "dependencies": dependencies}