Exemplo n.º 1
0
def family_group_gene(request, project_id, family_group_slug, gene_id):

    project = get_object_or_404(Project, project_id=project_id)
    family_group = get_object_or_404(FamilyGroup,
                                     project=project,
                                     slug=family_group_slug)
    if not project.can_view(request.user):
        return HttpResponse('unauthorized')

    gene_id = get_gene_id_from_str(gene_id, get_reference())
    gene = get_reference().get_gene(gene_id)

    varfilter = get_default_variant_filter(
        'all_coding',
        mall.get_annotator().reference_population_slugs)
    variants_by_family = family_group_analysis.get_variants_in_gene(
        family_group, gene_id, variant_filter=varfilter)

    return render(
        request, 'family_group/family_group_gene.html', {
            'project': project,
            'family_group': family_group,
            'family_group_json': json.dumps(family_group.toJSON()),
            'gene_json': json.dumps(gene),
            'gene': gene,
            'variants_by_family_json': json.dumps(variants_by_family),
        })
Exemplo n.º 2
0
def get_gene_id_list_from_raw(raw_text, reference): 
    """
    raw_text is a string that contains a list of genes separated by whitespace
    return (success, result) 
    if success is true, result is a list of gene_ids that can be used in a variant_filter
    if false, result is a gene_id that could not be converted
    """
    gene_strs = raw_text.split()
    gene_ids = []
    for gene_str in gene_strs: 
        if xbrowse_utils.get_gene_id_from_str(gene_str, reference):
            gene_ids.append(xbrowse_utils.get_gene_id_from_str(gene_str, reference))
        else: 
            return False, gene_str

    return True, gene_ids
Exemplo n.º 3
0
def get_gene_id_list_from_raw(raw_text, reference):
    """
    raw_text is a string that contains a list of genes separated by whitespace
    return (success, result)
    if success is true, result is a list of gene_ids that can be used in a variant_filter
    if false, result is a gene_id that could not be converted
    """
    gene_strs = raw_text.split()
    gene_ids = []
    for gene_str in gene_strs:
        if xbrowse_utils.get_gene_id_from_str(gene_str, reference):
            gene_ids.append(xbrowse_utils.get_gene_id_from_str(gene_str, reference))
        else:
            return False, gene_str

    return True, gene_ids
Exemplo n.º 4
0
def gene_info(request, gene_str):

    real_gene_id = get_gene_id_from_str(gene_str, get_reference())
    gene = get_reference().get_gene(real_gene_id)
    gene['expression'] = get_reference().get_tissue_expression_display_values(real_gene_id)
    gene_json = json.dumps(gene)

    return render(request, 'gene_info.html', {
        'gene_json': gene_json,
        'gene_symbol': gene['symbol'],
    })
Exemplo n.º 5
0
def gene_info(request, gene_str):

    real_gene_id = get_gene_id_from_str(gene_str, get_reference())
    gene = get_reference().get_gene(real_gene_id)
    gene['expression'] = get_reference().get_tissue_expression_display_values(
        real_gene_id)
    gene_json = json.dumps(gene)

    return render(request, 'gene_info.html', {
        'gene_json': gene_json,
        'gene_symbol': gene['symbol'],
    })
Exemplo n.º 6
0
def gene_info(request, gene_str):

    real_gene_id = get_gene_id_from_str(gene_str, get_reference())
    gene = get_reference().get_gene(real_gene_id)
    gene['expression'] = get_reference().get_tissue_expression_display_values(real_gene_id)
    add_notes_to_genes([gene], request.user)
    gene_json = json.dumps(gene)

    return render(request, 'gene_info.html', {
        'gene_json': gene_json,
        'gene_symbol': gene['symbol'],
        'new_page_url': '/gene_info/{}'.format(gene_str),
    })
