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), })
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
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'], })
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'], })
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), })
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), })
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
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
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), })