def abs_file_paths(xs, base_dir=None, ignore_keys=None): """Normalize any file paths found in a subdirectory of configuration input. """ ignore_keys = set([]) if ignore_keys is None else set(ignore_keys) if base_dir is None: base_dir = os.getcwd() orig_dir = os.getcwd() os.chdir(base_dir) input_dir = os.path.join(base_dir, "inputs") if isinstance(xs, dict): out = {} for k, v in xs.iteritems(): if k not in ignore_keys and v and isinstance(v, basestring): if v.lower() == "none": out[k] = None elif os.path.exists(v) or v.startswith( utils.SUPPORTED_REMOTES): out[k] = os.path.normpath( os.path.join(base_dir, utils.dl_remotes(v, input_dir))) else: out[k] = v else: out[k] = v elif isinstance(xs, basestring): if os.path.exists(xs) or xs.startswith(utils.SUPPORTED_REMOTES): out = os.path.normpath( os.path.join(base_dir, utils.dl_remotes(xs, input_dir))) else: out = xs else: out = xs os.chdir(orig_dir) return out
def abs_file_paths(xs, base_dir=None, ignore_keys=None): """Normalize any file paths found in a subdirectory of configuration input. """ ignore_keys = set([]) if ignore_keys is None else set(ignore_keys) if base_dir is None: base_dir = os.getcwd() orig_dir = os.getcwd() os.chdir(base_dir) input_dir = os.path.join(base_dir, "inputs") if isinstance(xs, dict): out = {} for k, v in xs.iteritems(): if k not in ignore_keys and v and isinstance(v, basestring): if v.lower() == "none": out[k] = None elif os.path.exists(v) or v.startswith(utils.SUPPORTED_REMOTES): out[k] = os.path.normpath(os.path.join(base_dir, utils.dl_remotes(v, input_dir))) else: out[k] = v else: out[k] = v elif isinstance(xs, basestring): if os.path.exists(xs) or xs.startswith(utils.SUPPORTED_REMOTES): out = os.path.normpath(os.path.join(base_dir, utils.dl_remotes(xs, input_dir))) else: out = xs else: out = xs os.chdir(orig_dir) return out
def _add_remote_resources(resources): """Retrieve remote resources like GATK/MuTect jars present in S3. """ out = copy.deepcopy(resources) for prog, info in resources.iteritems(): for key, val in info.iteritems(): if key == "jar" and val.startswith(utils.SUPPORTED_REMOTES): store_dir = utils.safe_makedir(os.path.join(os.getcwd(), "inputs", "jars", prog)) fname = utils.dl_remotes(val, store_dir, store_dir) version_file = os.path.join(store_dir, "version.txt") if not utils.file_exists(version_file): version = install.get_gatk_jar_version(prog, fname) with open(version_file, "w") as out_handle: out_handle.write(version) else: with open(version_file) as in_handle: version = in_handle.read().strip() del out[prog][key] out[prog]["dir"] = store_dir out[prog]["version"] = version return out
def _add_remote_resources(resources): """Retrieve remote resources like GATK/MuTect jars present in S3. """ out = copy.deepcopy(resources) for prog, info in resources.iteritems(): for key, val in info.iteritems(): if key == "jar" and val.startswith(utils.SUPPORTED_REMOTES): store_dir = utils.safe_makedir( os.path.join(os.getcwd(), "inputs", "jars", prog)) fname = utils.dl_remotes(val, store_dir, store_dir) version_file = os.path.join(store_dir, "version.txt") if not utils.file_exists(version_file): version = install.get_gatk_jar_version(prog, fname) with open(version_file, "w") as out_handle: out_handle.write(version) else: with open(version_file) as in_handle: version = in_handle.read().strip() del out[prog][key] out[prog]["dir"] = store_dir out[prog]["version"] = version return out