def family_from_indiv_id_list(indiv_id_list, project_id, family_id): indivs = [ Individual({ 'project_id': project_id, 'family_id': family_id, 'indiv_id': indiv_id }) for indiv_id in indiv_id_list ] family = Family({'project_id': project_id, 'family_id': family_id}) for indiv in indivs: family.add_individual(indiv) return family
def get_families_from_individuals(individuals, project_id='.'): """ List of families from a set of individuals (matched by family_id) """ sorted_individuals = sorted(individuals, key=lambda x: x.family_id) families = [] for family_id, indivs in itertools.groupby(sorted_individuals, key=lambda x: x.family_id): family = Family(family_id, list(indivs), project_id=project_id) families.append(family) return families
def family_from_indiv_id_list(indiv_id_list, project_id, family_id): indivs = [Individual({'project_id': project_id, 'family_id': family_id, 'indiv_id': indiv_id}) for indiv_id in indiv_id_list] family = Family({'project_id': project_id, 'family_id': family_id}) for indiv in indivs: family.add_individual(indiv) return family