public VariantQueryResult<Variant> query(Query query, QueryOptions options) { query = preProcessQuery(query, options); return dbAdaptor.get(query, options); }
protected VariantQueryResult<Variant> query(Query query, QueryOptions options) { query = preProcessQuery(query, options); return dbAdaptor.get(query, options); }
@Test public void testGetAllVariants_filterStudy_returnedStudies_wrong() { query.append(STUDY.key(), -1); thrown.expect(VariantQueryException.class); //StudyNotFound exception queryResult = dbAdaptor.get(query, options); }
@Test public void testGetAllVariants_returnedStudies_wrong() { query.append(INCLUDE_STUDY.key(), -1); thrown.expect(VariantQueryException.class); //StudyNotFound exception queryResult = dbAdaptor.get(query, options); }
@Test public void testGetAllVariants_filterStudy_unknownStudy() { query.append(GENOTYPE.key(), "HG00258:1/1"); thrown.expect(IllegalArgumentException.class); //Unspecified study exception queryResult = dbAdaptor.get(query, options); }
@Test public void removeAndPurgeStudyTest() throws Exception { ((VariantMongoDBAdaptor) dbAdaptor).removeStudy(studyConfiguration.getStudyName(), System.currentTimeMillis(), new QueryOptions("purge", true)); for (Variant variant : dbAdaptor) { for (Map.Entry<String, StudyEntry> entry : variant.getStudiesMap().entrySet()) { assertFalse(entry.getValue().getStudyId().equals(studyConfiguration.getStudyId() + "")); } } QueryResult<Variant> allVariants = dbAdaptor.get(new Query(), new QueryOptions()); assertEquals(0, allVariants.getNumTotalResults()); }
@Test public void testIncludeStudiesAll() throws Exception { query = new Query(VariantQueryParam.INCLUDE_STUDY.key(), ALL); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query(), options); assertThat(queryResult, everyResult(allVariants, notNullValue(Variant.class))); }
@Test public void testGetAllVariants_returnedStudiesEmpty() { query.append(INCLUDE_STUDY.key(), NONE); // thrown.expect(VariantQueryException.class); //StudyNotFound exception queryResult = dbAdaptor.get(query, options); assertEquals(numVariants, queryResult.getNumResults()); assertEquals(numVariants, queryResult.getNumTotalResults()); for (Variant variant : queryResult.getResult()) { assertEquals(Collections.emptyList(), variant.getStudies()); } }
@Test public void testGetByStudiesNegated() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1" + AND + NOT + "S_2"); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1,S_2"), options); assertThat(queryResult, everyResult(allVariants, allOf(withStudy("S_1"), not(withStudy("S_2"))))); }
@Test public void testGetByFilterByIncludeSample() { VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), sampleNA12877) .append(VariantQueryParam.INCLUDE_FILE.key(), asList(file12877)), options); query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.FILTER.key(), "LowGQX;LowMQ") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), sampleNA12877); queryResult = query(query, options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", withFileId(file12877, withAttribute(FILTER, allOf(containsString("LowGQX"), containsString("LowMQ"))))))); }
@Test public void testGetByStudies() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1"); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1"), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1"))); }
@Test public void testGetByFileNamesMultiStudiesImplicitOr() { query = new Query() .append(VariantQueryParam.FILE.key(), file12877 + OR + file12882); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12882") .append(VariantQueryParam.INCLUDE_FILE.key(), asList(file12877 , file12882)), options); assertThat(queryResult, everyResult(allVariants, anyOf(withStudy("S_1", withFileId(file12877)), withStudy("S_2", withFileId(file12882))))); }
@Test public void testGetByFileNamesMultiStudiesImplicitAnd() { query = new Query() .append(VariantQueryParam.FILE.key(), file12877 + AND + file12882); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12882") .append(VariantQueryParam.INCLUDE_FILE.key(), asList(file12877 , file12882)), options); assertThat(queryResult, everyResult(allVariants, allOf(withStudy("S_1", withFileId(file12877)), withStudy("S_2", withFileId(file12882))))); }
@Test public void testGetAllVariants_returnedStudies1() { query.append(INCLUDE_STUDY.key(), studyConfiguration1.getStudyId()); queryResult = dbAdaptor.get(query, options); assertEquals(numVariants, queryResult.getNumResults()); assertEquals(numVariants, queryResult.getNumTotalResults()); for (Variant variant : queryResult.getResult()) { for (StudyEntry sourceEntry : variant.getStudies()) { assertEquals(studyConfiguration1.getStudyName(), sourceEntry.getStudyId()); } } }
@Test public void testGetBySampleName() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.SAMPLE.key(), "NA12877"); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf(withFileId(file12877), withSampleData("NA12877", "GT", containsString("1")))))); }
public void testGetBySampleName(String expectedSource, QueryOptions options) throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.SAMPLE.key(), "NA12877"); // queryResult = dbAdaptor.get(query, options); queryResult = variantStorageEngine.get(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), options); assertEquals(expectedSource, queryResult.getSource()); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf(withFileId("1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), withSampleData("NA12877", "GT", containsString("1")))))); }
@Test public void testGetByFileName() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.FILE.key(), file12877); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "all") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", withFileId(file12877)))); }
public void testGetByFileName(String expectedSource, QueryOptions options) throws Exception { query = new Query() // .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"); // queryResult = dbAdaptor.get(query, options); queryResult = variantStorageEngine.get(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "all") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), options); assertEquals(expectedSource, queryResult.getSource()); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", withFileId("1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz")))); }
public void testGetBySampleNameMultiRegion(String expectedSource, QueryOptions options) throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.SAMPLE.key(), "NA12877") .append(VariantQueryParam.REGION.key(), "1:1-12783,M"); // queryResult = dbAdaptor.get(query, options); queryResult = variantStorageEngine.get(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), options); assertEquals(expectedSource, queryResult.getSource()); assertThat(queryResult, everyResult(allVariants, allOf(anyOf(overlaps(new Region("1:1-12783")), overlaps(new Region("M"))), withStudy("S_1", allOf(withFileId("1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), withSampleData("NA12877", "GT", containsString("1"))))))); }
public void testGetByGenotypeMultiRegion(String expectedSource, QueryOptions options) throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.GENOTYPE.key(), "NA12877:1/1") .append(VariantQueryParam.REGION.key(), "1:1-12783,M"); // queryResult = dbAdaptor.get(query, options); queryResult = variantStorageEngine.get(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), options); assertEquals(expectedSource, queryResult.getSource()); assertThat(queryResult, everyResult(allVariants, allOf(anyOf(overlaps(new Region("1:1-12783")), overlaps(new Region("M"))), withStudy("S_1", allOf(withFileId("1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), withSampleData("NA12877", "GT", is("1/1"))))))); }