class_docstr: Fast overlap detection of a genomic position against a database of Ranges.
  
  Enables O(log n) computation of whether a point chr:pos falls within one of a
  large number of genomic ranges.
  
  This class does not supports overlapping or adjacent intervals. Any such
  intervals will be automatically merged together in the constructor.
  
  This class is immutable. No methods should be added that directly modify the
  ranges held by the class.
class_docstr_tok: ["Fast","overlap","detection","of","a","genomic","position","against","a","database","of","Ranges",".","Enables","O","(","log","n",")","computation","of","whether","a","point","chr",":","pos","falls","within","one","of","a","large","number","of","genomic","ranges",".","This","class","does","not","supports","overlapping","or","adjacent","intervals",".","Any","such","intervals","will","be","automatically","merged","together","in","the","constructor",".","This","class","is","immutable",".","No","methods","should","be","added","that","directly","modify","the","ranges","held","by","the","class","."]
docstr: Iterate over the ranges in this RangeSet.
  
  Yields:
    Each range of this RangeSet, in sorted order (by chromosome, then start
    end positions). Relative ordering of chromosomes is defined by the
    contig.pos_in_fasta integer key for the associated contig. These objects
    are new range protos so can be freely modified.
docstr_tok: ["Iterate","over","the","ranges","in","this","RangeSet",".","Yields",":","Each","range","of","this","RangeSet",",","in","sorted","order","(","by","chromosome",",","then","start","end","positions",")",".","Relative","ordering","of","chromosomes","is","defined","by","the","contig.pos_in_fasta","integer","key","for","the","associated","contig",".","These","objects","are","new","range","protos","so","can","be","freely","modified","."]
code: def __iter__(self):
      """Iterate over the ranges in this RangeSet.
  
      Yields:
        Each range of this RangeSet, in sorted order (by chromosome, then start
        end positions). Relative ordering of chromosomes is defined by the
        contig.pos_in_fasta integer key for the associated contig. These objects
        are new range protos so can be freely modified.
      """
      for refname in sorted(
          six.iterkeys(self._by_chr), key=self._contig_sort_key_fn
      ):
          for start, end, _ in sorted(self._by_chr[refname]):
              yield make_range(refname, start, end)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import re
  from typing import Dict, Iterable, Optional, Sequence
  from absl import logging
  from etils import epath
  import intervaltree
  import six
  from third_party.nucleus.io import bed
  from third_party.nucleus.protos import position_pb2
  from third_party.nucleus.protos import range_pb2
  from third_party.nucleus.protos import reference_pb2
  from third_party.nucleus.protos import variants_pb2
label_desc: Use image node_id 2 for calling the RangeSet obj's underlying member method code with example usage: obj.__iter__() without return types