@Test public void testGetStudyIdByIndividualId() throws Exception { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); long individualId = catalogIndividualDBAdaptor.insert(studyId, new Individual().setStatus(new Status()), null).first().getUid(); long studyIdByIndividualId = catalogIndividualDBAdaptor.getStudyId(individualId); assertEquals(studyId, studyIdByIndividualId); }
@Test public void testAvoidDuplicatedSamples() throws CatalogDBException { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); Sample sample1 = catalogDBAdaptor.getCatalogSampleDBAdaptor().insert(studyId, new Sample().setId("sample1").setStatus(new Status()), QueryOptions.empty()).first(); Sample sample2 = catalogDBAdaptor.getCatalogSampleDBAdaptor().insert(studyId, new Sample().setId("sample2").setStatus(new Status()), QueryOptions.empty()).first(); Individual individual = new Individual() .setName("in2") .setStatus(new Status()) .setSamples(Arrays.asList(sample1, sample1, sample2, new Sample().setUid(-1).setStatus(new Status()))); Individual individualStored = catalogIndividualDBAdaptor.insert(studyId, individual, null).first(); assertEquals(2, individualStored.getSamples().size()); assertTrue(individualStored.getSamples().stream().map(Sample::getUid).collect(Collectors.toSet()).containsAll(Arrays.asList( sample1.getUid(), sample2.getUid()))); // Update samples ObjectMap params = new ObjectMap(IndividualDBAdaptor.QueryParams.SAMPLES.key(), individual.getSamples()); Individual update = catalogIndividualDBAdaptor.update(individualStored.getUid(), params, QueryOptions.empty()).first(); assertEquals(2, update.getSamples().size()); assertTrue(update.getSamples().stream().map(Sample::getUid).collect(Collectors.toSet()).containsAll(Arrays.asList(sample1.getUid(), sample2.getUid()))); }
individual.setAttributes(ParamUtils.defaultObject(individual.getAttributes(), Collections.emptyMap())); individual.setSamples(ParamUtils.defaultObject(individual.getSamples(), Collections.emptyList())); individual.setStatus(new Status()); individual.setCreationDate(TimeUtils.getTime());
.setKaryotypicSex(IndividualProperty.KaryotypicSex.XX).setVersion(4).setStatus(new Status("READY")). setLifeStatus(IndividualProperty.LifeStatus.ABORTED).setAffectationStatus(IndividualProperty.AffectationStatus.AFFECTED). setSamples(Arrays.asList(new Sample().setId("1"), new Sample().setId("2"))).setParentalConsanguinity(true);
@Test public void getSampleWithIndividual() throws CatalogDBException { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); QueryOptions queryOptions = new QueryOptions(); // We create a new sample with the individual Sample sample = new Sample().setId("sample1").setStatus(new Status()); QueryResult<Sample> sampleQR = catalogSampleDBAdaptor.insert(studyId, sample, queryOptions); long sampleId = sampleQR.first().getUid(); // We create an individual String individualName = "individualName"; Individual individual = new Individual() .setId(individualName) .setStatus(new Status()) .setSamples(Arrays.asList(new Sample().setUid(sampleId).setVersion(1).setStatus(new Status()))); dbAdaptorFactory.getCatalogIndividualDBAdaptor().insert(studyId, individual, queryOptions); // Get the sample Query query = new Query() .append(SampleDBAdaptor.QueryParams.STUDY_UID.key(), studyId) .append(SampleDBAdaptor.QueryParams.INDIVIDUAL.key(), "individualName"); QueryResult<Sample> individualQuery = catalogSampleDBAdaptor.get(query, queryOptions); assertEquals("sample1", individualQuery.first().getId()); query = new Query() .append(SampleDBAdaptor.QueryParams.STUDY_UID.key(), studyId) .append(SampleDBAdaptor.QueryParams.INDIVIDUAL.key(), "non-existing"); QueryResult<Sample> inexistentIndividualQuery = catalogSampleDBAdaptor.get(query, queryOptions); assertEquals(0, inexistentIndividualQuery.getNumResults()); }