@Override public int size() { // Note: We should think about caching the size to avoid having to recompute it. int size = 0; for (final IntervalTree<T> tree : mSequenceMap.values()) { size += tree.size(); } return size; } /**
@Override public boolean isEmpty() { for (final IntervalTree<T> tree : mSequenceMap.values()) { if (tree.size() > 0) { return false; } } return true; }
@Override public boolean isEmpty() { for (final IntervalTree<T> tree : mSequenceMap.values()) { if (tree.size() > 0) { return false; } } return true; }
@Override public int size() { // Note: We should think about caching the size to avoid having to recompute it. int size = 0; for (final IntervalTree<T> tree : mSequenceMap.values()) { size += tree.size(); } return size; } /**
public boolean isEmpty() { for (final IntervalTree<T> tree : mSequenceMap.values()) { if (tree.size() > 0) { return false; } } return true; }
public int size() { // Note: We should think about caching the size to avoid having to recompute it. int size = 0; for (final IntervalTree<T> tree : mSequenceMap.values()) { size += tree.size(); } return size; } /**
@Test public void testTotalRevIterator() { int count = 0; Iterator<IntervalTree.Node<String>> iterator = intervalTree.reverseIterator(); Iterable<IntervalTree.Node<String>> iterable = () -> iterator; for (IntervalTree.Node<String> ignored : iterable) { count++; } Assert.assertEquals(count, intervalTree.size()); // foobar1, foobar2, and foobar6 }
@Test public void testRemoveMany() { Iterator<IntervalTree.Node<String>> iterator = intervalTree.reverseIterator(); Iterable<IntervalTree.Node<String>> iterable = () -> iterator; for (IntervalTree.Node<String> node : iterable) { intervalTree.removeNode(node); } Assert.assertEquals(intervalTree.size(), 0); }
private IntervalTree<Annotation> retrieveTranscripts(Genomics genomics, StreamVariantsRequest request) { Stopwatch stopwatch = Stopwatch.createStarted(); IntervalTree<Annotation> transcripts = new IntervalTree<>(); Iterable<Annotation> transcriptIter = Paginator.Annotations.create(genomics, ShardBoundary.Requirement.OVERLAPS).search( new SearchAnnotationsRequest() .setAnnotationSetIds(transcriptSetIds) .setReferenceName(canonicalizeRefName(request.getReferenceName())) .setStart(request.getStart()) .setEnd(request.getEnd())); for (Annotation annotation : transcriptIter) { transcripts.put(annotation.getStart().intValue(), annotation.getEnd().intValue(), annotation); } LOG.info(String.format("read %d transcripts in %s (%.2f / s)", transcripts.size(), stopwatch, (double)transcripts.size() / stopwatch.elapsed(TimeUnit.SECONDS))); return transcripts; }
private IntervalTree<Annotation> retrieveTranscripts(Genomics genomics, StreamVariantsRequest request) { Stopwatch stopwatch = Stopwatch.createStarted(); IntervalTree<Annotation> transcripts = new IntervalTree<>(); Iterable<Annotation> transcriptIter = Paginator.Annotations.create(genomics, ShardBoundary.Requirement.OVERLAPS).search( new SearchAnnotationsRequest() .setAnnotationSetIds(transcriptSetIds) .setReferenceName(canonicalizeRefName(request.getReferenceName())) .setStart(request.getStart()) .setEnd(request.getEnd())); for (Annotation annotation : transcriptIter) { transcripts.put(annotation.getStart().intValue(), annotation.getEnd().intValue(), annotation); } LOG.info(String.format("read %d transcripts in %s (%.2f / s)", transcripts.size(), stopwatch, (double)transcripts.size() / stopwatch.elapsed(TimeUnit.SECONDS))); return transcripts; }