@Test public void testGetByFilterMultiStudy() { query = new Query() .append(VariantQueryParam.FILTER.key(), "LowGQX;LowMQ") .append(VariantQueryParam.FILE.key(), file12877 + VariantQueryUtils.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, with(FILTER, fileEntry -> fileEntry.getAttributes().get(FILTER), allOf(containsString("LowGQX"), containsString("LowMQ"))))), withStudy("S_2", withFileId(file12882, with(FILTER, fileEntry -> fileEntry.getAttributes().get(FILTER), allOf(containsString("LowGQX"), containsString("LowMQ"))))) ))); }
@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 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 testGetBySampleNamesAND() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.SAMPLE.key(), "NA12877;NA12878"); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877 + "," + file12878), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf( withFileId(file12877), withSampleData("NA12877", "GT", containsString("1")), withFileId(file12878), withSampleData("NA12878", "GT", containsString("1")) )))); }
@Test public void testGetByFileNamesMultiStudiesAnd() { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1,S_2") .append(VariantQueryParam.FILE.key(), file12877 + AND + file12882); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1,S_2") .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 testGetByFileNamesAnd() { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.FILE.key(), file12877 + AND + file12878); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), asList(file12877 , file12878)), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf(withFileId(file12877), withFileId(file12878))))); }
@Test public void testGetBySampleNamesOR() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.SAMPLE.key(), "NA12877,NA12878"); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877 + "," + file12878), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", anyOf( allOf(withFileId(file12877), withSampleData("NA12877", "GT", containsString("1"))), allOf(withFileId(file12878), withSampleData("NA12878", "GT", containsString("1"))) )))); }
@Test public void testGetByFileNamesMultiStudiesOr() { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1,S_2") .append(VariantQueryParam.FILE.key(), file12877 + VariantQueryUtils.OR + file12882); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1,S_2") .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 testGetByFileNamesAndNegated() { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.FILE.key(), file12877 + AND + NOT + file12878) .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") // Return file NA12878 to determine which variants must be discarded .append(VariantQueryParam.INCLUDE_FILE.key(), asList(file12877 , file12878)), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf(withFileId(file12877), not(withFileId(file12878)))))); }
public void testGetBySamplesName(String expectedSource, QueryOptions options) throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.SAMPLE.key(), "NA12877;NA12878"); // 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,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz,1K.end.platinum-genomes-vcf-NA12878_S1.genome.vcf.gz"), options); assertEquals(expectedSource, queryResult.getSource()); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf( allOf( withFileId("1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), withSampleData("NA12877", "GT", containsString("1"))), allOf( withFileId("1K.end.platinum-genomes-vcf-NA12878_S1.genome.vcf.gz"), withSampleData("NA12878", "GT", containsString("1"))))))); }
@Test public void testGetByFilterBySample() { 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.SAMPLE.key(), sampleNA12877); queryResult = query(query, options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf( withFileId(file12877, withAttribute(FILTER, allOf(containsString("LowGQX"), containsString("LowMQ")))), withSampleData(sampleNA12877, "GT", containsString("1")) )))); }
@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 testGetByFileNamesOr() { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") // .append(VariantQueryParam.SAMPLE.key(), sampleNA12877) .append(VariantQueryParam.FILE.key(), file12877 + VariantQueryUtils.OR + file12878); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877+","+file12878), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", anyOf(withFileId(file12877), withFileId(file12878))))); }
@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")))))); }
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")))); }
@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 testGetByGenotypesWithRef(String expectedSource, QueryOptions options) throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.GENOTYPE.key(), "NA12877:0/1;NA12878:0/0") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877,NA12878") .append(VariantQueryParam.UNKNOWN_GENOTYPE.key(), "0/0"); // 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,NA12878") .append(VariantQueryParam.INCLUDE_FILE.key(), "1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz,1K.end.platinum-genomes-vcf-NA12878_S1.genome.vcf.gz") .append(VariantQueryParam.UNKNOWN_GENOTYPE.key(), "0/0"), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", allOf( allOf( withFileId("1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"), withSampleData("NA12877", "GT", containsString("0/1"))), withSampleData("NA12878", "GT", containsString("0/0")))))); assertEquals(expectedSource, queryResult.getSource()); }
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"))))))); }