コード例 #1
0
ファイル: genome.py プロジェクト: hshujia/bcbio-nextgen
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
コード例 #2
0
ファイル: genome.py プロジェクト: curoverse/bcbio-nextgen
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
コード例 #3
0
ファイル: run_info.py プロジェクト: liupfskygre/bcbio-nextgen
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
コード例 #4
0
ファイル: run_info.py プロジェクト: hshujia/bcbio-nextgen
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