def _gatk4_cmd(jvm_opts, params, data): """Retrieve unified command for GATK4, using 'gatk'. GATK3 is 'gatk3'. """ gatk_cmd = utils.which(os.path.join(os.path.dirname(os.path.realpath(sys.executable)), "gatk")) return "%s && export PATH=%s:\"$PATH\" && gatk --java-options '%s' %s" % \ (utils.clear_java_home(), utils.get_java_binpath(gatk_cmd), " ".join(jvm_opts), " ".join([str(x) for x in params]))
def run(self, subcmd, opts, memscale=None): jvm_opts = get_picard_opts(self._config, memscale=memscale) cmd = ["export", "PATH=%s:$PATH" % utils.get_java_binpath(), "&&"] + \ [self._cmd] + jvm_opts + [subcmd] + ["%s=%s" % (x, y) for x, y in opts] + \ ["VALIDATION_STRINGENCY=SILENT"] do.run(utils.clear_java_home() + " && " + " ".join(cmd), "Picard: %s" % subcmd)
def _gatk4_cmd(jvm_opts, params, data): """Retrieve unified command for GATK4, using 'gatk'. GATK3 is 'gatk3'. """ gatk_cmd = utils.which(os.path.join(os.path.dirname(os.path.realpath(sys.executable)), "gatk")) return "%s && export PATH=%s:\"$PATH\" && gatk --java-options '%s' %s" % \ (utils.clear_java_home(), utils.get_java_binpath(gatk_cmd), " ".join(jvm_opts), " ".join([str(x) for x in params]))
def _get_snpeff_cmd(cmd_name, datadir, data, out_file): """Retrieve snpEff base command line. """ resources = config_utils.get_resources("snpeff", data["config"]) jvm_opts = resources.get("jvm_opts", ["-Xms750m", "-Xmx3g"]) # scale by cores, defaulting to 2x base usage to ensure we have enough memory # for single core runs to use with human genomes. # Sets a maximum amount of memory to avoid core dumps exceeding 32Gb # We shouldn't need that much memory for snpEff, so avoid issues # https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html#compressed_oops jvm_opts = config_utils.adjust_opts( jvm_opts, { "algorithm": { "memory_adjust": { "direction": "increase", "maximum": "30000M", "magnitude": max(2, dd.get_cores(data)) } } }) memory = " ".join(jvm_opts) snpeff = config_utils.get_program("snpEff", data["config"]) java_args = "-Djava.io.tmpdir=%s" % utils.safe_makedir( os.path.join(os.path.dirname(out_file), "tmp")) export = "unset JAVA_HOME && export PATH=%s:$PATH && " % ( utils.get_java_binpath()) cmd = "{export} {snpeff} {memory} {java_args} {cmd_name} -dataDir {datadir}" return cmd.format(**locals())
def _gatk4_cmd(jvm_opts, params, data): """Retrieve unified command for GATK4, using gatk-launch. """ gatk_cmd = utils.which( os.path.join(os.path.dirname(os.path.realpath(sys.executable)), "gatk-launch")) return "unset JAVA_HOME && export PATH=%s:$PATH && gatk-launch --javaOptions '%s' %s" % \ (utils.get_java_binpath(gatk_cmd), " ".join(jvm_opts), " ".join([str(x) for x in params]))
def _get_snpeff_cmd(cmd_name, datadir, data, out_file): """Retrieve snpEff base command line. """ resources = config_utils.get_resources("snpeff", data["config"]) jvm_opts = resources.get("jvm_opts", ["-Xms750m", "-Xmx3g"]) # scale by cores, defaulting to 2x base usage to ensure we have enough memory # for single core runs to use with human genomes jvm_opts = config_utils.adjust_opts(jvm_opts, {"algorithm": {"memory_adjust": {"direction": "increase", "magnitude": max(2, dd.get_cores(data))}}}) memory = " ".join(jvm_opts) snpeff = config_utils.get_program("snpEff", data["config"]) java_args = "-Djava.io.tmpdir=%s" % utils.safe_makedir(os.path.join(os.path.dirname(out_file), "tmp")) export = "unset JAVA_HOME && export PATH=%s:$PATH && " % (utils.get_java_binpath()) cmd = "{export} {snpeff} {memory} {java_args} {cmd_name} -dataDir {datadir}" return cmd.format(**locals())
def _get_snpeff_cmd(cmd_name, datadir, data, out_file): """Retrieve snpEff base command line. """ resources = config_utils.get_resources("snpeff", data["config"]) jvm_opts = resources.get("jvm_opts", ["-Xms750m", "-Xmx3g"]) # scale by cores, defaulting to 2x base usage to ensure we have enough memory # for single core runs to use with human genomes jvm_opts = config_utils.adjust_opts(jvm_opts, {"algorithm": {"memory_adjust": {"direction": "increase", "magnitude": max(2, dd.get_cores(data))}}}) memory = " ".join(jvm_opts) snpeff = config_utils.get_program("snpEff", data["config"]) java_args = "-Djava.io.tmpdir=%s" % utils.safe_makedir(os.path.join(os.path.dirname(out_file), "tmp")) export = "unset JAVA_HOME && export PATH=%s:$PATH && " % (utils.get_java_binpath()) cmd = "{export} {snpeff} {memory} {java_args} {cmd_name} -dataDir {datadir}" return cmd.format(**locals())
def gatk_cmd(name, jvm_opts, params, config=None): """Retrieve PATH to gatk using locally installed java. """ if name == "gatk": if isinstance(config, dict) and "config" not in config: data = {"config": config} else: data = config if not data or "gatk4" not in dd.get_tools_off(data): return _gatk4_cmd(jvm_opts, params, data) gatk_cmd = utils.which( os.path.join(os.path.dirname(os.path.realpath(sys.executable)), name)) # if we can't find via the local executable, fallback to being in the path if not gatk_cmd: gatk_cmd = utils.which(name) if gatk_cmd: return "%s && export PATH=%s:$PATH && %s %s %s" % \ (utils.clear_java_home(), utils.get_java_binpath(gatk_cmd), gatk_cmd, " ".join(jvm_opts), " ".join([str(x) for x in params]))
def gatk_cmd(name, jvm_opts, params, config=None): """Retrieve PATH to gatk or gatk-framework executable using locally installed java. """ if name == "gatk": assert config, "Need configuration input for gatk to distinguish gatk4" if isinstance(config, dict) and "config" not in config: data = {"config": config} else: data = config if "gatk4" in dd.get_tools_on(data): return _gatk4_cmd(jvm_opts, params, data) gatk_cmd = utils.which(os.path.join(os.path.dirname(os.path.realpath(sys.executable)), name)) # if we can't find via the local executable, fallback to being in the path if not gatk_cmd: gatk_cmd = utils.which(name) if gatk_cmd: return "unset JAVA_HOME && export PATH=%s:$PATH && %s %s %s" % \ (utils.get_java_binpath(gatk_cmd), gatk_cmd, " ".join(jvm_opts), " ".join([str(x) for x in params]))
def gatk_cmd(name, jvm_opts, params, config=None): """Retrieve PATH to gatk using locally installed java. """ if name == "gatk": if isinstance(config, dict) and "config" not in config: data = {"config": config} else: data = config if not data or "gatk4" not in dd.get_tools_off(data): return _gatk4_cmd(jvm_opts, params, data) else: name = "gatk3" gatk_cmd = utils.which(os.path.join(os.path.dirname(os.path.realpath(sys.executable)), name)) # if we can't find via the local executable, fallback to being in the path if not gatk_cmd: gatk_cmd = utils.which(name) if gatk_cmd: return "%s && export PATH=%s:\"$PATH\" && %s %s %s" % \ (utils.clear_java_home(), utils.get_java_binpath(gatk_cmd), gatk_cmd, " ".join(jvm_opts), " ".join([str(x) for x in params]))
def gatk_cmd(name, jvm_opts, params, config=None): """Retrieve PATH to gatk or gatk-framework executable using locally installed java. """ if name == "gatk": assert config, "Need configuration input for gatk to distinguish gatk4" if isinstance(config, dict) and "config" not in config: data = {"config": config} else: data = config if "gatk4" in dd.get_tools_on(data): return _gatk4_cmd(jvm_opts, params, data) gatk_cmd = utils.which( os.path.join(os.path.dirname(os.path.realpath(sys.executable)), name)) # if we can't find via the local executable, fallback to being in the path if not gatk_cmd: gatk_cmd = utils.which(name) if gatk_cmd: return "unset JAVA_HOME && export PATH=%s:$PATH && %s %s %s" % \ (utils.get_java_binpath(gatk_cmd), gatk_cmd, " ".join(jvm_opts), " ".join([str(x) for x in params]))
def _get_snpeff_cmd(cmd_name, datadir, data, out_file): """Retrieve snpEff base command line. """ resources = config_utils.get_resources("snpeff", data["config"]) jvm_opts = resources.get("jvm_opts", ["-Xms750m", "-Xmx3g"]) # scale by cores, defaulting to 2x base usage to ensure we have enough memory # for single core runs to use with human genomes. # Sets a maximum amount of memory to avoid core dumps exceeding 32Gb # We shouldn't need that much memory for snpEff, so avoid issues # https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html#compressed_oops jvm_opts = config_utils.adjust_opts(jvm_opts, {"algorithm": {"memory_adjust": {"direction": "increase", "maximum": "30000M", "magnitude": max(2, dd.get_cores(data))}}}) memory = " ".join(jvm_opts) snpeff = config_utils.get_program("snpEff", data["config"]) java_args = "-Djava.io.tmpdir=%s" % utils.safe_makedir(os.path.join(os.path.dirname(out_file), "tmp")) export = "unset JAVA_HOME && export PATH=%s:\"$PATH\" && " % (utils.get_java_binpath()) cmd = "{export} {snpeff} {memory} {java_args} {cmd_name} -dataDir {datadir}" return cmd.format(**locals())
def run(self, subcmd, opts, memscale=None): jvm_opts = get_picard_opts(self._config, memscale=memscale) cmd = ["export", "PATH=%s:\"$PATH\"" % utils.get_java_binpath(), "&&"] + \ [self._cmd] + jvm_opts + [subcmd] + ["%s=%s" % (x, y) for x, y in opts] + \ ["VALIDATION_STRINGENCY=SILENT"] do.run(utils.clear_java_home() + " && " + " ".join(cmd), "Picard: %s" % subcmd)
def run(self, subcmd, opts, memscale=None): jvm_opts = get_picard_opts(self._config, memscale=memscale) cmd = ["unset", "JAVA_HOME", "&&", "export", "PATH=%s:$PATH" % utils.get_java_binpath(), "&&"] + \ [self._cmd] + jvm_opts + [subcmd] + ["%s=%s" % (x, y) for x, y in opts] + \ ["VALIDATION_STRINGENCY=SILENT"] do.run(" ".join(cmd), "Picard: %s" % subcmd)
def _gatk4_cmd(jvm_opts, params, data): """Retrieve unified command for GATK4, using gatk-launch. """ gatk_cmd = utils.which(os.path.join(os.path.dirname(os.path.realpath(sys.executable)), "gatk-launch")) return "unset JAVA_HOME && export PATH=%s:$PATH && gatk-launch --javaOptions '%s' %s" % \ (utils.get_java_binpath(gatk_cmd), " ".join(jvm_opts), " ".join([str(x) for x in params]))