本文整理了Java中org.opencb.opencga.core.results.VariantQueryResult.getResult()
方法的一些代码示例,展示了VariantQueryResult.getResult()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。VariantQueryResult.getResult()
方法的具体详情如下:
包路径:org.opencb.opencga.core.results.VariantQueryResult
类名称:VariantQueryResult
方法名:getResult
暂无
代码示例来源:origin: opencb/opencga
@Override
public Long count(Query query) {
return (long) query(query, null).getResult().size();
}
代码示例来源:origin: opencb/opencga
void processDeNovo(ClinicalAnalysis clinicalAnalysis, Pedigree pedigree, Phenotype phenotype, Query query, Map<String, ReportedVariant> reportedVariantMap, Panel diseasePanel) throws CatalogException, StorageEngineException, IOException {
VariantQueryResult<Variant> variantQueryResult;
Map<String, List<String>> probandGenotype = new HashMap<>();
probandGenotype.put(clinicalAnalysis.getProband().getId(),
Arrays.asList(ModeOfInheritance.toGenotypeString(ModeOfInheritance.GENOTYPE_0_0)));
putGenotypesNegated(probandGenotype, query);
variantQueryResult = variantStorageManager.get(query, QueryOptions.empty(), token);
List<Variant> deNovoVariantList = ModeOfInheritance.deNovoVariants(pedigree.getProband(),
variantQueryResult.getResult().iterator());
// TODO: We need to create another ReportedModeOfInheritance for de novo!!??
generateReportedVariants(deNovoVariantList, phenotype, diseasePanel, ClinicalProperty.ModeOfInheritance.DE_NOVO,
reportedVariantMap);
}
代码示例来源:origin: opencb/opencga
@Test
public void testGetSummary() throws Exception {
VariantQueryResult<Variant> result = variantStorageEngine.get(new Query(),
new QueryOptions(VariantField.SUMMARY, true)
.append(QueryOptions.LIMIT, 2000));
assertEquals(allVariants.getResult().size(), result.getResult().size());
}
代码示例来源:origin: opencb/opencga
protected Iterator<String> variantIdIteratorFromSearch(Query query, int limit, int skip, AtomicLong numTotalResults)
throws StorageEngineException {
Iterator<String> variantsIterator;
QueryOptions queryOptions = new QueryOptions()
.append(QueryOptions.LIMIT, limit)
.append(QueryOptions.SKIP, skip)
.append(QueryOptions.INCLUDE, VariantField.ID.fieldName());
try {
// Do not iterate for small queries
if (limit < 10000) {
VariantQueryResult<VariantSearchModel> nativeResult = getVariantSearchManager().nativeQuery(dbName, query, queryOptions);
if (numTotalResults != null) {
numTotalResults.set(nativeResult.getNumTotalResults());
}
variantsIterator = nativeResult.getResult()
.stream()
.map(VariantSearchModel::getId)
.iterator();
} else {
VariantSearchSolrIterator nativeIterator = getVariantSearchManager().nativeIterator(dbName, query, queryOptions);
if (numTotalResults != null) {
numTotalResults.set(nativeIterator.getNumFound());
}
variantsIterator = Iterators.transform(nativeIterator, VariantSearchModel::getId);
}
} catch (VariantSearchException | IOException e) {
throw new VariantQueryException("Error querying " + VariantSearchManager.SEARCH_ENGINE_ID, e);
}
return variantsIterator;
}
代码示例来源:origin: opencb/opencga
void processCompoundHeterozygous(ClinicalAnalysis clinicalAnalysis, Pedigree pedigree, Phenotype phenotype, Query query, Map<String, ReportedVariant> reportedVariantMap, Panel diseasePanel) throws Exception {
VariantQueryResult<Variant> variantQueryResult;
Map<String, List<String>> probandGenotype;
// Calculate compound heterozygous
probandGenotype = new HashMap<>();
probandGenotype.put(clinicalAnalysis.getProband().getId(),
Arrays.asList(ModeOfInheritance.toGenotypeString(ModeOfInheritance.GENOTYPE_0_1)));
putGenotypes(probandGenotype, query);
for (GenePanel gene : diseasePanel.getDiseasePanel().getGenes()) {
query.put(VariantQueryParam.ANNOT_XREF.key(), gene);
variantQueryResult = variantStorageManager.get(query, QueryOptions.empty(), token);
List<Variant> compoundHetVariantList = ModeOfInheritance.compoundHeterozygosity(pedigree,
variantQueryResult.getResult().iterator());
// TODO: We need to create another ReportedModeOfInheritance for compound heterozygous!!??
generateReportedVariants(compoundHetVariantList, phenotype, diseasePanel,
ClinicalProperty.ModeOfInheritance.COMPOUND_HETEROZYGOUS, reportedVariantMap);
}
}
代码示例来源:origin: opencb/opencga
public void checkVariantSearchIndex(VariantDBAdaptor dbAdaptor) throws IOException, VariantSearchException, StorageEngineException {
QueryOptions queryOptions = new QueryOptions(QueryOptions.LIMIT, 1000);
Query query = new Query();
TreeSet<Variant> variantsFromSearch = new TreeSet<>(Comparator.comparing(Variant::toString));
TreeSet<Variant> variantsFromDB = new TreeSet<>(Comparator.comparing(Variant::toString));
variantsFromSearch.addAll(variantStorageEngine.getVariantSearchManager().query(DB_NAME, query, queryOptions).getResult());
variantsFromDB.addAll(dbAdaptor.get(query, queryOptions).getResult());
assertEquals(variantsFromDB.size(), variantsFromSearch.size());
assertEquals(variantsFromDB.size(), variantStorageEngine.getVariantSearchManager().count(DB_NAME, query));
Iterator<Variant> variantsFromSearchIterator = variantsFromSearch.iterator();
Iterator<Variant> variantsFromDBIterator = variantsFromDB.iterator();
for (int i = 0; i < variantsFromDB.size(); i++) {
Variant variantFromDB = variantsFromSearchIterator.next();
Set<String> studiesFromDB = variantFromDB.getStudies().stream().map(StudyEntry::getStudyId).collect(Collectors.toSet());
Variant variantFromSearch = variantsFromDBIterator.next();
Set<String> studiesFromSearch = variantFromSearch.getStudies().stream().map(StudyEntry::getStudyId).collect(Collectors.toSet());
assertEquals(variantFromDB.toString(), variantFromSearch.toString());
assertEquals(variantFromDB.toString(), studiesFromDB, studiesFromSearch);
}
}
代码示例来源:origin: opencb/opencga
@Test
public void testQueryWithIds() throws Exception {
List<String> variantIds = allVariants.getResult().stream()
.filter(v -> EnumSet.of(VariantType.SNV, VariantType.SNP).contains(v.getType()))
.map(Variant::toString)
.limit(400)
.collect(Collectors.toList());
Query query = new Query(SAMPLE.key(), "NA19660")
.append(ANNOT_CONSERVATION.key(), "gerp>0.2")
.append(ID.key(), variantIds);
QueryOptions options = new QueryOptions(USE_SEARCH_INDEX, VariantStorageEngine.UseSearchIndex.YES);
skipLimit(query, options, 50, true);
}
代码示例来源:origin: opencb/opencga
@Test
public void testGetAllVariants_variantId() {
int i = 0;
List<Variant> variants = new ArrayList<>();
for (Variant variant : allVariants.getResult()) {
if (i++ % 10 == 0) {
if (!variant.isSymbolic()) {
variants.add(variant);
}
}
}
List<Variant> result = query(new Query(ID.key(), variants), new QueryOptions()).getResult();
assertTrue(variants.size() > 0);
List<String> expectedList = variants.stream().map(Object::toString).sorted().collect(Collectors.toList());
List<String> actualList = result.stream().map(Object::toString).sorted().collect(Collectors.toList());
for (String expected : expectedList) {
if (!actualList.contains(expected)) {
System.out.println("missing expected = " + expected);
}
}
for (String actual : actualList) {
if (!expectedList.contains(actual)) {
System.out.println("extra actual = " + actual);
}
}
assertEquals(expectedList, actualList);
}
代码示例来源:origin: opencb/opencga
@Test
public void testRelease() throws Exception {
List<Variant> variants = query(new Query(), new QueryOptions()).getResult();
for (Variant variant : variants) {
Integer minFileId = variant.getStudies().stream()
.flatMap(s -> s.getFiles().stream())
.map(FileEntry::getFileId)
.map(s -> s.substring(30, 35))
.map(Integer::valueOf)
.min(Integer::compareTo)
.orElse(0);
assertTrue(minFileId > 0);
int expectedRelease = (minFileId - 12877/*first file loaded*/) / 2/*each release contains 2 files*/ + 1/*base-1*/;
int release = Integer.valueOf(variant.getAnnotation().getAdditionalAttributes().get("opencga").getAttribute().get("release"));
assertEquals(expectedRelease, release);
}
}
代码示例来源:origin: opencb/opencga
private void skipLimit(Query query, QueryOptions options, int batchSize, boolean serverSideSkip) throws StorageEngineException, SolrServerException, IOException {
Set<String> expectedResults = dbAdaptor.get(query, null).getResult().stream().map(Variant::toString).collect(Collectors.toSet());
Set<String> results = new HashSet<>();
int numQueries = (int) Math.ceil(expectedResults.size() / (float) batchSize);
for (int i = 0; i < numQueries; i++) {
QueryOptions thisOptions = new QueryOptions(options)
.append(QueryOptions.SKIP, i * batchSize)
.append(QueryOptions.LIMIT, batchSize);
VariantQueryResult<Variant> result = variantStorageEngine.get(query, thisOptions);
for (Variant variant : result.getResult()) {
assertTrue(results.add(variant.toString()));
}
assertNotEquals(0, result.getNumResults());
}
assertEquals(expectedResults, results);
if (serverSideSkip) {
long count = mockingDetails(solrClient).getInvocations()
.stream()
.filter(invocation -> invocation.getMethod().getName().equals("query"))
.count();
System.out.println(SolrClient.class.getName() + ".query(...) invocations : " + count);
verify(solrClient, atLeast(numQueries)).query(anyString(), any());
} else {
verify(solrClient, times(numQueries)).query(anyString(), any());
}
}
代码示例来源:origin: opencb/opencga
private void generateReportedVariants(VariantQueryResult<Variant> variantQueryResult, Phenotype phenotype, Panel diseasePanel,
ClinicalProperty.ModeOfInheritance moi, Penetrance penetrance,
Map<String, ReportedVariant> reportedVariantMap) {
for (Variant variant: variantQueryResult.getResult()) {
if (!reportedVariantMap.containsKey(variant.getId())) {
reportedVariantMap.put(variant.getId(), new ReportedVariant(variant.getImpl(), 0, new ArrayList<>(),
Collections.emptyList(), Collections.emptyMap()));
}
ReportedVariant reportedVariant = reportedVariantMap.get(variant.getId());
// Sanity check
if (variant.getAnnotation() != null && ListUtils.isNotEmpty(variant.getAnnotation().getConsequenceTypes())) {
for (ConsequenceType ct: variant.getAnnotation().getConsequenceTypes()) {
// Create the reported event
ReportedEvent reportedEvent = new ReportedEvent()
.setId("JT-PF-" + reportedVariant.getReportedEvents().size())
.setPhenotypes(Collections.singletonList(phenotype))
.setConsequenceTypeIds(Collections.singletonList(ct.getBiotype()))
.setGenomicFeature(new GenomicFeature(ct.getEnsemblGeneId(), ct.getEnsemblTranscriptId(), ct.getGeneName(),
null, null))
.setModeOfInheritance(moi)
.setPanelId(diseasePanel.getDiseasePanel().getId())
.setPenetrance(penetrance);
// TODO: add additional reported event fields
// Add reported event to the reported variant
reportedVariant.getReportedEvents().add(reportedEvent);
}
}
}
}
代码示例来源:origin: opencb/opencga
public void limitSkip(Query query, QueryOptions options) {
VariantQueryResult<Variant> expected = query(query, options);
int numVariants = expected.getNumResults();
// expected.getResult().forEach(v -> logger.info("expected variant: == " + v));
for (int batchSize : new int[]{50, 100, 1000}) {
List<Variant> variants = new ArrayList<>();
Set<String> variantStr = new HashSet<>();
for (int i = 0; i < numVariants / batchSize + 1; i++) {
QueryResult<Variant> result = query(query, new QueryOptions(options)
.append(QueryOptions.LIMIT, batchSize)
.append(QueryOptions.SKIP, i * batchSize));
logger.info("Got " + result.getNumResults() + " results");
variants.addAll(result.getResult());
for (Variant variant : result.getResult()) {
boolean repeated = !variantStr.add(variant.toString());
assertFalse("Repeated variant! : " + variant.toString(), repeated);
}
}
assertEquals(numVariants, variants.size());
assertEquals(numVariants, variantStr.size());
assertEquals(expected.getResult().stream().map(Object::toString).collect(Collectors.toSet()), variantStr);
}
}
代码示例来源:origin: opencb/opencga
@Test
public void testGetVariantsByType() {
Set<Variant> snv = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), VariantType.SNV), new QueryOptions()).getResult());
System.out.println("SNV = " + snv.size());
snv.forEach(variant -> assertThat(EnumSet.of(VariantType.SNV, VariantType.SNP), hasItem(variant.getType())));
Set<Variant> not_snv = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), "!" + VariantType.SNV), new QueryOptions()).getResult());
System.out.println("!SNV = " + not_snv.size());
not_snv.forEach(variant -> assertFalse(EnumSet.of(VariantType.SNV, VariantType.SNP).contains(variant.getType())));
Set<Variant> snv_snp = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), VariantType.SNV + "," + VariantContext.Type.SNP), new QueryOptions()).getResult());
System.out.println("SNV_SNP = " + snv_snp.size());
assertEquals(snv_snp, snv);
Set<Variant> snp = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), VariantType.SNP), new QueryOptions()).getResult());
snp.forEach(variant -> assertEquals(VariantType.SNP, variant.getType()));
snp.forEach(variant -> assertThat(snv, hasItem(variant)));
System.out.println("SNP = " + snp.size());
Set<Variant> indels = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), VariantType.INDEL), new QueryOptions()).getResult());
indels.forEach(variant -> assertEquals(VariantType.INDEL, variant.getType()));
System.out.println("INDEL = " + indels.size());
Set<Variant> indels_snp = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), VariantType.INDEL + "," + VariantType.SNP), new QueryOptions()).getResult());
indels_snp.forEach(variant -> assertThat(EnumSet.of(VariantType.INDEL, VariantType.SNP), hasItem(variant.getType())));
indels_snp.forEach(variant -> assertTrue(indels.contains(variant) || snp.contains(variant)));
System.out.println("INDEL_SNP = " + indels_snp.size());
Set<Variant> indels_snv = new HashSet<>(query(new Query(VariantQueryParam.TYPE.key(), VariantType.INDEL + "," + VariantType.SNV), new QueryOptions()).getResult());
indels_snv.forEach(variant -> assertThat(EnumSet.of(VariantType.INDEL, VariantType.SNP, VariantType.SNV), hasItem(variant.getType())));
indels_snv.forEach(variant -> assertTrue(indels.contains(variant) || snv.contains(variant)));
System.out.println("INDEL_SNV = " + indels_snv.size());
}
代码示例来源:origin: opencb/opencga
allVariants = dbAdaptor.get(query, QUERY_OPTIONS).getResult();
assertEquals(2, allVariants.size());
allVariants = dbAdaptor.get(query, QUERY_OPTIONS).getResult();
assertEquals(4, allVariants.size());
allVariants = dbAdaptor.get(query, QUERY_OPTIONS).getResult();
assertEquals(5, allVariants.size());
allVariants = dbAdaptor.get(query, QUERY_OPTIONS).getResult();
checkLoadedVariants(allVariants, mapFileIds.get(chr));
代码示例来源:origin: opencb/opencga
@SuppressWarnings("unchecked")
public <T> VariantQueryResult<T> get(Query query, QueryOptions queryOptions, String sessionId, Class<T> clazz)
throws CatalogException, IOException, StorageEngineException {
VariantQueryResult<Variant> result = get(query, queryOptions, sessionId);
List<T> variants;
if (clazz == Variant.class) {
return (VariantQueryResult<T>) result;
} else if (clazz == org.ga4gh.models.Variant.class) {
Ga4ghVariantConverter<org.ga4gh.models.Variant> converter = new Ga4ghVariantConverter<>(new AvroGa4GhVariantFactory());
variants = (List<T>) converter.apply(result.getResult());
} else if (clazz == ga4gh.Variants.Variant.class) {
Ga4ghVariantConverter<ga4gh.Variants.Variant> converter = new Ga4ghVariantConverter<>(new ProtoGa4GhVariantFactory());
variants = (List<T>) converter.apply(result.getResult());
} else {
throw new IllegalArgumentException("Unknown variant format " + clazz);
}
return new VariantQueryResult<>(
result.getId(),
result.getDbTime(),
result.getNumResults(),
result.getNumTotalResults(),
result.getWarningMsg(),
result.getErrorMsg(),
variants,
result.getSamples(),
result.getSource(),
result.getApproximateCount(),
result.getApproximateCountSamplingSize());
}
代码示例来源:origin: opencb/opencga
private static void printVcf(StudyConfiguration studyConfiguration, VariantHadoopDBAdaptor dbAdaptor, Path outDir) throws IOException {
try (OutputStream os = new FileOutputStream(outDir.resolve("variant." + studyConfiguration.getStudyName() + ".vcf").toFile())) {
Query query = new Query(VariantQueryParam.STUDY.key(), studyConfiguration.getStudyName()).append(VariantQueryParam.UNKNOWN_GENOTYPE.key(), ".");
QueryOptions queryOptions = new QueryOptions();
DataWriter<Variant> writer = new VariantWriterFactory(dbAdaptor).newDataWriter(VariantWriterFactory.VariantOutputFormat.VCF, os, query, queryOptions);
writer.open();
writer.pre();
writer.write(dbAdaptor.get(query, queryOptions).getResult());
writer.post();
writer.close();
}
}
代码示例来源:origin: opencb/opencga
@Test
public void testInsertMultiFilesMultiMerge() throws StorageEngineException {
List<Variant> allVariants;
studyConfiguration.getAttributes().put(VariantStorageEngine.Options.EXTRA_GENOTYPE_FIELDS.key(), Arrays.asList("GQX", "DP"));
studyConfiguration.getAttributes().put(VariantStorageEngine.Options.EXTRA_GENOTYPE_FIELDS_TYPE.key(), Arrays.asList("Float", "Integer"));
studyConfiguration2.getAttributes().put(VariantStorageEngine.Options.EXTRA_GENOTYPE_FIELDS.key(), Arrays.asList("DP", "GQX"));
studyConfiguration2.getAttributes().put(VariantStorageEngine.Options.EXTRA_GENOTYPE_FIELDS_TYPE.key(), Arrays.asList("Integer", "Float"));
assertEqualsResult(new MongoDBVariantWriteResult(3, 0, 0, 0, 0, 0), loadFile1());
allVariants = dbAdaptor.get(query, QUERY_OPTIONS).getResult();
assertEquals(3, allVariants.size());
MongoDBVariantWriteResult writeResult = new MongoDBVariantWriteResult();
writeResult.merge(stageVariants(studyConfiguration2, createFile2Variants(), fileId2));
writeResult.merge(stageVariants(studyConfiguration2, createFile3Variants(), fileId3));
writeResult = mergeVariants(studyConfiguration2, Arrays.asList(fileId2, fileId3), writeResult, Collections.emptyList());
assertEqualsResult(new MongoDBVariantWriteResult(2, 2, 0, 0, 0, 0), writeResult);
allVariants = dbAdaptor.get(query, QUERY_OPTIONS).getResult();
assertEquals(5, allVariants.size());
checkLoadedVariants(allVariants);
}
代码示例来源:origin: opencb/opencga
@Test
public void testIncludeFiles() throws Exception {
query = new Query()
.append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1")
.append(VariantQueryParam.INCLUDE_FILE.key(), file12877);
queryResult = query(query, options);
assertEquals(dbAdaptor.count(null).first().intValue(), queryResult.getNumResults());
for (Variant variant : queryResult.getResult()) {
assertTrue(variant.getStudies().size() <= 1);
StudyEntry s_1 = variant.getStudy("S_1");
if (s_1 != null) {
assertTrue(s_1.getFiles().size() <= 1);
if (s_1.getFiles().size() == 1) {
assertNotNull(s_1.getFile(file12877));
}
}
assertTrue(variant.getStudies().size() <= 1);
}
assertThat(queryResult, everyResult(allOf(not(withStudy("S_2")), not(withStudy("S_3")), not(withStudy("S_4")))));
}
代码示例来源:origin: opencb/opencga
@Test
public void testExcludeAnnotationParts() {
List<Variant> allVariants = query(new Query(), new QueryOptions(QueryOptions.SORT, true)).getResult();
queryResult = query(new Query(), new QueryOptions(QueryOptions.SORT, true).append(QueryOptions.EXCLUDE, VariantField.ANNOTATION_XREFS));
assertEquals(allVariants.size(), queryResult.getResult().size());
List<Variant> result = queryResult.getResult();
for (int i = 0; i < result.size(); i++) {
Variant expectedVariant = allVariants.get(i);
Variant variant = result.get(i);
assertEquals(expectedVariant.toString(), variant.toString());
assertNotNull(expectedVariant.getAnnotation());
assertNotNull(variant.getAnnotation());
VariantAnnotation expectedAnnotation = expectedVariant.getAnnotation();
VariantAnnotation annotation = variant.getAnnotation();
expectedAnnotation.setXrefs(null);
expectedAnnotation.setId(null);
assertEquals("\n" + expectedAnnotation + "\n" + annotation, expectedAnnotation, annotation);
}
}
代码示例来源:origin: opencb/opencga
private void checkQueryGenotypes(VariantHadoopDBAdaptor dbAdaptor) {
StudyConfiguration sc = dbAdaptor.getStudyConfigurationManager().getStudyConfiguration(STUDY_ID, null).first();
List<Variant> allVariants = dbAdaptor.get(new Query(), new QueryOptions()).getResult();
for (String sample : StudyConfiguration.getIndexedSamples(sc).keySet()) {
VariantQueryResult<Variant> queryResult = dbAdaptor.get(new Query(VariantQueryParam.SAMPLE.key(), sample)
.append(VariantQueryParam.INCLUDE_SAMPLE.key(), VariantQueryUtils.ALL)
.append(VariantQueryParam.INCLUDE_FILE.key(), VariantQueryUtils.ALL), new QueryOptions("explain", true));
assertThat(queryResult, everyResult(allVariants,
withStudy(STUDY_NAME,
withSampleData(sample, "GT", containsString("1")))));
}
}
内容来源于网络,如有侵权,请联系作者删除!