def fetch_project_individuals_data(project_id): """ Notes: 1. ONLY project-authorized user has access to this individual """ project = get_object_or_404(Project, project_id=project_id) variants = get_causal_variants_for_project(project) variants = sorted(variants, key=lambda v: (v.extras['family_id'], v.xpos)) grouped_variants = itertools.groupby(variants, key=lambda v: v.extras['family_id']) for family_id, family_variants in grouped_variants: family = Family.objects.get(project=project, family_id=family_id) family_variants = list(family_variants) add_extra_info_to_variants_family(get_reference(), family, family_variants) family_data = [v.toJSON() for v in variants] variant_data = {family.family_id: family.get_json_obj() for family in project.get_families()} phenotype_entry_counts = gather_phenotype_data_for_project(project_id, variant_data) status_description_map = {} for abbrev, details in ANALYSIS_STATUS_CHOICES: status_description_map[abbrev] = details[0] families_json = json_displays.family_list(project.get_families()) family_statuses = {} for f in families_json: family_statuses[f['family_id']] = status_description_map[f['analysis_status']['status']] return family_data, variant_data, phenotype_entry_counts, family_statuses
def family_group_home(request, project_id, family_group_slug): project = get_object_or_404(Project, project_id=project_id) if not project.can_view(request.user): raise PermissionDenied family_group = get_object_or_404(FamilyGroup, project=project, slug=family_group_slug) return render( request, 'family_group/family_group_home.html', { 'project': project, 'family_group': family_group, 'families_json': json.dumps(json_displays.family_list(family_group.get_families())), 'analysis_statuses': json.dumps(dict(ANALYSIS_STATUS_CHOICES)), 'new_page_url': '/project/{}/analysis_group/{}'.format( project.seqr_project.guid, family_group.seqr_analysis_group.guid) if project.seqr_project and family_group.seqr_analysis_group else None, })
def add_family_group(request, project_id): project = get_object_or_404(Project, project_id=project_id) if not project.can_admin(request.user): return HttpResponse('unauthorized') families_json = json_displays.family_list(project.get_families()) return render(request, 'family_group/add_family_group.html', { 'project': project, 'families_json': json.dumps(families_json), })
def add_family_group(request, project_id): project = get_object_or_404(Project, project_id=project_id) if not project.can_admin(request.user): raise PermissionDenied families_json = json_displays.family_list(project.get_families()) return render(request, 'family_group/add_family_group.html', { 'project': project, 'families_json': json.dumps(families_json), })
def family_group_home(request, project_id, family_group_slug): 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') return render(request, 'family_group/family_group_home.html', { 'project': project, 'family_group': family_group, 'families_json': json.dumps(json_displays.family_list(family_group.get_families())), })
def families(request, project_id): project = get_object_or_404(Project, project_id=project_id) if not project.can_view(request.user): return HttpResponse('unauthorized') families_json = json_displays.family_list(project.get_families()) return render(request, 'family/families.html', { 'project': project, 'families_json': json.dumps(families_json), 'analysis_statuses': json.dumps(dict(ANALYSIS_STATUS_CHOICES)), })
def add_family_group(request, project_id): project = get_object_or_404(Project, project_id=project_id) if not project.can_admin(request.user): raise PermissionDenied families_json = json_displays.family_list(project.get_families()) return render(request, 'family_group/add_family_group.html', { 'project': project, 'families_json': json.dumps(families_json), 'new_page_url': '/project/{}/project_page'.format(project.seqr_project.guid) if project.seqr_project else None, })
def families(request, project_id): project = get_object_or_404(Project, project_id=project_id) if not project.can_view(request.user): raise PermissionDenied families_json = json_displays.family_list(project.get_families()) return render(request, 'family/families.html', { 'project': project, 'families_json': json.dumps(families_json), 'analysis_statuses': json.dumps(dict(ANALYSIS_STATUS_CHOICES)), 'is_manager': 'true' if project.can_admin(request.user) else 'false', })
def family_group_home(request, project_id, family_group_slug): 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): raise PermissionDenied return render(request, 'family_group/family_group_home.html', { 'project': project, 'family_group': family_group, 'families_json': json.dumps(json_displays.family_list(family_group.get_families())), 'analysis_statuses': json.dumps(dict(ANALYSIS_STATUS_CHOICES)), })
def family_group_home(request, project_id, family_group_slug): project = get_object_or_404(Project, project_id=project_id) if not project.can_view(request.user): raise PermissionDenied family_group = get_object_or_404(FamilyGroup, project=project, slug=family_group_slug) return render(request, 'family_group/family_group_home.html', { 'project': project, 'family_group': family_group, 'families_json': json.dumps(json_displays.family_list(family_group.get_families())), 'analysis_statuses': json.dumps(dict(ANALYSIS_STATUS_CHOICES)), 'new_page_url': '/project/{}/analysis_group/{}'.format(project.seqr_project.guid, family_group.seqr_analysis_group.guid) if project.seqr_project and family_group.seqr_analysis_group else None, })
def add_family_group(request, project_id): project = get_object_or_404(Project, project_id=project_id) if not project.can_admin(request.user): raise PermissionDenied families_json = json_displays.family_list(project.get_families()) return render( request, 'family_group/add_family_group.html', { 'project': project, 'families_json': json.dumps(families_json), 'new_page_url': '/project/{}/project_page'.format(project.seqr_project.guid) if project.seqr_project else None, })
def family_group_home(request, project_id, family_group_slug): 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') return render( request, 'family_group/family_group_home.html', { 'project': project, 'family_group': family_group, 'families_json': json.dumps(json_displays.family_list(family_group.get_families())), })