code: def _needs_region_update(out_file, samples):
      
      nblock_files = [x["regions"]["nblock"] for x in samples if "regions" in x]
      # For older approaches and do not create a new set of analysis
      # regions, since the new algorithm will re-do all BAM and variant
      # steps with new regions
      for nblock_file in nblock_files:
          test_old = nblock_file.replace("-nblocks", "-analysisblocks")
          if os.path.exists(test_old):
              return False
      # Check if any of the local files have changed so we need to refresh
      for noblock_file in nblock_files:
          if not utils.file_uptodate(out_file, noblock_file):
              return True
      return False
docs: Check if we need to update BED file of regions, supporting back compatibility.