コード例 #1
0
def main():
    """Runs SSC.

    For command line help, run with the '-h' flag.
    """
    args = get_args()
    dataset, chrom, tool = common.process_args(args, tool_name=TOOL)
    if not dataset or not tool:
        return

    tool_path = tool.get_dir_path()
    out_path = tool.get_out_dir(dataset.name)

    spacer = os.path.join(tool_path, SPACER_PATH)
    spacer_out = os.path.join(out_path, "%s_spacer.txt" % chrom.name)
    tool.run_bash(["-i", chrom.get_path(), "-o", spacer_out], spacer)

    ssc = tool.get_bin_path()
    matrix = os.path.join(tool_path, MATRIX_PATH)
    ssc_out = os.path.join(out_path, RAW_OUT_NAME % chrom.name)
    stdout, stderr = tool.run_bash(
        ["-i", spacer_out, "-o", ssc_out, "-m", matrix, "-l", "30"], ssc)
    if stderr: print stderr
    if stdout: print stdout

    tools_common.create_csv(chrom, tool, RAW_OUT_NAME)
    tools_common.normalise(chrom, tool)
コード例 #2
0
def main():
    """Runs sgRNA Scorer 2.0.

    For command line help, run with the '-h' flag.
    """
    args = get_args()
    dataset, chrom, tool = common.process_args(args, tool_name=TOOL)
    if not dataset or not tool:
        return
    tool.chdir()

    script_path = os.path.join(tool.get_dir_path(), tool.bin_path)
    params = [
        "-d", args.dataset,
        "-c", str(args.chr),
        "-o", RAW_OUT_NAME % chrom.name,
        "-p", "3", "-s", "20", "-l", "NGG",
    ]
    process = subprocess.Popen(
        ["python", script_path] + params,
        stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    outs, errs = process.communicate()
    print(outs)
    print(errs)

    tools_common.create_csv(chrom, tool, RAW_OUT_NAME)
    tools_common.normalise(chrom, tool)
コード例 #3
0
def main():
    """Runs phytoCRISP-Ex.

    For command line help, run with the '-h' flag.
    """
    args = get_args()
    dataset, chrom, tool = common.process_args(args, tool_name=TOOL)
    if not dataset or not tool:
        return

    params = ["-g", args.dataset, "-c", chrom.name, "NGG", "G"]
    tool.run_bash(params)

    shutil.move(
        os.path.join(dataset.get_data_path(), SRC_OUT_NAME % chrom.name),
        os.path.join(tool.get_out_dir(dataset.name),
                     DST_OUT_NAME % chrom.name))
    tools_common.normalise(chrom, tool)
コード例 #4
0
def main():
    """Runs mm10db.

    For command line help, run with the '-h' flag.
    """
    args = get_args()
    dataset, chrom, tool = common.process_args(args, tool_name=TOOL)
    if not dataset or not tool:
        return
    tool.chdir()

    script_params = ["-g", args.dataset, "-c", chrom.name]
    out_path = tool.get_out_dir(dataset.name)

    # Runs the mm10db pipeline.
    for script in SCRIPTS:
        tool.run_python(script_params, script)

    tools_common.create_csv(chrom, tool, RAW_OUT_NAME)
    add_rejected(chrom, out_path)
    tools_common.normalise(chrom, tool)
コード例 #5
0
def main():
    """Runs CHOPCHOP.

    For command line help, run with the '-h' flag.
    """
    args = get_args()
    dataset, chrom, tool = common.process_args(args, tool_name=TOOL)
    if not dataset or not tool:
        return
    tool.chdir()

    chr_name = chrom.get_name()
    out_path = tool.get_out_dir(dataset.name)
    config_path = os.path.join(tool.get_dir_path(), CONFIG_FILE)

    # Configures and runs CHOPCHOP, and then reverts the configuration file.
    config(dataset.get_data_path(), config_path)
    params = [
        "-G",
        dataset.name,
        "-o",
        os.path.join(out_path, chr_name),
        "-F",
        "--targets",
        chrom.get_path(),
        "--chr",
        chr_name,
        "--scoringMethod",
        "ALL",
    ]
    output, _ = tool.run_python(params)
    unconfig(config_path)

    # Writes the output.
    with open(os.path.join(out_path, RAW_OUT_NAME % chr_name), 'w') as txt:
        txt.write(output)
    tools_common.create_csv(chrom, tool, RAW_OUT_NAME)
    tools_common.normalise(chrom, tool)
コード例 #6
0
def main():
    """Runs FlashFry.

    For command line help, run with the '-h' flag.
    """
    args = get_args()
    dataset, chrom, tool = common.process_args(args, tool_name=TOOL)
    if not dataset or not tool:
        return

    chr_path = chrom.get_path()
    out_path = tool.get_out_dir(dataset.name)
    bin_path = tool.get_bin_path()

    chr_name = chrom.get_name()
    index_path = os.path.join(out_path, INDEX_NAME % chr_name)
    discover_path = os.path.join(out_path, DISCOVER_NAME % chr_name)
    targets_path = os.path.join(out_path, RAW_OUT_NAME % chr_name)

    cmd_index = [
        "java",
        "-Xmx4g",
        "-jar",
        bin_path,
        "index",
        "--tmpLocation",
        out_path,
        "--database",
        index_path,
        "--reference",
        chr_path,
        "--enzyme",
        "spcas9ngg",
    ]
    cmd_discover = [
        "java",
        "-Xmx4g",
        "-jar",
        bin_path,
        "discover",
        "--database",
        index_path,
        "--fasta",
        chr_path,
        "--output",
        discover_path,
    ]
    cmd_score = [
        "java",
        "-Xmx4g",
        "-jar",
        bin_path,
        "score",
        "--input",
        discover_path,
        "--output",
        targets_path,
        "--scoringMetrics",
        "doench2014ontarget,moreno2015",
        "--database",
        index_path,
    ]

    tool.chdir()
    _ = subprocess.Popen(cmd_index).wait()
    _ = subprocess.Popen(cmd_discover).wait()
    _ = subprocess.Popen(cmd_score).wait()

    tools_common.create_csv(chrom, tool, RAW_OUT_NAME)
    tools_common.normalise(chrom, tool)