org.opencb.opencga.storage.core.variant.adaptors.VariantQueryUtils.mergeRegions()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(3.4k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中org.opencb.opencga.storage.core.variant.adaptors.VariantQueryUtils.mergeRegions()方法的一些代码示例,展示了VariantQueryUtils.mergeRegions()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。VariantQueryUtils.mergeRegions()方法的具体详情如下:
包路径:org.opencb.opencga.storage.core.variant.adaptors.VariantQueryUtils
类名称:VariantQueryUtils
方法名:mergeRegions

VariantQueryUtils.mergeRegions介绍

暂无

代码示例

代码示例来源:origin: opencb/opencga

public static void convertGenesToRegionsQuery(Query query, CellBaseUtils cellBaseUtils) {
  VariantQueryXref variantQueryXref = VariantQueryUtils.parseXrefs(query);
  List<String> genes = variantQueryXref.getGenes();
  if (!genes.isEmpty()) {
    List<Region> regions = cellBaseUtils.getGeneRegion(genes);
    regions = mergeRegions(regions);
    query.put(ANNOT_GENE_REGIONS.key(), regions);
  }
}

代码示例来源:origin: opencb/opencga

public SingleSampleIndexVariantDBIterator(Table table, List<Region> regions, Integer studyId, String sample, List<String> gts,
                  SampleIndexDBAdaptor dbAdaptor) {
  if (CollectionUtils.isEmpty(regions)) {
    // If no regions are defined, get a list of one null element to initialize the stream.
    regions = Collections.singletonList(null);
  } else {
    regions = VariantQueryUtils.mergeRegions(regions);
  }
  Iterator<Iterator<Variant>> iterators = regions.stream()
      .map(region -> {
        // One scan per region
        Scan scan = dbAdaptor.parse(region, studyId, sample, gts, false);
        SampleIndexConverter converter = new SampleIndexConverter(region);
        try {
          ResultScanner scanner = table.getScanner(scan);
          addCloseable(scanner);
          Iterator<Result> resultIterator = scanner.iterator();
          Iterator<Iterator<Variant>> transform = Iterators.transform(resultIterator,
              result -> converter.convert(result).iterator());
          return Iterators.concat(transform);
        } catch (IOException e) {
          throw VariantQueryException.internalException(e);
        }
      }).iterator();
  iterator = Iterators.concat(iterators);
}

代码示例来源:origin: opencb/opencga

private List<Region> getRegions(Query query) {
  List<Region> regions = new ArrayList<>();
  if (isValidParam(query, REGION)) {
    regions.addAll(Region.parseRegions(query.getString(REGION.key())));
  }
  if (isValidParam(query, ANNOT_GENE_REGIONS)) {
    regions.addAll(Region.parseRegions(query.getString(ANNOT_GENE_REGIONS.key())));
  }
  regions = mergeRegions(regions);
  return regions;
}

代码示例来源:origin: opencb/opencga

@Test
  public void mergeRegionsTest() throws Exception {
    assertEquals(Arrays.asList(new Region("1", 100, 400)), mergeRegions(Arrays.asList(new Region("1", 100, 200), new Region("1", 200, 400))));
    assertEquals(Arrays.asList(new Region("1", 100, 200), new Region("1", 201, 400)), mergeRegions(Arrays.asList(new Region("1", 100, 200), new Region("1", 201, 400))));
    assertEquals(Arrays.asList(new Region("1", 100, 200), new Region("2", 200, 400)), mergeRegions(Arrays.asList(new Region("1", 100, 200), new Region("2", 200, 400))));
    assertEquals(Arrays.asList(new Region("1", 100, 400), new Region("2", 100, 200)), mergeRegions(Arrays.asList(new Region("1", 100, 200), new Region("2", 100, 200), new Region("1", 200, 400))));

  }
}

代码示例来源:origin: opencb/opencga

regions = mergeRegions(regions);

代码示例来源:origin: opencb/opencga

List<Variant> variants = xrefs.getVariants();
regions = mergeRegions(regions);
if (!regions.isEmpty()) {
  for (Iterator<Variant> iterator = variants.iterator(); iterator.hasNext();) {

代码示例来源:origin: opencb/opencga

regionsList = VariantQueryUtils.mergeRegions(regions);

相关文章

微信公众号

最新文章

更多