code: def _mk_cache_fn(vcf_fn, array_type, region=None, cachedir=None,
                   compress=False):
      
  
      # ensure cache dir exists
      if cachedir is None:
          # use the VCF file name as the base for a directory name
          cachedir = vcf_fn + config.CACHEDIR_SUFFIX
      if not os.path.exists(cachedir):
          # ensure cache dir exists
          os.makedirs(cachedir)
      else:
          assert os.path.isdir(cachedir), \
              'unexpected error, cache directory is not a directory: %r' \
              % cachedir
  
      # handle compression
      if compress:
          suffix = 'npz'
      else:
          suffix = 'npy'
  
      # handle region
      if region is None:
          # loading the whole genome (i.e., all variants)
          cache_fn = os.path.join(cachedir, '%s.%s' % (array_type, suffix))
      else:
          # loading a specific region
          region = region.replace(':', '__').replace('-', '_')
          cache_fn = os.path.join(cachedir, '%s.%s.%s' % (array_type, region,
                                                          suffix))
      return cache_fn
docs: Utility function to construct a filename for a cache file, given a VCF
      file name (where the original data came from) and other parameters.