docs: def getChrPartTypeByNotation(notation, graph=None):
      """
      This method will figure out the kind of feature that a given band
      is based on pattern matching to standard karyotype notation.
      (e.g. 13q22.2 ==> chromosome sub-band)
  
      This has been validated against human, mouse, fish, and rat nomenclature.
      :param notation: the band (without the chromosome prefix)
      :return:
  
      """
  
      # Note that for mouse,
      # they don't usually include the "q" in their notation,
      # though UCSC does. We may need to adjust for that here
  
      if re.match(r'p$', notation):
          rti = graph.globaltt['short_chromosome_arm']
      elif re.match(r'q$', notation):
          rti = graph.globaltt['long_chromosome_arm']
      elif re.match(r'[pq][A-H\d]$', notation):
          rti = graph.globaltt['chromosome_region']
      elif re.match(r'[pq][A-H\d]\d', notation):
          rti = graph.globaltt['chromosome_band']
      elif re.match(r'[pq][A-H\d]\d\.\d+', notation):
          rti = graph.globaltt['chromosome_subband']
      else:
          rti = graph.globaltt['chromosome_part']
  
      return rti