def calculate_mendelian_variant_search(search_spec, xfamily): variants = None if search_spec.search_mode == 'standard_inheritance': variants = list(get_variants_with_inheritance_mode( get_mall(), xfamily, search_spec.inheritance_mode, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) elif search_spec.search_mode == 'custom_inheritance': variants = list(get_variants_family( get_datastore(), xfamily, genotype_filter=search_spec.genotype_inheritance_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) elif search_spec.search_mode == 'gene_burden': gene_stream = get_genes_family( get_datastore(), get_reference(), xfamily, burden_filter=search_spec.gene_burden_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, ) variants = list(stream_utils.gene_stream_to_variant_stream(gene_stream, get_reference())) elif search_spec.search_mode == 'allele_count': variants = list(get_variants_allele_count( get_datastore(), xfamily, search_spec.allele_count_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) elif search_spec.search_mode == 'all_variants': variants = list(get_variants_family( get_datastore(), xfamily, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) return variants
def calculate_mendelian_variant_search(search_spec, xfamily): sys.stderr.write(" mendelian_variant_search for %s - search mode: %s %s\n" % (xfamily.project_id, search_spec.search_mode, search_spec.__dict__)) variants = None if search_spec.search_mode == 'standard_inheritance': variants = list(get_variants_with_inheritance_mode( get_mall(xfamily.project_id), xfamily, search_spec.inheritance_mode, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, )) elif search_spec.search_mode == 'custom_inheritance': variants = list(get_variants_family( get_datastore(xfamily.project_id), xfamily, genotype_filter=search_spec.genotype_inheritance_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, )) elif search_spec.search_mode == 'gene_burden': gene_stream = get_genes_family( get_datastore(xfamily.project_id), get_reference(), xfamily, burden_filter=search_spec.gene_burden_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, ) variants = list(stream_utils.gene_stream_to_variant_stream(gene_stream, get_reference())) elif search_spec.search_mode == 'allele_count': variants = list(get_variants_allele_count( get_datastore(xfamily.project_id), xfamily, search_spec.allele_count_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, )) elif search_spec.search_mode == 'all_variants': variants = list(get_variants_family( get_datastore(xfamily.project_id), xfamily, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, indivs_to_consider=xfamily.indiv_id_list(), )) return variants
def calculate_mendelian_variant_search(search_spec, family, user=None): xfamily = family.xfamily() project = family.project variants = None if search_spec.search_mode == 'standard_inheritance': variants = list(get_variants_with_inheritance_mode( get_mall(project), xfamily, search_spec.inheritance_mode, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, )) elif search_spec.search_mode == 'custom_inheritance': variants = list(get_variants_family( get_datastore(project), xfamily, genotype_filter=search_spec.genotype_inheritance_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, )) elif search_spec.search_mode == 'gene_burden': gene_stream = get_genes_family( get_datastore(project), get_reference(), xfamily, burden_filter=search_spec.gene_burden_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, ) variants = list(stream_utils.gene_stream_to_variant_stream(gene_stream, get_reference())) elif search_spec.search_mode == 'allele_count': variants = list(get_variants_allele_count( get_datastore(project), xfamily, search_spec.allele_count_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, )) elif search_spec.search_mode == 'all_variants': variants = list(get_variants_family( get_datastore(project), xfamily, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, indivs_to_consider=xfamily.indiv_id_list(), user=user, )) for variant in variants: variant.set_extra('family_id', family.family_id) return variants
def calculate_mendelian_variant_search(search_spec, xfamily): sys.stderr.write(" cohort_variant_search - inheritance_mode: %s" % search_spec.inheritance_mode) variants = None if search_spec.search_mode == 'standard_inheritance': variants = list( get_variants_with_inheritance_mode( get_mall(xfamily.project_id), xfamily, search_spec.inheritance_mode, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) elif search_spec.search_mode == 'custom_inheritance': variants = list( get_variants_family( get_datastore(xfamily.project_id), xfamily, genotype_filter=search_spec.genotype_inheritance_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) elif search_spec.search_mode == 'gene_burden': gene_stream = get_genes_family( get_datastore(xfamily.project_id), get_reference(), xfamily, burden_filter=search_spec.gene_burden_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, ) variants = list( stream_utils.gene_stream_to_variant_stream(gene_stream, get_reference())) elif search_spec.search_mode == 'allele_count': variants = list( get_variants_allele_count( get_datastore(xfamily.project_id), xfamily, search_spec.allele_count_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) elif search_spec.search_mode == 'all_variants': variants = list( get_variants_family( get_datastore(xfamily.project_id), xfamily, variant_filter=search_spec.variant_filter, quality_filter=search_spec.genotype_quality_filter, )) return variants
def calculate_mendelian_variant_search(search_spec, family, user=None): xfamily = family.xfamily() project = family.project variants = None if search_spec.search_mode == 'standard_inheritance': variants = list( get_variants_with_inheritance_mode( get_mall(project), xfamily, search_spec.inheritance_mode, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, )) elif search_spec.search_mode == 'custom_inheritance': variants = list( get_variants_family( get_datastore(project), xfamily, genotype_filter=search_spec.genotype_inheritance_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, )) elif search_spec.search_mode == 'gene_burden': gene_stream = get_genes_family( get_datastore(project), get_reference(), xfamily, burden_filter=search_spec.gene_burden_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, ) variants = list( stream_utils.gene_stream_to_variant_stream(gene_stream, get_reference())) elif search_spec.search_mode == 'allele_count': variants = list( get_variants_allele_count( get_datastore(project), xfamily, search_spec.allele_count_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, user=user, )) elif search_spec.search_mode == 'all_variants': variants = list( get_variants_family( get_datastore(project), xfamily, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, indivs_to_consider=xfamily.indiv_id_list(), user=user, )) for variant in variants: variant.set_extra('family_id', family.family_id) return variants
def calculate_mendelian_variant_search(search_spec, xfamily): sys.stderr.write(( "mendelian_variant_search for %s - search mode: %s \n" "variant_filter: %s \ninheritance_mode: %s \nallele_count_filter: %s \nquality_filter: %s \ngenotype_inheritance_filter: %s \n" ) % (xfamily.project_id, search_spec.search_mode, search_spec.variant_filter.toJSON() if search_spec.variant_filter else '', search_spec.inheritance_mode, search_spec.allele_count_filter, search_spec.quality_filter, search_spec.genotype_inheritance_filter)) variants = None if search_spec.search_mode == 'standard_inheritance': variants = list( get_variants_with_inheritance_mode( get_mall(xfamily.project_id), xfamily, search_spec.inheritance_mode, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, )) elif search_spec.search_mode == 'custom_inheritance': variants = list( get_variants_family( get_datastore(xfamily.project_id), xfamily, genotype_filter=search_spec.genotype_inheritance_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, )) elif search_spec.search_mode == 'gene_burden': gene_stream = get_genes_family( get_datastore(xfamily.project_id), get_reference(), xfamily, burden_filter=search_spec.gene_burden_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, ) variants = list( stream_utils.gene_stream_to_variant_stream(gene_stream, get_reference())) elif search_spec.search_mode == 'allele_count': variants = list( get_variants_allele_count( get_datastore(xfamily.project_id), xfamily, search_spec.allele_count_filter, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, )) elif search_spec.search_mode == 'all_variants': variants = list( get_variants_family( get_datastore(xfamily.project_id), xfamily, variant_filter=search_spec.variant_filter, quality_filter=search_spec.quality_filter, indivs_to_consider=xfamily.indiv_id_list(), )) return variants