Exemplo n.º 7
0
def gene_info(request, gene_str):

    real_gene_id = get_gene_id_from_str(gene_str, get_reference())
    gene = get_reference().get_gene(real_gene_id)
    gene['expression'] = get_reference().get_tissue_expression_display_values(
        real_gene_id)
    add_notes_to_genes([gene], request.user)
    gene_json = json.dumps(gene)

    return render(
        request, 'gene_info.html', {
            'gene_json': gene_json,
            'gene_symbol': gene['symbol'],
            'new_page_url': '/gene_info/{}'.format(gene_str),
        })
Exemplo n.º 8
0
    def clean(self):
        cleaned_data = super(GeneListForm, self).clean()

        gene_str_list = cleaned_data.get('genes', '').split()
        gene_ids = []
        gene_id_errors = []
        for s in gene_str_list:
            gene_id = get_gene_id_from_str(s.strip(), get_reference())
            if not gene_id:
                gene_id_errors.append(s)
            gene_ids.append(gene_id)
        if len(gene_id_errors) > 0:
            raise forms.ValidationError("Can't find gene(s): %s" % ", ".join(gene_id_errors))
        cleaned_data['gene_ids'] = gene_ids
        cleaned_data['slug'] = slugify(cleaned_data['name'])[:40]
        cleaned_data['is_public'] = cleaned_data['is_public'] == 'yes'

        return cleaned_data
Exemplo n.º 9
0
    def clean(self):
        cleaned_data = super(GeneListForm, self).clean()

        gene_str_list = cleaned_data.get("genes", "").split()
        gene_ids = []
        gene_id_errors = []
        for s in gene_str_list:
            gene_id = get_gene_id_from_str(s.strip(), get_reference())
            if not gene_id:
                gene_id_errors.append(s)
            gene_ids.append(gene_id)
        if len(gene_id_errors) > 0:
            raise forms.ValidationError("Can't find a gene ID for this gene: %s" % " and ".join(gene_id_errors))
        cleaned_data["gene_ids"] = gene_ids
        cleaned_data["slug"] = slugify(cleaned_data["name"])[:40]
        cleaned_data["is_public"] = cleaned_data["is_public"] == "yes"

        return cleaned_data
Exemplo n.º 10
0
Arquivo: forms.py Projeto: zmcv/seqr
    def clean(self):
        cleaned_data = super(GeneListForm, self).clean()

        gene_str_list = cleaned_data.get('genes', '').split()
        gene_ids = []
        gene_id_errors = []
        for s in gene_str_list:
            gene_id = get_gene_id_from_str(s.strip(), get_reference())
            if not gene_id:
                gene_id_errors.append(s)
            gene_ids.append(gene_id)
        if len(gene_id_errors) > 0:
            raise forms.ValidationError("Can't find gene(s): %s" %
                                        ", ".join(gene_id_errors))
        cleaned_data['gene_ids'] = gene_ids
        cleaned_data['slug'] = slugify(cleaned_data['name'])[:40]
        cleaned_data['is_public'] = cleaned_data['is_public'] == 'yes'

        return cleaned_data
Exemplo n.º 11
0
def family_group_gene(request, project_id, family_group_slug, gene_id):

    project = get_object_or_404(Project, project_id=project_id)
    family_group = get_object_or_404(FamilyGroup, project=project, slug=family_group_slug)
    if not project.can_view(request.user):
        return HttpResponse('unauthorized')

    gene_id = get_gene_id_from_str(gene_id, get_reference())
    gene = get_reference().get_gene(gene_id)

    varfilter = get_default_variant_filter('all_coding', mall.get_annotator().reference_population_slugs)
    variants_by_family = family_group_analysis.get_variants_in_gene(family_group, gene_id, variant_filter=varfilter)

    return render(request, 'family_group/family_group_gene.html', {
        'project': project,
        'family_group': family_group,
        'family_group_json': json.dumps(family_group.toJSON()),
        'gene_json': json.dumps(gene),
        'gene': gene,
        'variants_by_family_json': json.dumps(variants_by_family),
    })