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 includeMemberIdOnly() throws CatalogException { createDummyFamily("family"); QueryOptions options = new QueryOptions(QueryOptions.INCLUDE, FamilyDBAdaptor.QueryParams.MEMBERS.key() + "." + IndividualDBAdaptor.QueryParams.ID.key()); QueryResult<Family> family = familyManager.get(STUDY, "family", options, sessionIdUser); for (Individual individual : family.first().getMembers()) { assertTrue(StringUtils.isNotEmpty(individual.getId())); assertTrue(StringUtils.isEmpty(individual.getName())); assertTrue(StringUtils.isEmpty(individual.getCreationDate())); } }
Arrays.asList(IndividualDBAdaptor.QueryParams.UID.key(), IndividualDBAdaptor.QueryParams.ID.key()))); if (individualQueryResult.getNumResults() > 0) { throw new CatalogException("Sample from individual " + individualQueryResult.first().getName() + "(" + individualQueryResult.first().getUid() + ")");
search.getResult().forEach(i -> { assertTrue(org.apache.commons.lang3.StringUtils.isNotEmpty(i.getCreationDate())); assertTrue(org.apache.commons.lang3.StringUtils.isEmpty(i.getName())); assertEquals(3, i.getSamples().size()); assertTrue(org.apache.commons.lang3.StringUtils.isEmpty(i.getSamples().get(0).getCreationDate()));
ObjectMap updateParams = new ObjectMap() .append(IndividualDBAdaptor.QueryParams.STATUS_NAME.key(), Status.DELETED) .append(IndividualDBAdaptor.QueryParams.ID.key(), individual.getName() + suffixName); QueryResult<Long> update = individualDBAdaptor.update(updateQuery, updateParams, QueryOptions.empty()); if (update.first() > 0) {
String msg = "Can't delete Individual, still in use as \"fatherId\" of individual : ["; for (Individual individual : individuals.getResult()) { msg += " { id: " + individual.getUid() + ", name: \"" + individual.getName() + "\" },"; String msg = "Can't delete Individual, still in use as \"motherId\" of individual : ["; for (Individual individual : individuals.getResult()) { msg += " { id: " + individual.getUid() + ", name: \"" + individual.getName() + "\" },";
assertEquals(null, familyQueryResult.first().getMembers().get(0).getId()); assertEquals(null, familyQueryResult.first().getMembers().get(1).getId()); assertEquals("child2", familyQueryResult.first().getMembers().get(0).getName()); assertEquals("child3", familyQueryResult.first().getMembers().get(1).getName());
String msg = "Can't delete VariableSetId, still in use as \"variableSetId\" of individuals : ["; for (Individual individual : individuals.getResult()) { msg += " { id: " + individual.getUid() + ", name: \"" + individual.getName() + "\" },";