def main(system_config_file, cur_config_file): config = utils.merge_config_files([system_config_file, cur_config_file]) run_module = "bcbio.hbc.linker" trim_vals = config["algorithm"]["simple_trims"] fastq_dir = utils.add_full_path(config["dir"]["fastq"]) cur_files = [ os.path.join(fastq_dir, x["file"]) for x in config["experiments"] ] dirs = { "config": utils.add_full_path(os.path.dirname(system_config_file)), "work": os.getcwd(), "align": utils.add_full_path(config["dir"]["align"]) } dirs["galaxy"] = os.path.dirname( utils.add_full_path(config["galaxy_config"], dirs["config"])) config["dir"]["trim"] = utils.add_full_path(config["dir"]["work_trim"]) config["dir"]["fastq"] = fastq_dir config["dir"]["work_fastq"] = utils.add_full_path( config["dir"]["work_fastq"]) run_parallel = parallel_runner(run_module, dirs, config, system_config_file) aligned = [] for i in range(len(trim_vals.values()[0])): print cur_files in_args = [(f, i, trim_vals, config) for f in cur_files] align_trimmed_files = run_parallel("trim_with_aligner", in_args) cur_files = [ x["unaligned"] for x in align_trimmed_files if x["unaligned"] ] aligned.append([x["aligned"] for x in align_trimmed_files]) trimmed_fastq = combine_aligned(aligned, config) align_bams = do_alignment(trimmed_fastq, config, dirs, run_parallel) count_files = count_targets(align_bams, config) combine.identify_top_ranked(count_files, config)
def main(system_config_file, cur_config_file): config = utils.merge_config_files([system_config_file, cur_config_file]) run_module = "bcbio.hbc.linker" trim_vals = config["algorithm"]["simple_trims"] fastq_dir = utils.add_full_path(config["dir"]["fastq"]) cur_files = [os.path.join(fastq_dir, x["file"]) for x in config["experiments"]] dirs = {"config": utils.add_full_path(os.path.dirname(system_config_file)), "work" : os.getcwd(), "align": utils.add_full_path(config["dir"]["align"])} dirs["galaxy"] = os.path.dirname(utils.add_full_path(config["galaxy_config"], dirs["config"])) config["dir"]["trim"] = utils.add_full_path(config["dir"]["work_trim"]) config["dir"]["fastq"] = fastq_dir config["dir"]["work_fastq"] = utils.add_full_path(config["dir"]["work_fastq"]) run_parallel = parallel_runner(run_module, dirs, config, system_config_file) aligned = [] for i in range(len(trim_vals.values()[0])): print cur_files in_args = [(f, i, trim_vals, config) for f in cur_files] align_trimmed_files = run_parallel("trim_with_aligner", in_args) cur_files = [x["unaligned"] for x in align_trimmed_files if x["unaligned"]] aligned.append([x["aligned"] for x in align_trimmed_files]) trimmed_fastq = combine_aligned(aligned, config) align_bams = do_alignment(trimmed_fastq, config, dirs, run_parallel) count_files = count_targets(align_bams, config) combine.identify_top_ranked(count_files, config)
def main(system_config_file, cur_config_file): config = utils.merge_config_files([system_config_file, cur_config_file]) workers_needed = len(config["experiments"]) task_module = "bcbio.hbc.linker.tasks" queue = "hbc.trim" args = [system_config_file, cur_config_file] run_and_monitor(config, system_config_file, args, workers_needed, task_module, queues=queue)