docs: def make_parent_bands(self, band, child_bands):
          """
          this will determine the grouping bands that it belongs to, recursively
          13q21.31 ==>  13, 13q, 13q2, 13q21, 13q21.3, 13q21.31
  
          :param band:
          :param child_bands:
          :return:
  
          """
          m = re.match(r'([pq][A-H\d]+(?:\.\d+)?)', band)
          if len(band) > 0:
              if m:
                  p = str(band[0:len(band)-1])
                  p = re.sub(r'\.$', '', p)
                  if p is not None:
                      child_bands.add(p)
                      self.make_parent_bands(p, child_bands)
          else:
              child_bands = set()
          return child_bands