def postprocess_variants(data): """Provide post-processing of variant calls: filtering and effects annotation. """ cur_name = "%s, %s" % (data["name"][-1], get_variantcaller(data)) logger.info("Finalizing variant calls: %s" % cur_name) if data.get("align_bam") and data.get("vrn_file"): logger.info("Calculating variation effects for %s" % cur_name) effect_todo = effects.get_type(data) if effect_todo: if effect_todo == "snpeff": ann_vrn_file = effects.snpeff_effects(data) elif effect_todo == "vep": ann_vrn_file = effects.run_vep(data) else: raise ValueError( "Unexpected variant effects configuration: %s" % effect_todo) if ann_vrn_file: data["vrn_file"] = ann_vrn_file logger.info("Filtering for %s" % cur_name) data["vrn_file"] = variant_filtration( data["vrn_file"], data["sam_ref"], tz.get_in(("genome_resources", "variation"), data, {}), data) logger.info("Prioritization for %s" % cur_name) data["vrn_file"] = prioritize.handle_vcf_calls(data["vrn_file"], data) return [[data]]
def add_reference_resources(data, remote_retriever=None): """Add genome reference information to the item to process. """ aligner = data["config"]["algorithm"].get("aligner", None) if remote_retriever: data["reference"] = remote_retriever.get_refs(data["genome_build"], aligner, data["config"]) else: data["reference"] = genome.get_refs(data["genome_build"], aligner, data["dirs"]["galaxy"], data) _check_ref_files(data["reference"], data) # back compatible `sam_ref` target data["sam_ref"] = utils.get_in(data, ("reference", "fasta", "base")) ref_loc = utils.get_in(data, ("config", "resources", "species", "dir"), utils.get_in(data, ("reference", "fasta", "base"))) if remote_retriever: data = remote_retriever.get_resources(data["genome_build"], ref_loc, data) else: data["genome_resources"] = genome.get_resources( data["genome_build"], ref_loc, data) if effects.get_type( data) == "snpeff" and "snpeff" not in data["reference"]: data["reference"]["snpeff"] = effects.get_snpeff_files(data) data = _fill_validation_targets(data) data = _fill_prioritization_targets(data) # Re-enable when we have ability to re-define gemini configuration directory if False: if population.do_db_build([data], need_bam=False): data["reference"]["gemini"] = population.get_gemini_files(data) return data
def add_reference_resources(data, remote_retriever=None): """Add genome reference information to the item to process. """ aligner = data["config"]["algorithm"].get("aligner", None) if remote_retriever: data["reference"] = remote_retriever.get_refs(data["genome_build"], aligner, data["config"]) else: data["reference"] = genome.get_refs(data["genome_build"], aligner, data["dirs"]["galaxy"], data) _check_ref_files(data["reference"], data) # back compatible `sam_ref` target data["sam_ref"] = utils.get_in(data, ("reference", "fasta", "base")) ref_loc = utils.get_in(data, ("config", "resources", "species", "dir"), utils.get_in(data, ("reference", "fasta", "base"))) if remote_retriever: data = remote_retriever.get_resources(data["genome_build"], ref_loc, data) else: data["genome_resources"] = genome.get_resources(data["genome_build"], ref_loc, data) if effects.get_type(data) == "snpeff" and "snpeff" not in data["reference"]: data["reference"]["snpeff"] = effects.get_snpeff_files(data) data = _fill_validation_targets(data) data = _fill_prioritization_targets(data) # Re-enable when we have ability to re-define gemini configuration directory if False: if population.do_db_build([data], need_bam=False): data["reference"]["gemini"] = population.get_gemini_files(data) return data
def add_reference_resources(data): """Add genome reference information to the item to process. """ aligner = data["config"]["algorithm"].get("aligner", None) data["reference"] = genome.get_refs(data["genome_build"], aligner, data["dirs"]["galaxy"], data) # back compatible `sam_ref` target data["sam_ref"] = utils.get_in(data, ("reference", "fasta", "base")) ref_loc = utils.get_in(data, ("config", "resources", "species", "dir"), utils.get_in(data, ("reference", "fasta", "base"))) data["genome_resources"] = genome.get_resources(data["genome_build"], ref_loc) if effects.get_type(data) == "snpeff": data["reference"]["snpeff"] = effects.get_snpeff_files(data) alt_genome = utils.get_in(data, ("config", "algorithm", "validate_genome_build")) if alt_genome: data["reference"]["alt"] = { alt_genome: genome.get_refs(alt_genome, None, data["dirs"]["galaxy"], data)["fasta"] } # Re-enable when we have ability to re-define gemini configuration directory if False: if population.do_db_build([data], check_gemini=False, need_bam=False): data["reference"]["gemini"] = population.get_gemini_files(data) return data
def add_reference_resources(data): """Add genome reference information to the item to process. """ aligner = data["config"]["algorithm"].get("aligner", None) data["reference"] = genome.get_refs(data["genome_build"], aligner, data["dirs"]["galaxy"], data) # back compatible `sam_ref` target data["sam_ref"] = utils.get_in(data, ("reference", "fasta", "base")) ref_loc = utils.get_in(data, ("config", "resources", "species", "dir"), utils.get_in(data, ("reference", "fasta", "base"))) data["genome_resources"] = genome.get_resources(data["genome_build"], ref_loc, data) if effects.get_type(data) == "snpeff": data["reference"]["snpeff"] = effects.get_snpeff_files(data) alt_genome = utils.get_in(data, ("config", "algorithm", "validate_genome_build")) if alt_genome: data["reference"]["alt"] = {alt_genome: genome.get_refs(alt_genome, None, data["dirs"]["galaxy"], data)["fasta"]} # Re-enable when we have ability to re-define gemini configuration directory if False: if population.do_db_build([data], check_gemini=False, need_bam=False): data["reference"]["gemini"] = population.get_gemini_files(data) return data
def postprocess_variants(data): """Provide post-processing of variant calls: filtering and effects annotation. """ cur_name = "%s, %s" % (data["name"][-1], get_variantcaller(data)) logger.info("Finalizing variant calls: %s" % cur_name) if data.get("align_bam") and data.get("vrn_file"): logger.info("Calculating variation effects for %s" % cur_name) effect_todo = effects.get_type(data) if effect_todo: if effect_todo == "snpeff": ann_vrn_file = effects.snpeff_effects(data) elif effect_todo == "vep": ann_vrn_file = effects.run_vep(data) else: raise ValueError("Unexpected variant effects configuration: %s" % effect_todo) if ann_vrn_file: data["vrn_file"] = ann_vrn_file logger.info("Filtering for %s" % cur_name) data["vrn_file"] = variant_filtration(data["vrn_file"], data["sam_ref"], tz.get_in(("genome_resources", "variation"), data, {}), data) logger.info("Prioritization for %s" % cur_name) data["vrn_file"] = prioritize.handle_vcf_calls(data["vrn_file"], data) return [[data]]