} else { IndividualProperty.Sex sex1 = membersMap.get(name).getSex(); if (sex1 != null && sex1 != sex && sex1 != IndividualProperty.Sex.UNKNOWN) { throw new CatalogException("Sex of parent " + name + " is incorrect or the relationship is incorrect. In "
private void fillIndividuals(String studyId, List<org.opencb.biodata.models.metadata.Individual> individuals) throws CatalogException { Map<String, org.opencb.biodata.models.metadata.Individual> individualMap = individuals .stream() .collect(Collectors.toMap(org.opencb.biodata.models.metadata.Individual::getId, i -> i)); Query query = new Query(IndividualDBAdaptor.QueryParams.ID.key(), new ArrayList<>(individualMap.keySet())); List<Individual> catalogIndividuals = catalogManager.getIndividualManager().get(studyId, query, INDIVIDUAL_QUERY_OPTIONS, sessionId) .getResult(); for (Individual catalogIndividual : catalogIndividuals) { org.opencb.biodata.models.metadata.Individual individual = individualMap.get(catalogIndividual.getName()); individual.setSex(catalogIndividual.getSex().name()); // individual.setFamily(catalogIndividual.getFamily()); individual.setPhenotype(catalogIndividual.getAffectationStatus().toString()); if (catalogIndividual.getMother() != null) { individual.setMother(catalogIndividual.getMother().getId()); } if (catalogIndividual.getFather() != null) { individual.setFather(catalogIndividual.getFather().getId()); } } }
public static Pedigree getPedigreeFromFamily(Family family) { List<Individual> members = family.getMembers(); Map<String, Member> individualMap = new HashMap<>(); // Parse all the individuals for (Individual member : members) { Member individual = new Member( member.getId(), member.getName(), null, null, member.getMultiples(), Member.Sex.getEnum(member.getSex().toString()), member.getLifeStatus(), Member.AffectionStatus.getEnum(member.getAffectationStatus().toString()), member.getPhenotypes(), member.getAttributes()); individualMap.put(individual.getId(), individual); } // Fill parent information for (Individual member : members) { if (member.getFather() != null && StringUtils.isNotEmpty(member.getFather().getId())) { individualMap.get(member.getId()).setFather(individualMap.get(member.getFather().getId())); } if (member.getMother() != null && StringUtils.isNotEmpty(member.getMother().getId())) { individualMap.get(member.getId()).setMother(individualMap.get(member.getMother().getId())); } } List<Member> individuals = new ArrayList<>(individualMap.values()); return new Pedigree(family.getId(), individuals, family.getPhenotypes(), family.getAttributes()); }
@Test public void testModifyIndividual() throws Exception { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); long individualId = catalogIndividualDBAdaptor.insert(studyId, new Individual("in1", "in1", IndividualProperty.Sex .UNKNOWN, "", null, 1, Collections.emptyList(), null), null).first().getUid(); ObjectMap params = new ObjectMap("sex", "MALE"); catalogIndividualDBAdaptor.update(individualId, params, QueryOptions.empty()); Individual individual = catalogIndividualDBAdaptor.get(individualId, null).first(); assertEquals(IndividualProperty.Sex.MALE, individual.getSex()); }
individual.setLifeStatus(ParamUtils.defaultObject(individual.getLifeStatus(), IndividualProperty.LifeStatus.UNKNOWN)); individual.setKaryotypicSex(ParamUtils.defaultObject(individual.getKaryotypicSex(), IndividualProperty.KaryotypicSex.UNKNOWN)); individual.setSex(ParamUtils.defaultObject(individual.getSex(), IndividualProperty.Sex.UNKNOWN)); individual.setAffectationStatus(ParamUtils.defaultObject(individual.getAffectationStatus(), IndividualProperty.AffectationStatus.UNKNOWN));
assertEquals(individualSolrModel.getSex(), individual.getSex().name()); assertEquals(individualSolrModel.getKaryotypicSex(), individual.getKaryotypicSex().name()); assertEquals(individualSolrModel.getEthnicity(), individual.getEthnicity());